From d1ca7dcff67141dd9e9ac449f91d563ff8280117 Mon Sep 17 00:00:00 2001 From: Visier-Build-Team Date: Tue, 30 Jul 2024 23:27:17 +0000 Subject: [PATCH] Autogenerated Python SDK --- .../.github/workflows/python.yml | 38 + src/visier.sdk.api.administration/.gitignore | 66 + .../.gitlab-ci.yml | 31 + .../.openapi-generator-ignore | 23 + .../.openapi-generator/FILES | 569 ++ .../.openapi-generator/VERSION | 1 + src/visier.sdk.api.administration/.travis.yml | 17 + src/visier.sdk.api.administration/README.md | 362 + ...ssibleTenantProfileAssignmentRequestDTO.md | 32 + ...sibleTenantProfileAssignmentResponseDTO.md | 33 + ...AccessibleTenantProfileRevokeRequestDTO.md | 30 + ...ccessibleTenantProfileRevokeResponseDTO.md | 32 + .../docs/AdditionalCapabilitiesDTO.md | 29 + .../docs/AdminCapabilityConfigDTO.md | 30 + ...AllPermissionsAssignedForLocalTenantDTO.md | 29 + ...llProfileAssignedForAccessibleTenantDTO.md | 29 + .../AllProfileAssignedForLocalTenantDTO.md | 29 + .../docs/AllTenantsStatusAPIDTO.md | 31 + .../AllUserGroupsAssignedForLocalTenantDTO.md | 29 + .../docs/AllUsersGetAPIResponseDTO.md | 31 + .../docs/AnalyticObjectDTO.md | 34 + .../AssignRevokePermissionByPermissionDTO.md | 31 + .../docs/AssignRevokePermissionByTenantDTO.md | 34 + .../docs/AssignRevokePermissionByUserDTO.md | 32 + .../docs/AssignRevokePermissionRequestDTO.md | 31 + .../docs/AssignRevokePermissionsRequestDTO.md | 31 + .../AssignRevokePermissionsResponseDTO.md | 30 + .../docs/BulkDataAccessSetResponseDTO.md | 30 + .../docs/BusinessLocationDTO.md | 31 + .../docs/CapabilitiesDTO.md | 31 + .../docs/CapabilityDTO.md | 31 + .../CommitAndPublishOperationResponseDTO.md | 29 + .../docs/CommitDTO.md | 31 + ...idatedAnalyticsAPIExcludedSourceListDTO.md | 29 + ...olidatedAnalyticsAPISourceTenantListDTO.md | 29 + ...datedAnalyticsAPITenantCreateRequestDTO.md | 29 + ...idatedAnalyticsAPITenantListResponseDTO.md | 29 + ...nsolidatedAnalyticsAPITenantWithDetails.md | 31 + ...ticsAPITenantWithDetailsListResponseDTO.md | 29 + .../docs/ConsolidatedAnalyticsApi.md | 810 ++ .../docs/ContentPackageDTO.md | 31 + .../docs/CreateDataAccessSetRequestDTO.md | 29 + .../docs/CustomPropertyDTO.md | 30 + .../docs/CustomTenantPropertyDTO.md | 30 + .../docs/DataAccessSetDTO.md | 33 + .../docs/DataAccessSetErrorDTO.md | 30 + .../docs/DataAccessSetFailureDTO.md | 31 + .../docs/DataAccessSetSuccessDTO.md | 30 + .../docs/DataSecurityProfileDTO.md | 34 + .../docs/DeletePermissionsRequestDTO.md | 29 + .../docs/DeleteUserGroupV2Request.md | 29 + .../docs/DimensionFilterDTO.md | 30 + .../docs/DynamicDimensionFilterDTO.md | 32 + .../docs/DynamicPropertyMappingDTO.md | 31 + .../docs/ElementIDsDTO.md | 29 + .../docs/ErrorDTO.md | 31 + .../docs/ExcludedSourcesBody.md | 29 + ...uctionVersionsAPIOperationParametersDTO.md | 31 + ...ledAccessibleTenantProfileAssignmentDTO.md | 32 + .../FailedLocalTenantProfileAssignmentDTO.md | 30 + .../docs/FailedLocalTenantProfileRevokeDTO.md | 30 + .../docs/GetCapabilitiesAPIResponseDTO.md | 29 + .../docs/GetContentPackagesAPIResponseDTO.md | 29 + .../docs/GetDataAccessSetsAPIResponseDTO.md | 29 + .../GetDataSecurityObjectsAPIResponseDTO.md | 29 + .../docs/GetPermissionsAPIResponseDTO.md | 30 + .../GetProductionVersionsAPIResponseDTO.md | 29 + .../docs/GetProjectCommitsAPIResponseDTO.md | 29 + .../docs/GetProjectsAPIResponseDTO.md | 32 + .../docs/GoogleProtobufAny.md | 30 + .../docs/HierarchyPropertyDTO.md | 30 + .../docs/HomeAnalysisByUserGroupDTO.md | 30 + .../docs/InheritedAccessConfigDTO.md | 31 + ...InheritedReferenceMemberFilterConfigDTO.md | 29 + .../docs/LastLoginDTO.md | 29 + .../LocalTenantProfileAssignmentRequestDTO.md | 31 + ...LocalTenantProfileAssignmentResponseDTO.md | 32 + .../LocalTenantProfileRevokeRequestDTO.md | 29 + .../LocalTenantProfileRevokeResponseDTO.md | 30 + .../docs/MaskMessage.md | 29 + .../docs/MemberFilterConfigDTO.md | 29 + .../docs/MemberSelectionDTO.md | 31 + .../docs/MetricValidationSummaryDTO.md | 31 + .../docs/ModuleSettingsDTO.md | 31 + .../docs/PermissionAssignedByTenantDTO.md | 31 + .../PermissionAssignedForLocalTenantDTO.md | 31 + .../docs/PermissionAssignedUserDTO.md | 32 + .../docs/PermissionAssignedUsersDTO.md | 32 + .../PermissionBulkOperationResponseDTO.md | 30 + .../docs/PermissionDTO.md | 34 + .../docs/PermissionErrorDTO.md | 30 + .../docs/PermissionFailureDTO.md | 31 + .../docs/PermissionResponseDTO.md | 30 + .../docs/PermissionSuccessDTO.md | 30 + .../docs/PermissionsApi.md | 950 ++ .../docs/PermissionsListDTO.md | 29 + .../PermissionsToUserGroupForTenantDTO.md | 32 + .../docs/PermissionsToUserGroupRequestDTO.md | 30 + .../docs/PermissionsToUserGroupsRequestDTO.md | 29 + ...roductionVersionsAPIOperationRequestDTO.md | 30 + ...oductionVersionsAPIOperationResponseDTO.md | 29 + .../docs/ProductionVersionsApi.md | 151 + .../ProfileAssignedForAccessibleTenantDTO.md | 34 + .../docs/ProfileAssignedForLocalTenantDTO.md | 34 + .../docs/ProfileGetAPIResponseDTO.md | 32 + .../docs/ProfilesApi.md | 712 ++ .../docs/ProfilesGetAPIResponseDTO.md | 29 + .../docs/ProjectDTO.md | 35 + .../docs/ProjectOperationRequestDTO.md | 29 + .../docs/ProjectOperationResponseDTO.md | 29 + .../docs/ProjectsApi.md | 441 + .../docs/PropertyAccessConfigDTO.md | 33 + .../docs/PropertySetConfigDTO.md | 30 + .../docs/ReducedErrorDTO.md | 29 + .../docs/ReducedTenantCodeErrorDTO.md | 31 + .../docs/ReducedUserIdErrorDTO.md | 30 + .../docs/RelatedAnalyticObjectDTO.md | 30 + .../docs/RoleModulesConfigDTO.md | 29 + .../docs/SecurableDimensionDTO.md | 32 + .../docs/SecurablePropertyDTO.md | 33 + .../docs/SecurityAssignmentResponseDTO.md | 29 + .../docs/ShareableDataAccessSet.md | 29 + .../docs/SimpleUserDTO.md | 30 + .../docs/StaticDimensionFilterDTO.md | 32 + .../docs/Status.md | 32 + ...fulAccessibleTenantProfileAssignmentDTO.md | 31 + ...ccessfulLocalTenantProfileAssignmentDTO.md | 29 + .../docs/SystemStatusApi.md | 140 + .../docs/SystemStatusDTO.md | 29 + .../docs/TargetProjectForTenantDTO.md | 30 + .../docs/TargetProjectForTenantsListDTO.md | 29 + .../docs/TargetTenantCodeDTO.md | 30 + .../docs/TenantAssignmentsDTO.md | 33 + .../docs/TenantCodeBody.md | 29 + .../docs/TenantCodeErrorDTO.md | 31 + .../docs/TenantDetailAPIDTO.md | 41 + .../docs/TenantManagementAPIGetResponseDTO.md | 47 + .../TenantManagementAPIListResponseDTO.md | 31 + .../TenantManagementAPIUpdateRequestDTO.md | 44 + .../TenantManagementAPIUpdateResponseDTO.md | 42 + .../docs/TenantModuleDTO.md | 31 + .../docs/TenantPreviewEntriesSummaryDTO.md | 32 + .../TenantPreviewEntriesSummaryListDTO.md | 31 + .../docs/TenantProvisionAPIDTO.md | 35 + .../docs/TenantStatusAPIDTO.md | 32 + .../docs/TenantsV1Api.md | 647 ++ .../docs/TenantsV2Api.md | 370 + .../docs/UpdateTenantModel.md | 34 + .../docs/UserCreationAPIRequestDTO.md | 33 + .../docs/UserCreationAPIResponseDTO.md | 34 + .../docs/UserGetAPIResponseDTO.md | 38 + .../UserGroupAssignedForLocalTenantDTO.md | 30 + .../docs/UserGroupChangeDefinitionDTO.md | 35 + .../docs/UserGroupChangeDimensionFilterDTO.md | 31 + .../docs/UserGroupChangeFailureDTO.md | 33 + .../docs/UserGroupChangeFilterDTO.md | 31 + .../docs/UserGroupChangeMemberSelectionDTO.md | 30 + .../docs/UserGroupChangeResponseDTO.md | 30 + .../docs/UserGroupChangeSuccessDTO.md | 32 + .../docs/UserGroupChangeUsersDTO.md | 32 + .../docs/UserGroupDeleteDTO.md | 31 + .../docs/UserGroupDeleteFailureDTO.md | 33 + .../docs/UserGroupDeleteResponseDTO.md | 30 + .../docs/UserGroupDeleteSuccessDTO.md | 31 + .../docs/UserGroupFiltersDTO.md | 29 + .../docs/UserGroupGetAPIResponseDTO.md | 31 + .../docs/UserGroupSingleDeleteResponseDTO.md | 30 + .../docs/UserGroupsChangeDTO.md | 29 + .../docs/UserGroupsDeleteRequestDTO.md | 29 + .../docs/UserGroupsGetAPIResponseDTO.md | 31 + .../docs/UserGroupsUsersDTO.md | 31 + .../docs/UserGroupsUsersForTenantDTO.md | 30 + .../docs/UserGroupsV2Api.md | 509 ++ .../docs/UserIdErrorDTO.md | 30 + .../docs/UserPropertyDTO.md | 29 + .../docs/UserSecurityAssignmentsDTO.md | 31 + .../docs/UserUpdateAPIRequestDTO.md | 32 + .../docs/UsersAPIErrorMessageDTO.md | 30 + .../docs/UsersAPIFailureDTO.md | 32 + .../docs/UsersAPIResponseDTO.md | 30 + .../docs/UsersAPISuccessDTO.md | 34 + .../docs/UsersCreationAPIRequestDTO.md | 29 + .../docs/UsersDeleteAPIRequestDTO.md | 29 + .../docs/UsersToUserGroupRequestDTO.md | 30 + .../docs/UsersToUserGroupsRequestDTO.md | 30 + .../docs/UsersUpdateAPIRequestDTO.md | 29 + .../docs/UsersUpdateAPIUserDTO.md | 33 + .../docs/UsersV1Api.md | 1433 +++ .../docs/UsersV2Api.md | 227 + src/visier.sdk.api.administration/git_push.sh | 57 + .../pyproject.toml | 71 + .../requirements.txt | 6 + src/visier.sdk.api.administration/setup.cfg | 2 + src/visier.sdk.api.administration/setup.py | 50 + .../test-requirements.txt | 5 + .../test/__init__.py | 0 ...e_tenant_profile_assignment_request_dto.py | 60 + ..._tenant_profile_assignment_response_dto.py | 75 + ...sible_tenant_profile_revoke_request_dto.py | 58 + ...ible_tenant_profile_revoke_response_dto.py | 69 + .../test/test_additional_capabilities_dto.py | 53 + .../test/test_admin_capability_config_dto.py | 54 + ...rmissions_assigned_for_local_tenant_dto.py | 56 + ...file_assigned_for_accessible_tenant_dto.py | 59 + ...l_profile_assigned_for_local_tenant_dto.py | 64 + .../test/test_all_tenants_status_apidto.py | 81 + ...er_groups_assigned_for_local_tenant_dto.py | 55 + .../test_all_users_get_api_response_dto.py | 65 + .../test/test_analytic_object_dto.py | 79 + ...ign_revoke_permission_by_permission_dto.py | 60 + ..._assign_revoke_permission_by_tenant_dto.py | 67 + ...st_assign_revoke_permission_by_user_dto.py | 53 + ...st_assign_revoke_permission_request_dto.py | 54 + ...t_assign_revoke_permissions_request_dto.py | 63 + ..._assign_revoke_permissions_response_dto.py | 70 + .../test_bulk_data_access_set_response_dto.py | 61 + .../test/test_business_location_dto.py | 52 + .../test/test_capabilities_dto.py | 53 + .../test/test_capability_dto.py | 53 + ...mmit_and_publish_operation_response_dto.py | 60 + .../test/test_commit_dto.py | 53 + .../test/test_consolidated_analytics_api.py | 108 + ..._analytics_api_excluded_source_list_dto.py | 53 + ...ed_analytics_api_source_tenant_list_dto.py | 53 + ...analytics_api_tenant_create_request_dto.py | 51 + ..._analytics_api_tenant_list_response_dto.py | 53 + ...dated_analytics_api_tenant_with_details.py | 57 + ...i_tenant_with_details_list_response_dto.py | 60 + .../test/test_content_package_dto.py | 53 + ...test_create_data_access_set_request_dto.py | 67 + .../test/test_custom_property_dto.py | 52 + .../test/test_custom_tenant_property_dto.py | 52 + .../test/test_data_access_set_dto.py | 64 + .../test/test_data_access_set_error_dto.py | 52 + .../test/test_data_access_set_failure_dto.py | 55 + .../test/test_data_access_set_success_dto.py | 52 + .../test/test_data_security_profile_dto.py | 129 + .../test_delete_permissions_request_dto.py | 53 + .../test/test_delete_user_group_v2_request.py | 51 + .../test/test_dimension_filter_dto.py | 76 + .../test/test_dynamic_dimension_filter_dto.py | 61 + .../test/test_dynamic_property_mapping_dto.py | 54 + .../test/test_element_ids_dto.py | 53 + .../test/test_error_dto.py | 53 + .../test/test_excluded_sources_body.py | 53 + ...n_versions_api_operation_parameters_dto.py | 55 + ...ccessible_tenant_profile_assignment_dto.py | 57 + ...led_local_tenant_profile_assignment_dto.py | 55 + ..._failed_local_tenant_profile_revoke_dto.py | 52 + .../test_get_capabilities_api_response_dto.py | 56 + ...t_get_content_packages_api_response_dto.py | 56 + ...t_get_data_access_sets_api_response_dto.py | 67 + ..._data_security_objects_api_response_dto.py | 82 + .../test_get_permissions_api_response_dto.py | 102 + ...et_production_versions_api_response_dto.py | 62 + ...st_get_project_commits_api_response_dto.py | 56 + .../test_get_projects_api_response_dto.py | 98 + .../test/test_google_protobuf_any.py | 51 + .../test/test_hierarchy_property_dto.py | 52 + .../test_home_analysis_by_user_group_dto.py | 52 + .../test/test_inherited_access_config_dto.py | 81 + ...ited_reference_member_filter_config_dto.py | 51 + .../test/test_last_login_dto.py | 51 + ...l_tenant_profile_assignment_request_dto.py | 55 + ..._tenant_profile_assignment_response_dto.py | 65 + ...local_tenant_profile_revoke_request_dto.py | 53 + ...ocal_tenant_profile_revoke_response_dto.py | 59 + .../test/test_mask_message.py | 51 + .../test/test_member_filter_config_dto.py | 76 + .../test/test_member_selection_dto.py | 55 + .../test_metric_validation_summary_dto.py | 53 + .../test/test_module_settings_dto.py | 53 + .../test_permission_assigned_by_tenant_dto.py | 57 + ...ermission_assigned_for_local_tenant_dto.py | 53 + .../test/test_permission_assigned_user_dto.py | 53 + .../test_permission_assigned_users_dto.py | 62 + ..._permission_bulk_operation_response_dto.py | 61 + .../test/test_permission_dto.py | 106 + .../test/test_permission_error_dto.py | 52 + .../test/test_permission_failure_dto.py | 55 + .../test/test_permission_response_dto.py | 52 + .../test/test_permission_success_dto.py | 52 + .../test/test_permissions_api.py | 122 + .../test/test_permissions_list_dto.py | 102 + ...ermissions_to_user_group_for_tenant_dto.py | 63 + ...t_permissions_to_user_group_request_dto.py | 54 + ..._permissions_to_user_groups_request_dto.py | 57 + .../test/test_production_versions_api.py | 45 + ...tion_versions_api_operation_request_dto.py | 57 + ...ion_versions_api_operation_response_dto.py | 51 + ...file_assigned_for_accessible_tenant_dto.py | 56 + ...t_profile_assigned_for_local_tenant_dto.py | 64 + .../test/test_profile_get_api_response_dto.py | 61 + .../test/test_profiles_api.py | 101 + .../test_profiles_get_api_response_dto.py | 64 + .../test/test_project_dto.py | 59 + .../test_project_operation_request_dto.py | 51 + .../test_project_operation_response_dto.py | 52 + .../test/test_projects_api.py | 73 + .../test/test_property_access_config_dto.py | 57 + .../test/test_property_set_config_dto.py | 62 + .../test/test_reduced_error_dto.py | 51 + .../test_reduced_tenant_code_error_dto.py | 54 + .../test/test_reduced_user_id_error_dto.py | 53 + .../test/test_related_analytic_object_dto.py | 52 + .../test/test_role_modules_config_dto.py | 53 + .../test/test_securable_dimension_dto.py | 60 + .../test/test_securable_property_dto.py | 55 + .../test_security_assignment_response_dto.py | 67 + .../test/test_shareable_data_access_set.py | 51 + .../test/test_simple_user_dto.py | 52 + .../test/test_static_dimension_filter_dto.py | 63 + .../test/test_status.py | 53 + ...ccessible_tenant_profile_assignment_dto.py | 53 + ...ful_local_tenant_profile_assignment_dto.py | 51 + .../test/test_system_status_api.py | 45 + .../test/test_system_status_dto.py | 51 + .../test_target_project_for_tenant_dto.py | 52 + ...est_target_project_for_tenants_list_dto.py | 55 + .../test/test_target_tenant_code_dto.py | 52 + .../test/test_tenant_assignments_dto.py | 64 + .../test/test_tenant_code_body.py | 53 + .../test/test_tenant_code_error_dto.py | 56 + .../test/test_tenant_detail_apidto.py | 76 + ..._tenant_management_api_get_response_dto.py | 85 + ...tenant_management_api_list_response_dto.py | 88 + ...enant_management_api_update_request_dto.py | 82 + ...nant_management_api_update_response_dto.py | 80 + .../test/test_tenant_module_dto.py | 56 + ...test_tenant_preview_entries_summary_dto.py | 59 + ...tenant_preview_entries_summary_list_dto.py | 64 + .../test/test_tenant_provision_apidto.py | 67 + .../test/test_tenant_status_apidto.py | 54 + .../test/test_tenants_v1_api.py | 94 + .../test/test_tenants_v2_api.py | 66 + .../test/test_update_tenant_model.py | 64 + .../test_user_creation_api_request_dto.py | 55 + .../test_user_creation_api_response_dto.py | 56 + .../test/test_user_get_api_response_dto.py | 86 + ...ser_group_assigned_for_local_tenant_dto.py | 52 + .../test_user_group_change_definition_dto.py | 64 + ..._user_group_change_dimension_filter_dto.py | 62 + .../test_user_group_change_failure_dto.py | 55 + .../test/test_user_group_change_filter_dto.py | 64 + ..._user_group_change_member_selection_dto.py | 54 + .../test_user_group_change_response_dto.py | 65 + .../test_user_group_change_success_dto.py | 54 + .../test/test_user_group_change_users_dto.py | 77 + .../test/test_user_group_delete_dto.py | 53 + .../test_user_group_delete_failure_dto.py | 55 + .../test_user_group_delete_response_dto.py | 64 + .../test_user_group_delete_success_dto.py | 53 + .../test/test_user_group_filters_dto.py | 67 + .../test_user_group_get_api_response_dto.py | 57 + ...t_user_group_single_delete_response_dto.py | 60 + .../test/test_user_groups_change_dto.py | 60 + .../test_user_groups_delete_request_dto.py | 56 + .../test_user_groups_get_api_response_dto.py | 62 + .../test/test_user_groups_users_dto.py | 61 + .../test_user_groups_users_for_tenant_dto.py | 56 + .../test/test_user_groups_v2_api.py | 80 + .../test/test_user_id_error_dto.py | 55 + .../test/test_user_property_dto.py | 51 + .../test_user_security_assignments_dto.py | 57 + .../test/test_user_update_api_request_dto.py | 54 + .../test/test_users_api_error_message_dto.py | 52 + .../test/test_users_api_failure_dto.py | 56 + .../test/test_users_api_response_dto.py | 66 + .../test/test_users_api_success_dto.py | 56 + .../test_users_creation_api_request_dto.py | 58 + .../test/test_users_delete_api_request_dto.py | 53 + .../test_users_to_user_group_request_dto.py | 54 + .../test_users_to_user_groups_request_dto.py | 63 + .../test/test_users_update_api_request_dto.py | 58 + .../test/test_users_update_api_user_dto.py | 55 + .../test/test_users_v1_api.py | 164 + .../test/test_users_v2_api.py | 52 + src/visier.sdk.api.administration/tox.ini | 9 + .../visier/__init__.py | 0 .../visier/sdk/__init__.py | 0 .../visier/sdk/api/__init__.py | 0 .../visier/sdk/api/administration/__init__.py | 213 + .../sdk/api/administration/api/__init__.py | 15 + .../api/consolidated_analytics_api.py | 3187 +++++++ .../api/administration/api/permissions_api.py | 3708 ++++++++ .../api/production_versions_api.py | 589 ++ .../api/administration/api/profiles_api.py | 2711 ++++++ .../api/administration/api/projects_api.py | 1721 ++++ .../administration/api/system_status_api.py | 522 ++ .../api/administration/api/tenants_v1_api.py | 2463 ++++++ .../api/administration/api/tenants_v2_api.py | 1450 ++++ .../administration/api/user_groups_v2_api.py | 1967 +++++ .../api/administration/api/users_v1_api.py | 5828 +++++++++++++ .../api/administration/api/users_v2_api.py | 906 ++ .../sdk/api/administration/api_client.py | 796 ++ .../sdk/api/administration/api_response.py | 21 + .../sdk/api/administration/configuration.py | 775 ++ .../sdk/api/administration/exceptions.py | 199 + .../sdk/api/administration/models/__init__.py | 186 + ...e_tenant_profile_assignment_request_dto.py | 101 + ..._tenant_profile_assignment_response_dto.py | 127 + ...sible_tenant_profile_revoke_request_dto.py | 97 + ...ible_tenant_profile_revoke_response_dto.py | 124 + .../models/additional_capabilities_dto.py | 87 + .../models/admin_capability_config_dto.py | 89 + ...rmissions_assigned_for_local_tenant_dto.py | 95 + ...file_assigned_for_accessible_tenant_dto.py | 95 + ...l_profile_assigned_for_local_tenant_dto.py | 95 + .../models/all_tenants_status_apidto.py | 99 + ...er_groups_assigned_for_local_tenant_dto.py | 95 + .../models/all_users_get_api_response_dto.py | 99 + .../models/analytic_object_dto.py | 131 + ...ign_revoke_permission_by_permission_dto.py | 101 + .../assign_revoke_permission_by_tenant_dto.py | 113 + .../assign_revoke_permission_by_user_dto.py | 91 + .../assign_revoke_permission_request_dto.py | 89 + .../assign_revoke_permissions_request_dto.py | 101 + .../assign_revoke_permissions_response_dto.py | 95 + .../bulk_data_access_set_response_dto.py | 105 + .../models/business_location_dto.py | 89 + .../administration/models/capabilities_dto.py | 91 + .../administration/models/capability_dto.py | 91 + ...mmit_and_publish_operation_response_dto.py | 91 + .../api/administration/models/commit_dto.py | 91 + ..._analytics_api_excluded_source_list_dto.py | 87 + ...ed_analytics_api_source_tenant_list_dto.py | 87 + ...analytics_api_tenant_create_request_dto.py | 87 + ..._analytics_api_tenant_list_response_dto.py | 87 + ...dated_analytics_api_tenant_with_details.py | 91 + ...i_tenant_with_details_list_response_dto.py | 95 + .../models/content_package_dto.py | 91 + .../create_data_access_set_request_dto.py | 95 + .../models/custom_property_dto.py | 89 + .../models/custom_tenant_property_dto.py | 89 + .../models/data_access_set_dto.py | 103 + .../models/data_access_set_error_dto.py | 89 + .../models/data_access_set_failure_dto.py | 95 + .../models/data_access_set_success_dto.py | 89 + .../models/data_security_profile_dto.py | 121 + .../models/delete_permissions_request_dto.py | 87 + .../models/delete_user_group_v2_request.py | 87 + .../models/dimension_filter_dto.py | 97 + .../models/dynamic_dimension_filter_dto.py | 111 + .../models/dynamic_property_mapping_dto.py | 105 + .../administration/models/element_ids_dto.py | 87 + .../api/administration/models/error_dto.py | 91 + .../models/excluded_sources_body.py | 87 + ...n_versions_api_operation_parameters_dto.py | 91 + ...ccessible_tenant_profile_assignment_dto.py | 97 + ...led_local_tenant_profile_assignment_dto.py | 93 + .../failed_local_tenant_profile_revoke_dto.py | 89 + .../get_capabilities_api_response_dto.py | 95 + .../get_content_packages_api_response_dto.py | 95 + .../get_data_access_sets_api_response_dto.py | 95 + ..._data_security_objects_api_response_dto.py | 95 + .../get_permissions_api_response_dto.py | 95 + ...et_production_versions_api_response_dto.py | 95 + .../get_project_commits_api_response_dto.py | 95 + .../models/get_projects_api_response_dto.py | 122 + .../models/google_protobuf_any.py | 100 + .../models/hierarchy_property_dto.py | 89 + .../models/home_analysis_by_user_group_dto.py | 89 + .../models/inherited_access_config_dto.py | 99 + ...ited_reference_member_filter_config_dto.py | 87 + .../administration/models/last_login_dto.py | 87 + ...l_tenant_profile_assignment_request_dto.py | 91 + ..._tenant_profile_assignment_response_dto.py | 117 + ...local_tenant_profile_revoke_request_dto.py | 87 + ...ocal_tenant_profile_revoke_response_dto.py | 105 + .../api/administration/models/mask_message.py | 87 + .../models/member_filter_config_dto.py | 95 + .../models/member_selection_dto.py | 101 + .../models/metric_validation_summary_dto.py | 91 + .../models/module_settings_dto.py | 91 + .../permission_assigned_by_tenant_dto.py | 97 + ...ermission_assigned_for_local_tenant_dto.py | 91 + .../models/permission_assigned_user_dto.py | 91 + .../models/permission_assigned_users_dto.py | 99 + .../permission_bulk_operation_response_dto.py | 105 + .../administration/models/permission_dto.py | 113 + .../models/permission_error_dto.py | 89 + .../models/permission_failure_dto.py | 95 + .../models/permission_response_dto.py | 89 + .../models/permission_success_dto.py | 89 + .../models/permissions_list_dto.py | 95 + ...ermissions_to_user_group_for_tenant_dto.py | 101 + .../permissions_to_user_group_request_dto.py | 89 + .../permissions_to_user_groups_request_dto.py | 95 + ...tion_versions_api_operation_request_dto.py | 103 + ...ion_versions_api_operation_response_dto.py | 87 + ...file_assigned_for_accessible_tenant_dto.py | 97 + .../profile_assigned_for_local_tenant_dto.py | 109 + .../models/profile_get_api_response_dto.py | 101 + .../models/profiles_get_api_response_dto.py | 95 + .../api/administration/models/project_dto.py | 110 + .../models/project_operation_request_dto.py | 97 + .../models/project_operation_response_dto.py | 91 + .../models/property_access_config_dto.py | 115 + .../models/property_set_config_dto.py | 101 + .../models/reduced_error_dto.py | 87 + .../models/reduced_tenant_code_error_dto.py | 95 + .../models/reduced_user_id_error_dto.py | 93 + .../models/related_analytic_object_dto.py | 89 + .../models/role_modules_config_dto.py | 87 + .../models/securable_dimension_dto.py | 101 + .../models/securable_property_dto.py | 95 + .../security_assignment_response_dto.py | 95 + .../models/shareable_data_access_set.py | 87 + .../administration/models/simple_user_dto.py | 89 + .../models/static_dimension_filter_dto.py | 111 + .../sdk/api/administration/models/status.py | 91 + ...ccessible_tenant_profile_assignment_dto.py | 91 + ...ful_local_tenant_profile_assignment_dto.py | 87 + .../models/system_status_dto.py | 87 + .../models/target_project_for_tenant_dto.py | 89 + .../target_project_for_tenants_list_dto.py | 95 + .../models/target_tenant_code_dto.py | 89 + .../models/tenant_assignments_dto.py | 113 + .../administration/models/tenant_code_body.py | 87 + .../models/tenant_code_error_dto.py | 95 + .../models/tenant_detail_apidto.py | 127 + .../tenant_management_api_get_response_dto.py | 143 + ...tenant_management_api_list_response_dto.py | 99 + ...enant_management_api_update_request_dto.py | 147 + ...nant_management_api_update_response_dto.py | 133 + .../models/tenant_module_dto.py | 95 + .../tenant_preview_entries_summary_dto.py | 101 + ...tenant_preview_entries_summary_list_dto.py | 99 + .../models/tenant_provision_apidto.py | 107 + .../models/tenant_status_apidto.py | 93 + .../models/update_tenant_model.py | 97 + .../models/user_creation_api_request_dto.py | 95 + .../models/user_creation_api_response_dto.py | 97 + .../models/user_get_api_response_dto.py | 121 + ...ser_group_assigned_for_local_tenant_dto.py | 89 + .../user_group_change_definition_dto.py | 107 + .../user_group_change_dimension_filter_dto.py | 103 + .../models/user_group_change_failure_dto.py | 95 + .../models/user_group_change_filter_dto.py | 99 + .../user_group_change_member_selection_dto.py | 89 + .../models/user_group_change_response_dto.py | 105 + .../models/user_group_change_success_dto.py | 93 + .../models/user_group_change_users_dto.py | 104 + .../models/user_group_delete_dto.py | 91 + .../models/user_group_delete_failure_dto.py | 95 + .../models/user_group_delete_response_dto.py | 105 + .../models/user_group_delete_success_dto.py | 91 + .../models/user_group_filters_dto.py | 95 + .../models/user_group_get_api_response_dto.py | 99 + .../user_group_single_delete_response_dto.py | 97 + .../models/user_groups_change_dto.py | 95 + .../models/user_groups_delete_request_dto.py | 95 + .../user_groups_get_api_response_dto.py | 99 + .../models/user_groups_users_dto.py | 99 + .../user_groups_users_for_tenant_dto.py | 97 + .../models/user_id_error_dto.py | 93 + .../models/user_property_dto.py | 87 + .../models/user_security_assignments_dto.py | 99 + .../models/user_update_api_request_dto.py | 93 + .../models/users_api_error_message_dto.py | 89 + .../models/users_api_failure_dto.py | 97 + .../models/users_api_response_dto.py | 105 + .../models/users_api_success_dto.py | 97 + .../models/users_creation_api_request_dto.py | 95 + .../models/users_delete_api_request_dto.py | 87 + .../models/users_to_user_group_request_dto.py | 89 + .../users_to_user_groups_request_dto.py | 101 + .../models/users_update_api_request_dto.py | 95 + .../models/users_update_api_user_dto.py | 95 + .../visier/sdk/api/administration/py.typed | 0 .../visier/sdk/api/administration/rest.py | 257 + .../.github/workflows/python.yml | 38 + src/visier.sdk.api.analytic_model/.gitignore | 66 + .../.gitlab-ci.yml | 31 + .../.openapi-generator-ignore | 23 + .../.openapi-generator/FILES | 203 + .../.openapi-generator/VERSION | 1 + src/visier.sdk.api.analytic_model/.travis.yml | 17 + src/visier.sdk.api.analytic_model/README.md | 258 + .../docs/AggregationTypeOptionDTO.md | 34 + .../docs/AggregationTypeParameterDTO.md | 33 + .../docs/AnalyticObjectDTO.md | 40 + .../docs/AnalyticObjectFilterDTO.md | 31 + .../docs/AnalyticObjectsDTO.md | 30 + .../CalculationConceptConfigurationDTO.md | 29 + .../CalculationConceptConfigurationMapDTO.md | 30 + .../docs/CalculationConceptDTO.md | 31 + .../docs/CalculationConceptListDTO.md | 29 + .../docs/ConceptConfigurationResultDTO.md | 31 + .../docs/CurrenciesDTO.md | 30 + .../docs/CurrencyDTO.md | 33 + .../docs/CurrencyRateDTO.md | 34 + .../docs/CurrencyRatesDTO.md | 30 + .../docs/DataModelApi.md | 2769 ++++++ .../docs/DimensionDTO.md | 37 + .../docs/DimensionFilterDTO.md | 31 + .../docs/DimensionMappingValidationDTO.md | 32 + .../DimensionMappingValidationExecutionDTO.md | 31 + .../docs/DimensionMemberDTO.md | 29 + .../docs/DimensionMemberReferenceDTO.md | 30 + .../docs/DimensionReferenceDTO.md | 31 + .../docs/DimensionsDTO.md | 30 + .../docs/GoogleProtobufAny.md | 30 + .../docs/LevelDTO.md | 32 + .../docs/MemberDTO.md | 35 + .../docs/MemberParameterDefinitionDTO.md | 35 + .../docs/MemberValuesDTO.md | 31 + .../docs/MembersDTO.md | 30 + .../docs/MetricDTO.md | 38 + .../docs/MetricsDTO.md | 30 + .../docs/NumericParameterDefinitionDTO.md | 35 + .../docs/ObjectConfigurationApi.md | 606 ++ .../docs/ObjectReferenceDTO.md | 36 + .../docs/ParameterDefinitionDTO.md | 33 + .../docs/PerspectiveConfigurationDTO.md | 31 + .../docs/PerspectiveNodeDTO.md | 31 + .../docs/PlanParameterDefinitionDTO.md | 33 + .../docs/PlanningConceptFilterContextDTO.md | 30 + .../docs/PlanningHierarchyFilterContextDTO.md | 32 + .../docs/PlanningModelDTO.md | 32 + .../docs/PlanningModelsDTO.md | 30 + .../docs/PlanningPlanContextDTO.md | 31 + .../docs/PlanningPlanDTO.md | 36 + .../docs/PlanningPlansDTO.md | 30 + .../docs/PopulationConfigurationDTO.md | 32 + .../docs/PredictionDTO.md | 48 + .../docs/PredictionsDTO.md | 30 + .../docs/PropertiesDTO.md | 30 + .../docs/PropertyDTO.md | 36 + .../docs/PropertyReferenceDTO.md | 31 + .../docs/ScenarioOrSnapshotDTO.md | 31 + .../SelectionConceptConfigurationMapDTO.md | 29 + .../docs/SelectionConceptDTO.md | 34 + .../docs/SelectionConceptListDTO.md | 29 + .../docs/SelectionConceptsDTO.md | 30 + .../docs/Status.md | 32 + .../docs/TagMapElementDTO.md | 31 + .../docs/ValidityRangeDTO.md | 31 + src/visier.sdk.api.analytic_model/git_push.sh | 57 + .../pyproject.toml | 71 + .../requirements.txt | 6 + src/visier.sdk.api.analytic_model/setup.cfg | 2 + src/visier.sdk.api.analytic_model/setup.py | 50 + .../test-requirements.txt | 5 + .../test/__init__.py | 0 .../test/test_aggregation_type_option_dto.py | 55 + .../test_aggregation_type_parameter_dto.py | 61 + .../test/test_analytic_object_dto.py | 91 + .../test/test_analytic_object_filter_dto.py | 63 + .../test/test_analytic_objects_dto.py | 79 + ...t_calculation_concept_configuration_dto.py | 76 + ...lculation_concept_configuration_map_dto.py | 76 + .../test/test_calculation_concept_dto.py | 79 + .../test/test_calculation_concept_list_dto.py | 56 + .../test_concept_configuration_result_dto.py | 53 + .../test/test_currencies_dto.py | 57 + .../test/test_currency_dto.py | 54 + .../test/test_currency_rate_dto.py | 55 + .../test/test_currency_rates_dto.py | 58 + .../test/test_data_model_api.py | 220 + .../test/test_dimension_dto.py | 69 + .../test/test_dimension_filter_dto.py | 58 + .../test_dimension_mapping_validation_dto.py | 61 + ...ension_mapping_validation_execution_dto.py | 52 + .../test/test_dimension_member_dto.py | 53 + .../test_dimension_member_reference_dto.py | 53 + .../test/test_dimension_reference_dto.py | 52 + .../test/test_dimensions_dto.py | 72 + .../test/test_google_protobuf_any.py | 51 + .../test/test_level_dto.py | 53 + .../test/test_member_dto.py | 64 + .../test_member_parameter_definition_dto.py | 67 + .../test/test_member_values_dto.py | 62 + .../test/test_members_dto.py | 67 + .../test/test_metric_dto.py | 65 + .../test/test_metrics_dto.py | 68 + .../test_numeric_parameter_definition_dto.py | 56 + .../test/test_object_configuration_api.py | 73 + .../test/test_object_reference_dto.py | 57 + .../test/test_parameter_definition_dto.py | 83 + .../test_perspective_configuration_dto.py | 73 + .../test/test_perspective_node_dto.py | 68 + .../test_plan_parameter_definition_dto.py | 54 + ...est_planning_concept_filter_context_dto.py | 51 + ...t_planning_hierarchy_filter_context_dto.py | 57 + .../test/test_planning_model_dto.py | 53 + .../test/test_planning_models_dto.py | 56 + .../test/test_planning_plan_context_dto.py | 60 + .../test/test_planning_plan_dto.py | 71 + .../test/test_planning_plans_dto.py | 74 + .../test/test_population_configuration_dto.py | 65 + .../test/test_prediction_dto.py | 75 + .../test/test_predictions_dto.py | 78 + .../test/test_properties_dto.py | 70 + .../test/test_property_dto.py | 67 + .../test/test_property_reference_dto.py | 52 + .../test/test_scenario_or_snapshot_dto.py | 52 + ...selection_concept_configuration_map_dto.py | 66 + .../test/test_selection_concept_dto.py | 59 + .../test/test_selection_concept_list_dto.py | 62 + .../test/test_selection_concepts_dto.py | 62 + .../test/test_status.py | 53 + .../test/test_tag_map_element_dto.py | 52 + .../test/test_validity_range_dto.py | 52 + src/visier.sdk.api.analytic_model/tox.ini | 9 + .../visier/__init__.py | 0 .../visier/sdk/__init__.py | 0 .../visier/sdk/api/__init__.py | 0 .../visier/sdk/api/analytic_model/__init__.py | 91 + .../sdk/api/analytic_model/api/__init__.py | 6 + .../api/analytic_model/api/data_model_api.py | 7703 +++++++++++++++++ .../api/object_configuration_api.py | 1648 ++++ .../sdk/api/analytic_model/api_client.py | 796 ++ .../sdk/api/analytic_model/api_response.py | 21 + .../sdk/api/analytic_model/configuration.py | 795 ++ .../sdk/api/analytic_model/exceptions.py | 199 + .../sdk/api/analytic_model/models/__init__.py | 73 + .../models/aggregation_type_option_dto.py | 95 + .../models/aggregation_type_parameter_dto.py | 101 + .../models/analytic_object_dto.py | 129 + .../models/analytic_object_filter_dto.py | 99 + .../models/analytic_objects_dto.py | 95 + .../calculation_concept_configuration_dto.py | 95 + ...lculation_concept_configuration_map_dto.py | 95 + .../models/calculation_concept_dto.py | 95 + .../models/calculation_concept_list_dto.py | 95 + .../concept_configuration_result_dto.py | 91 + .../analytic_model/models/currencies_dto.py | 95 + .../api/analytic_model/models/currency_dto.py | 93 + .../models/currency_rate_dto.py | 95 + .../models/currency_rates_dto.py | 95 + .../analytic_model/models/dimension_dto.py | 117 + .../models/dimension_filter_dto.py | 99 + .../dimension_mapping_validation_dto.py | 101 + ...ension_mapping_validation_execution_dto.py | 89 + .../models/dimension_member_dto.py | 87 + .../models/dimension_member_reference_dto.py | 87 + .../models/dimension_reference_dto.py | 89 + .../analytic_model/models/dimensions_dto.py | 95 + .../models/google_protobuf_any.py | 100 + .../api/analytic_model/models/level_dto.py | 91 + .../api/analytic_model/models/member_dto.py | 105 + .../models/member_parameter_definition_dto.py | 101 + .../models/member_values_dto.py | 104 + .../api/analytic_model/models/members_dto.py | 95 + .../api/analytic_model/models/metric_dto.py | 121 + .../api/analytic_model/models/metrics_dto.py | 95 + .../numeric_parameter_definition_dto.py | 97 + .../models/object_reference_dto.py | 109 + .../models/parameter_definition_dto.py | 109 + .../models/perspective_configuration_dto.py | 99 + .../models/perspective_node_dto.py | 99 + .../models/plan_parameter_definition_dto.py | 93 + .../planning_concept_filter_context_dto.py | 87 + .../planning_hierarchy_filter_context_dto.py | 91 + .../models/planning_model_dto.py | 91 + .../models/planning_models_dto.py | 95 + .../models/planning_plan_context_dto.py | 97 + .../models/planning_plan_dto.py | 122 + .../models/planning_plans_dto.py | 95 + .../models/population_configuration_dto.py | 114 + .../analytic_model/models/prediction_dto.py | 123 + .../analytic_model/models/predictions_dto.py | 95 + .../analytic_model/models/properties_dto.py | 95 + .../api/analytic_model/models/property_dto.py | 115 + .../models/property_reference_dto.py | 89 + .../models/scenario_or_snapshot_dto.py | 89 + ...selection_concept_configuration_map_dto.py | 95 + .../models/selection_concept_dto.py | 103 + .../models/selection_concept_list_dto.py | 95 + .../models/selection_concepts_dto.py | 95 + .../sdk/api/analytic_model/models/status.py | 91 + .../models/tag_map_element_dto.py | 89 + .../models/validity_range_dto.py | 89 + .../visier/sdk/api/analytic_model/py.typed | 0 .../visier/sdk/api/analytic_model/rest.py | 257 + .../.github/workflows/python.yml | 38 + src/visier.sdk.api.data_in/.gitignore | 66 + src/visier.sdk.api.data_in/.gitlab-ci.yml | 31 + .../.openapi-generator-ignore | 23 + .../.openapi-generator/FILES | 395 + .../.openapi-generator/VERSION | 1 + src/visier.sdk.api.data_in/.travis.yml | 17 + src/visier.sdk.api.data_in/README.md | 324 + .../docs/AdpAuthParamsDTO.md | 29 + .../docs/AssignConnectorCredentialRequest.md | 29 + ...ConnectorCredentialsByTenantResponseDTO.md | 32 + .../AssignConnectorCredentialsResponseDTO.md | 29 + ...signConnectorWithCredentialsResponseDTO.md | 30 + .../docs/AssignedCredentialInfoResponseDTO.md | 31 + .../docs/BambooAuthParamsDTO.md | 30 + .../docs/BasicS3AuthParamsDTO.md | 33 + .../docs/BigQueryAuthParamsDTO.md | 35 + .../docs/BigQueryServiceAccountParamsDTO.md | 30 + .../docs/CancelJobBatchFromJobIdDTO.md | 29 + src/visier.sdk.api.data_in/docs/Connector.md | 30 + .../docs/ConnectorInfoResponseDTO.md | 31 + .../docs/CopyS3AuthParamsDTO.md | 29 + .../docs/CredentialCreationAPIResponseDTO.md | 32 + .../docs/DataAndJobHandlingApi.md | 2279 +++++ .../docs/DataCategoriesResponseDTO.md | 29 + .../docs/DataCategoryResponseDTO.md | 30 + .../docs/DataIntakeApi.md | 615 ++ .../docs/DataLoadRequest.md | 29 + .../docs/DataLoadRequestModel.md | 30 + .../docs/DataLoadResponse.md | 29 + .../docs/DataProviderAuthInformationDTO.md | 31 + .../docs/DataProviderAuthParamsDTO.md | 69 + .../docs/DataProviderBasicInformationDTO.md | 30 + .../docs/DataProviderBasicMetadataDTO.md | 29 + .../docs/DataTransferResultDetail.md | 32 + .../docs/DataUploadApi.md | 110 + .../docs/DataVersionAndDateDTO.md | 30 + .../docs/DataVersionObject.md | 30 + .../docs/DayforceV2AuthParamsDTO.md | 33 + .../docs/DimensionsAuthParamsDTO.md | 34 + .../docs/DirectDataIntakeApi.md | 824 ++ .../docs/DirectDataJobConfigDTO.md | 31 + .../docs/DirectDataJobStatusResponseDTO.md | 34 + .../docs/DirectDataLoadConfigDTO.md | 30 + .../docs/DirectDataSchemaFieldDTO.md | 34 + .../DirectDataTransactionStartResponseDTO.md | 30 + .../docs/DirectDataUploadFileResponseDTO.md | 32 + .../docs/DisableDVModel.md | 29 + .../docs/DisableDVRequest.md | 29 + .../docs/DisableDVResponse.md | 31 + .../docs/DispatchingJobStatusResponse.md | 32 + .../docs/ExcludeDataUploadsRequest.md | 29 + .../docs/ExtractionJob.md | 32 + .../docs/ExtractionJobAndStatusResponse.md | 33 + .../docs/ExtractorCredentialAPIDTO.md | 33 + .../docs/ExtractorCredentialsAPIDTO.md | 31 + .../docs/FusionAuthParamsDTO.md | 31 + .../docs/GongAuthParamsDTO.md | 30 + .../docs/GoogleProtobufAny.md | 30 + .../docs/GoogleSheetsAuthParamsDTO.md | 32 + .../docs/GoogleWorkspaceAuthParamsDTO.md | 31 + .../docs/GreenhouseAuthParamsDTO.md | 29 + .../docs/IcimsAuthParamsDTO.md | 31 + .../docs/ImportDefinitionAPIDTO.md | 31 + .../docs/ImportDefinitionsAPIDTO.md | 31 + .../docs/IncludeDataUploadsRequest.md | 29 + .../docs/InternalS3AuthParamsDTO.md | 30 + .../docs/JdbcAuthParamsDTO.md | 31 + .../docs/JiraAuthParamsDTO.md | 31 + .../docs/JiraConnectParamsDTO.md | 31 + .../docs/JobCancellationResultDTO.md | 35 + .../docs/JobCancellationResultsDTO.md | 29 + .../docs/JobStatusListResponse.md | 31 + .../docs/JobStatusWithStartTime.md | 33 + .../docs/LeverAuthParamsDTO.md | 29 + .../docs/MedalliaAuthParamsDTO.md | 32 + .../docs/Microsoft365AuthParamsDTO.md | 31 + .../MultipleTenantDataVersionsDetailsDTO.md | 30 + .../docs/MultipleTenantDataVersionsListDTO.md | 31 + .../docs/MySqlAuthParamsDTO.md | 34 + .../docs/NamelyAuthParamsDTO.md | 29 + .../docs/OracleDbAuthParamsDTO.md | 33 + .../docs/ProcessingJob.md | 33 + .../docs/ProcessingJobAndStatusResponse.md | 33 + .../docs/ProcessingJobStatusResponse.md | 33 + .../docs/PushDataCancelResponse.md | 32 + .../docs/PushDataColumnDefinitionDTO.md | 35 + .../docs/PushDataCompleteRequest.md | 30 + .../docs/PushDataCompleteResponse.md | 33 + .../docs/PushDataResponse.md | 33 + .../docs/PushDataSourceDefinitionDTO.md | 33 + .../docs/PushDataSourceDefinitionsDTO.md | 30 + .../docs/QualtricsAuthParamsDTO.md | 30 + .../docs/ReceivingJob.md | 31 + .../docs/ReceivingJobAndStatusResponse.md | 33 + .../docs/ReceivingJobStatusResponse.md | 33 + .../docs/RedshiftAuthParamsDTO.md | 35 + src/visier.sdk.api.data_in/docs/Result.md | 33 + .../docs/SalesforceAuthParamsDTO.md | 30 + .../docs/SalesforceV2AuthParamsDTO.md | 32 + .../docs/ServiceNowAuthParamsDTO.md | 31 + .../docs/SlackAuthParamsDTO.md | 31 + .../docs/SnowflakeAuthParamsDTO.md | 35 + src/visier.sdk.api.data_in/docs/Source.md | 34 + .../docs/SqlServerAuthParamsDTO.md | 33 + .../docs/StartExtractionModel.md | 42 + .../docs/StartExtractionRequest.md | 29 + .../docs/StartExtractionResponse.md | 29 + .../docs/StartTransferResponse.md | 29 + src/visier.sdk.api.data_in/docs/Status.md | 34 + .../docs/SubjectMissingAccessDTO.md | 30 + .../docs/SuccessFactorsAuthParamsDTO.md | 33 + .../docs/SuccessFactorsOAuthParamsDTO.md | 31 + src/visier.sdk.api.data_in/docs/Tenant.md | 31 + .../docs/TenantAndCredential.md | 30 + .../docs/TenantDataUploadStatusResponseDTO.md | 30 + ...TenantDataUploadUpdateStatusResponseDTO.md | 32 + .../docs/TenantDataUploadsListResponseDTO.md | 31 + .../docs/TenantDataUploadsResponseDTO.md | 30 + .../TenantDataUploadsUpdateResponseDTO.md | 31 + .../docs/UltimateAuthParamsDTO.md | 33 + .../docs/UploadToExclude.md | 31 + .../docs/UploadToExcludeModel.md | 29 + .../docs/UploadToInclude.md | 31 + .../docs/UploadToIncludeModel.md | 29 + .../docs/WillowAuthParamsDTO.md | 30 + .../docs/WorkdayAuthParamsDTO.md | 36 + .../docs/WorkdayOAuthParamsDTO.md | 31 + .../docs/WorkdayRaasAuthParamsDTO.md | 33 + .../docs/WorkdayRefreshTokenParamsDTO.md | 31 + .../docs/ZoomAuthParamsDTO.md | 31 + src/visier.sdk.api.data_in/git_push.sh | 57 + src/visier.sdk.api.data_in/pyproject.toml | 71 + src/visier.sdk.api.data_in/requirements.txt | 6 + src/visier.sdk.api.data_in/setup.cfg | 2 + src/visier.sdk.api.data_in/setup.py | 50 + .../test-requirements.txt | 5 + src/visier.sdk.api.data_in/test/__init__.py | 0 .../test/test_adp_auth_params_dto.py | 51 + ...est_assign_connector_credential_request.py | 59 + ...ctor_credentials_by_tenant_response_dto.py | 58 + ...sign_connector_credentials_response_dto.py | 61 + ...connector_with_credentials_response_dto.py | 58 + ...t_assigned_credential_info_response_dto.py | 53 + .../test/test_bamboo_auth_params_dto.py | 52 + .../test/test_basic_s3_auth_params_dto.py | 55 + .../test/test_big_query_auth_params_dto.py | 59 + ...st_big_query_service_account_params_dto.py | 52 + .../test_cancel_job_batch_from_job_id_dto.py | 53 + .../test/test_connector.py | 56 + .../test/test_connector_info_response_dto.py | 53 + .../test/test_copy_s3_auth_params_dto.py | 51 + ...st_credential_creation_api_response_dto.py | 60 + .../test/test_data_and_job_handling_api.py | 185 + .../test/test_data_categories_response_dto.py | 55 + .../test/test_data_category_response_dto.py | 52 + .../test/test_data_intake_api.py | 73 + .../test/test_data_load_request.py | 55 + .../test/test_data_load_request_model.py | 54 + .../test/test_data_load_response.py | 51 + ...test_data_provider_auth_information_dto.py | 239 + .../test_data_provider_auth_params_dto.py | 237 + ...est_data_provider_basic_information_dto.py | 52 + .../test_data_provider_basic_metadata_dto.py | 51 + .../test/test_data_transfer_result_detail.py | 56 + .../test/test_data_upload_api.py | 38 + .../test/test_data_version_and_date_dto.py | 52 + .../test/test_data_version_object.py | 52 + .../test/test_dayforce_v2_auth_params_dto.py | 55 + .../test/test_dimensions_auth_params_dto.py | 56 + .../test/test_direct_data_intake_api.py | 87 + .../test/test_direct_data_job_config_dto.py | 54 + ...est_direct_data_job_status_response_dto.py | 55 + .../test/test_direct_data_load_config_dto.py | 55 + .../test/test_direct_data_schema_field_dto.py | 57 + ...ect_data_transaction_start_response_dto.py | 51 + ...st_direct_data_upload_file_response_dto.py | 53 + .../test/test_disable_dv_model.py | 55 + .../test/test_disable_dv_request.py | 56 + .../test/test_disable_dv_response.py | 60 + .../test_dispatching_job_status_response.py | 54 + .../test/test_exclude_data_uploads_request.py | 59 + .../test/test_extraction_job.py | 54 + ...test_extraction_job_and_status_response.py | 61 + .../test/test_extractor_credential_apidto.py | 55 + .../test/test_extractor_credentials_apidto.py | 60 + .../test/test_fusion_auth_params_dto.py | 53 + .../test/test_gong_auth_params_dto.py | 52 + .../test/test_google_protobuf_any.py | 51 + .../test_google_sheets_auth_params_dto.py | 54 + .../test_google_workspace_auth_params_dto.py | 53 + .../test/test_greenhouse_auth_params_dto.py | 51 + .../test/test_icims_auth_params_dto.py | 53 + .../test/test_import_definition_apidto.py | 53 + .../test/test_import_definitions_apidto.py | 58 + .../test/test_include_data_uploads_request.py | 59 + .../test/test_internal_s3_auth_params_dto.py | 52 + .../test/test_jdbc_auth_params_dto.py | 53 + .../test/test_jira_auth_params_dto.py | 56 + .../test/test_jira_connect_params_dto.py | 53 + .../test/test_job_cancellation_result_dto.py | 57 + .../test/test_job_cancellation_results_dto.py | 60 + .../test/test_job_status_list_response.py | 60 + .../test/test_job_status_with_start_time.py | 55 + .../test/test_lever_auth_params_dto.py | 51 + .../test/test_medallia_auth_params_dto.py | 54 + .../test/test_microsoft365_auth_params_dto.py | 53 + ...ltiple_tenant_data_versions_details_dto.py | 56 + ..._multiple_tenant_data_versions_list_dto.py | 61 + .../test/test_my_sql_auth_params_dto.py | 56 + .../test/test_namely_auth_params_dto.py | 51 + .../test/test_oracle_db_auth_params_dto.py | 55 + .../test/test_processing_job.py | 55 + ...test_processing_job_and_status_response.py | 62 + .../test_processing_job_status_response.py | 62 + .../test/test_push_data_cancel_response.py | 62 + .../test_push_data_column_definition_dto.py | 58 + .../test/test_push_data_complete_request.py | 52 + .../test/test_push_data_complete_response.py | 63 + .../test/test_push_data_response.py | 68 + .../test_push_data_source_definition_dto.py | 64 + .../test_push_data_source_definitions_dto.py | 67 + .../test/test_qualtrics_auth_params_dto.py | 52 + .../test/test_receiving_job.py | 53 + .../test_receiving_job_and_status_response.py | 60 + .../test_receiving_job_status_response.py | 60 + .../test/test_redshift_auth_params_dto.py | 57 + .../test/test_result.py | 55 + .../test/test_salesforce_auth_params_dto.py | 52 + .../test_salesforce_v2_auth_params_dto.py | 54 + .../test/test_service_now_auth_params_dto.py | 53 + .../test/test_slack_auth_params_dto.py | 53 + .../test/test_snowflake_auth_params_dto.py | 57 + .../test/test_source.py | 56 + .../test/test_sql_server_auth_params_dto.py | 55 + .../test/test_start_extraction_model.py | 68 + .../test/test_start_extraction_request.py | 69 + .../test/test_start_extraction_response.py | 51 + .../test/test_start_transfer_response.py | 51 + .../test/test_status.py | 55 + .../test/test_subject_missing_access_dto.py | 54 + .../test_success_factors_auth_params_dto.py | 58 + .../test_success_factors_o_auth_params_dto.py | 53 + .../test/test_tenant.py | 61 + .../test/test_tenant_and_credential.py | 52 + ..._tenant_data_upload_status_response_dto.py | 52 + ..._data_upload_update_status_response_dto.py | 54 + ...t_tenant_data_uploads_list_response_dto.py | 61 + .../test_tenant_data_uploads_response_dto.py | 56 + ...tenant_data_uploads_update_response_dto.py | 59 + .../test/test_ultimate_auth_params_dto.py | 55 + .../test/test_upload_to_exclude.py | 55 + .../test/test_upload_to_exclude_model.py | 58 + .../test/test_upload_to_include.py | 55 + .../test/test_upload_to_include_model.py | 58 + .../test/test_willow_auth_params_dto.py | 52 + .../test/test_workday_auth_params_dto.py | 64 + .../test/test_workday_o_auth_params_dto.py | 53 + .../test/test_workday_raas_auth_params_dto.py | 55 + .../test_workday_refresh_token_params_dto.py | 53 + .../test/test_zoom_auth_params_dto.py | 53 + src/visier.sdk.api.data_in/tox.ini | 9 + src/visier.sdk.api.data_in/visier/__init__.py | 0 .../visier/sdk/__init__.py | 0 .../visier/sdk/api/__init__.py | 0 .../visier/sdk/api/data_in/__init__.py | 155 + .../visier/sdk/api/data_in/api/__init__.py | 8 + .../data_in/api/data_and_job_handling_api.py | 6528 ++++++++++++++ .../sdk/api/data_in/api/data_intake_api.py | 1748 ++++ .../sdk/api/data_in/api/data_upload_api.py | 322 + .../api/data_in/api/direct_data_intake_api.py | 2298 +++++ .../visier/sdk/api/data_in/api_client.py | 796 ++ .../visier/sdk/api/data_in/api_response.py | 21 + .../visier/sdk/api/data_in/configuration.py | 795 ++ .../visier/sdk/api/data_in/exceptions.py | 199 + .../visier/sdk/api/data_in/models/__init__.py | 135 + .../api/data_in/models/adp_auth_params_dto.py | 87 + .../assign_connector_credential_request.py | 95 + ...ctor_credentials_by_tenant_response_dto.py | 111 + ...sign_connector_credentials_response_dto.py | 95 + ...connector_with_credentials_response_dto.py | 97 + .../assigned_credential_info_response_dto.py | 91 + .../data_in/models/bamboo_auth_params_dto.py | 89 + .../models/basic_s3_auth_params_dto.py | 95 + .../models/big_query_auth_params_dto.py | 103 + .../big_query_service_account_params_dto.py | 89 + .../cancel_job_batch_from_job_id_dto.py | 87 + .../sdk/api/data_in/models/connector.py | 97 + .../models/connector_info_response_dto.py | 91 + .../data_in/models/copy_s3_auth_params_dto.py | 87 + .../credential_creation_api_response_dto.py | 101 + .../models/data_categories_response_dto.py | 95 + .../models/data_category_response_dto.py | 89 + .../api/data_in/models/data_load_request.py | 91 + .../data_in/models/data_load_request_model.py | 89 + .../api/data_in/models/data_load_response.py | 87 + .../data_provider_auth_information_dto.py | 103 + .../models/data_provider_auth_params_dto.py | 331 + .../data_provider_basic_information_dto.py | 89 + .../data_provider_basic_metadata_dto.py | 87 + .../models/data_transfer_result_detail.py | 93 + .../models/data_version_and_date_dto.py | 89 + .../api/data_in/models/data_version_object.py | 89 + .../models/dayforce_v2_auth_params_dto.py | 95 + .../models/dimensions_auth_params_dto.py | 97 + .../models/direct_data_job_config_dto.py | 99 + .../direct_data_job_status_response_dto.py | 95 + .../models/direct_data_load_config_dto.py | 91 + .../models/direct_data_schema_field_dto.py | 95 + ...ect_data_transaction_start_response_dto.py | 87 + .../direct_data_upload_file_response_dto.py | 91 + .../api/data_in/models/disable_dv_model.py | 95 + .../api/data_in/models/disable_dv_request.py | 91 + .../api/data_in/models/disable_dv_response.py | 99 + .../models/dispatching_job_status_response.py | 93 + .../models/exclude_data_uploads_request.py | 91 + .../sdk/api/data_in/models/extraction_job.py | 93 + .../extraction_job_and_status_response.py | 103 + .../models/extractor_credential_apidto.py | 95 + .../models/extractor_credentials_apidto.py | 99 + .../data_in/models/fusion_auth_params_dto.py | 91 + .../data_in/models/gong_auth_params_dto.py | 89 + .../api/data_in/models/google_protobuf_any.py | 100 + .../models/google_sheets_auth_params_dto.py | 93 + .../google_workspace_auth_params_dto.py | 91 + .../models/greenhouse_auth_params_dto.py | 87 + .../data_in/models/icims_auth_params_dto.py | 91 + .../models/import_definition_apidto.py | 91 + .../models/import_definitions_apidto.py | 99 + .../models/include_data_uploads_request.py | 91 + .../models/internal_s3_auth_params_dto.py | 89 + .../data_in/models/jdbc_auth_params_dto.py | 91 + .../data_in/models/jira_auth_params_dto.py | 95 + .../data_in/models/jira_connect_params_dto.py | 91 + .../models/job_cancellation_result_dto.py | 109 + .../models/job_cancellation_results_dto.py | 95 + .../models/job_status_list_response.py | 99 + .../models/job_status_with_start_time.py | 95 + .../data_in/models/lever_auth_params_dto.py | 87 + .../models/medallia_auth_params_dto.py | 93 + .../models/microsoft365_auth_params_dto.py | 91 + ...ltiple_tenant_data_versions_details_dto.py | 97 + .../multiple_tenant_data_versions_list_dto.py | 99 + .../data_in/models/my_sql_auth_params_dto.py | 97 + .../data_in/models/namely_auth_params_dto.py | 87 + .../models/oracle_db_auth_params_dto.py | 95 + .../sdk/api/data_in/models/processing_job.py | 95 + .../processing_job_and_status_response.py | 103 + .../models/processing_job_status_response.py | 103 + .../models/push_data_cancel_response.py | 101 + .../models/push_data_column_definition_dto.py | 97 + .../models/push_data_complete_request.py | 89 + .../models/push_data_complete_response.py | 103 + .../api/data_in/models/push_data_response.py | 103 + .../models/push_data_source_definition_dto.py | 101 + .../push_data_source_definitions_dto.py | 95 + .../models/qualtrics_auth_params_dto.py | 89 + .../sdk/api/data_in/models/receiving_job.py | 91 + .../receiving_job_and_status_response.py | 103 + .../models/receiving_job_status_response.py | 103 + .../models/redshift_auth_params_dto.py | 99 + .../visier/sdk/api/data_in/models/result.py | 95 + .../models/salesforce_auth_params_dto.py | 89 + .../models/salesforce_v2_auth_params_dto.py | 93 + .../models/service_now_auth_params_dto.py | 91 + .../data_in/models/slack_auth_params_dto.py | 91 + .../models/snowflake_auth_params_dto.py | 99 + .../visier/sdk/api/data_in/models/source.py | 97 + .../models/sql_server_auth_params_dto.py | 95 + .../data_in/models/start_extraction_model.py | 113 + .../models/start_extraction_request.py | 91 + .../models/start_extraction_response.py | 87 + .../data_in/models/start_transfer_response.py | 87 + .../visier/sdk/api/data_in/models/status.py | 95 + .../models/subject_missing_access_dto.py | 99 + .../models/success_factors_auth_params_dto.py | 99 + .../success_factors_o_auth_params_dto.py | 91 + .../visier/sdk/api/data_in/models/tenant.py | 99 + .../data_in/models/tenant_and_credential.py | 89 + .../tenant_data_upload_status_response_dto.py | 89 + ..._data_upload_update_status_response_dto.py | 93 + .../tenant_data_uploads_list_response_dto.py | 99 + .../tenant_data_uploads_response_dto.py | 97 + ...tenant_data_uploads_update_response_dto.py | 99 + .../models/ultimate_auth_params_dto.py | 95 + .../api/data_in/models/upload_to_exclude.py | 91 + .../data_in/models/upload_to_exclude_model.py | 95 + .../api/data_in/models/upload_to_include.py | 91 + .../data_in/models/upload_to_include_model.py | 95 + .../data_in/models/willow_auth_params_dto.py | 89 + .../data_in/models/workday_auth_params_dto.py | 109 + .../models/workday_o_auth_params_dto.py | 91 + .../models/workday_raas_auth_params_dto.py | 95 + .../workday_refresh_token_params_dto.py | 91 + .../data_in/models/zoom_auth_params_dto.py | 91 + .../visier/sdk/api/data_in/py.typed | 0 .../visier/sdk/api/data_in/rest.py | 257 + .../.github/workflows/python.yml | 38 + src/visier.sdk.api.data_out/.gitignore | 66 + src/visier.sdk.api.data_out/.gitlab-ci.yml | 31 + .../.openapi-generator-ignore | 23 + .../.openapi-generator/FILES | 281 + .../.openapi-generator/VERSION | 1 + src/visier.sdk.api.data_out/.travis.yml | 17 + src/visier.sdk.api.data_out/README.md | 263 + .../docs/AggregationQueryDTO.md | 34 + .../docs/AggregationQueryExecutionDTO.md | 31 + .../docs/AggregationQuerySourceDTO.md | 32 + .../docs/AggregationQuerySourceMetricDTO.md | 33 + .../docs/AggregationQuerySourceMetricsDTO.md | 30 + .../docs/AggregationTypeParameterValueDTO.md | 31 + src/visier.sdk.api.data_out/docs/CellDTO.md | 33 + .../docs/CellDistributionBinDTO.md | 31 + .../docs/CellDistributionOptionsDTO.md | 30 + .../docs/CellSetAxisDTO.md | 31 + .../docs/CellSetAxisPositionDTO.md | 32 + .../docs/CellSetDTO.md | 32 + .../docs/CohortFilterDTO.md | 32 + .../docs/DataQueryApi.md | 412 + .../docs/DataVersionExportApi.md | 602 ++ .../docs/DataVersionExportColumnDTO.md | 32 + .../docs/DataVersionExportDTO.md | 35 + .../DataVersionExportDataVersionSummaryDTO.md | 31 + .../docs/DataVersionExportDataVersionsDTO.md | 29 + .../docs/DataVersionExportFileDTO.md | 30 + .../docs/DataVersionExportJobStatusDTO.md | 32 + .../docs/DataVersionExportPartFileDTO.md | 30 + .../DataVersionExportScheduleJobRequestDTO.md | 30 + ...DataVersionExportScheduleJobResponseDTO.md | 29 + .../docs/DataVersionExportTableDTO.md | 32 + .../docs/DataVersionExportsDTO.md | 29 + .../docs/DimensionMemberReferenceDTO.md | 30 + .../docs/DimensionReferenceDTO.md | 31 + .../docs/DocumentSearchLinkDTO.md | 31 + .../docs/DvExportStatus.md | 34 + .../docs/GoogleProtobufAny.md | 30 + .../docs/InternalQueryExecutionOptionsDTO.md | 31 + .../docs/KeyGroupFilterDTO.md | 30 + .../docs/KeyGroupFilterItemDTO.md | 32 + .../docs/LineageDTO.md | 31 + .../docs/ListQueryExecutionDTO.md | 36 + .../docs/ListQueryExecutionOptionsDTO.md | 40 + .../docs/ListQuerySourceDTO.md | 32 + .../docs/ListResponse.md | 30 + .../docs/MemberFilterDTO.md | 31 + .../docs/MemberParameterValueDTO.md | 33 + .../docs/MemberValuesDTO.md | 31 + .../docs/NumericParameterValueDTO.md | 31 + .../docs/PlanParameterValueDTO.md | 33 + .../docs/PropertyColumnDTO.md | 31 + .../docs/PropertyReferenceDTO.md | 31 + .../docs/QueryAxisDTO.md | 39 + .../docs/QueryAxisOptionsDTO.md | 31 + .../docs/QueryClarificationDTO.md | 29 + .../QueryDimensionDataMemberSelectionDTO.md | 30 + .../docs/QueryDimensionLeafSelectionDTO.md | 30 + .../docs/QueryDimensionLevelSelectionDTO.md | 31 + .../docs/QueryDimensionMemberSelectionDTO.md | 31 + .../docs/QueryExecutionOptionsDTO.md | 42 + .../docs/QueryFilterDTO.md | 33 + .../docs/QueryMemberMapPropertyDTO.md | 31 + .../docs/QueryMemberMapSelectionDTO.md | 32 + .../docs/QueryNumericRangesDTO.md | 34 + .../docs/QueryParameterValueDTO.md | 33 + .../docs/QueryPropertyDTO.md | 35 + .../docs/QueryTimeIntervalDTO.md | 36 + .../docs/QueryTimeIntervalsDTO.md | 39 + src/visier.sdk.api.data_out/docs/SearchApi.md | 112 + .../docs/SelectionConceptReferenceDTO.md | 31 + .../SimpleDocumentHeaderSearchResponseDTO.md | 30 + .../SimpleDocumentHeaderSearchResultDTO.md | 33 + .../docs/SnapshotQueryExecutionDTO.md | 35 + .../docs/SnapshotQueryExecutionOptionsDTO.md | 38 + .../docs/SortOptionDTO.md | 31 + .../docs/SqlLikeQueryExecutionDTO.md | 31 + src/visier.sdk.api.data_out/docs/Status.md | 32 + .../docs/TimeShiftDTO.md | 32 + .../docs/VeeDataDTO.md | 30 + .../docs/VeeFeedbackDTO.md | 32 + .../docs/VeeQueryApi.md | 338 + .../docs/VeeQueryCorrectionsDTO.md | 30 + .../docs/VeeResponseDTO.md | 38 + .../docs/VeeResponseSchemaDTO.md | 31 + .../docs/VeeResponseSchemaReferenceDTO.md | 30 + .../docs/VeeSampleQuestionDTO.md | 31 + .../docs/VeeSampleQuestionLibraryDTO.md | 29 + .../docs/VeeSampleQuestionMetadataDTO.md | 29 + .../docs/VeeStatusCodeDTO.md | 30 + .../docs/VeeThreadStateDTO.md | 29 + .../docs/VeeVisualDTO.md | 30 + src/visier.sdk.api.data_out/git_push.sh | 57 + src/visier.sdk.api.data_out/pyproject.toml | 71 + src/visier.sdk.api.data_out/requirements.txt | 6 + src/visier.sdk.api.data_out/setup.cfg | 2 + src/visier.sdk.api.data_out/setup.py | 50 + .../test-requirements.txt | 5 + src/visier.sdk.api.data_out/test/__init__.py | 0 .../test/test_aggregation_query_dto.py | 92 + .../test_aggregation_query_execution_dto.py | 97 + .../test/test_aggregation_query_source_dto.py | 60 + ...est_aggregation_query_source_metric_dto.py | 54 + ...st_aggregation_query_source_metrics_dto.py | 57 + ...st_aggregation_type_parameter_value_dto.py | 52 + .../test/test_cell_distribution_bin_dto.py | 52 + .../test_cell_distribution_options_dto.py | 51 + .../test/test_cell_dto.py | 60 + .../test/test_cell_set_axis_dto.py | 63 + .../test/test_cell_set_axis_position_dto.py | 57 + .../test/test_cell_set_dto.py | 110 + .../test/test_cohort_filter_dto.py | 66 + .../test/test_data_query_api.py | 59 + .../test/test_data_version_export_api.py | 73 + .../test_data_version_export_column_dto.py | 54 + ...version_export_data_version_summary_dto.py | 53 + ...t_data_version_export_data_versions_dto.py | 56 + .../test/test_data_version_export_dto.py | 69 + .../test/test_data_version_export_file_dto.py | 62 + ...test_data_version_export_job_status_dto.py | 54 + .../test_data_version_export_part_file_dto.py | 52 + ...version_export_schedule_job_request_dto.py | 52 + ...ersion_export_schedule_job_response_dto.py | 51 + .../test_data_version_export_table_dto.py | 80 + .../test/test_data_version_exports_dto.py | 72 + .../test_dimension_member_reference_dto.py | 53 + .../test/test_dimension_reference_dto.py | 52 + .../test/test_document_search_link_dto.py | 52 + .../test/test_dv_export_status.py | 55 + .../test/test_google_protobuf_any.py | 51 + ...st_internal_query_execution_options_dto.py | 52 + .../test/test_key_group_filter_dto.py | 56 + .../test/test_key_group_filter_item_dto.py | 57 + .../test/test_lineage_dto.py | 82 + .../test/test_list_query_execution_dto.py | 98 + .../test_list_query_execution_options_dto.py | 61 + .../test/test_list_query_source_dto.py | 53 + .../test/test_list_response.py | 54 + .../test/test_member_filter_dto.py | 63 + .../test/test_member_parameter_value_dto.py | 65 + .../test/test_member_values_dto.py | 62 + .../test/test_numeric_parameter_value_dto.py | 52 + .../test/test_plan_parameter_value_dto.py | 54 + .../test/test_property_column_dto.py | 58 + .../test/test_property_reference_dto.py | 52 + .../test/test_query_axis_dto.py | 94 + .../test/test_query_axis_options_dto.py | 52 + .../test/test_query_clarification_dto.py | 51 + ...ery_dimension_data_member_selection_dto.py | 53 + ...test_query_dimension_leaf_selection_dto.py | 53 + ...est_query_dimension_level_selection_dto.py | 56 + ...st_query_dimension_member_selection_dto.py | 59 + .../test/test_query_execution_options_dto.py | 66 + .../test/test_query_filter_dto.py | 61 + .../test_query_member_map_property_dto.py | 54 + .../test_query_member_map_selection_dto.py | 60 + .../test/test_query_numeric_ranges_dto.py | 61 + .../test/test_query_parameter_value_dto.py | 68 + .../test/test_query_property_dto.py | 64 + .../test/test_query_time_interval_dto.py | 60 + .../test/test_query_time_intervals_dto.py | 63 + .../test/test_search_api.py | 38 + .../test_selection_concept_reference_dto.py | 52 + ...ple_document_header_search_response_dto.py | 57 + ...imple_document_header_search_result_dto.py | 56 + .../test/test_snapshot_query_execution_dto.py | 99 + ...st_snapshot_query_execution_options_dto.py | 59 + .../test/test_sort_option_dto.py | 52 + .../test/test_sql_like_query_execution_dto.py | 68 + .../test/test_status.py | 53 + .../test/test_time_shift_dto.py | 53 + .../test/test_vee_data_dto.py | 52 + .../test/test_vee_feedback_dto.py | 91 + .../test/test_vee_query_api.py | 52 + .../test/test_vee_query_corrections_dto.py | 57 + .../test/test_vee_response_dto.py | 88 + .../test/test_vee_response_schema_dto.py | 67 + .../test_vee_response_schema_reference_dto.py | 54 + .../test/test_vee_sample_question_dto.py | 55 + .../test_vee_sample_question_library_dto.py | 58 + .../test_vee_sample_question_metadata_dto.py | 53 + .../test/test_vee_status_code_dto.py | 52 + .../test/test_vee_thread_state_dto.py | 53 + .../test/test_vee_visual_dto.py | 52 + src/visier.sdk.api.data_out/tox.ini | 9 + .../visier/__init__.py | 0 .../visier/sdk/__init__.py | 0 .../visier/sdk/api/__init__.py | 0 .../visier/sdk/api/data_out/__init__.py | 117 + .../visier/sdk/api/data_out/api/__init__.py | 8 + .../sdk/api/data_out/api/data_query_api.py | 1151 +++ .../data_out/api/data_version_export_api.py | 1620 ++++ .../visier/sdk/api/data_out/api/search_api.py | 338 + .../sdk/api/data_out/api/vee_query_api.py | 1093 +++ .../visier/sdk/api/data_out/api_client.py | 796 ++ .../visier/sdk/api/data_out/api_response.py | 21 + .../visier/sdk/api/data_out/configuration.py | 795 ++ .../visier/sdk/api/data_out/exceptions.py | 199 + .../sdk/api/data_out/models/__init__.py | 97 + .../data_out/models/aggregation_query_dto.py | 127 + .../models/aggregation_query_execution_dto.py | 97 + .../models/aggregation_query_source_dto.py | 95 + .../aggregation_query_source_metric_dto.py | 93 + .../aggregation_query_source_metrics_dto.py | 95 + .../aggregation_type_parameter_value_dto.py | 89 + .../models/cell_distribution_bin_dto.py | 89 + .../models/cell_distribution_options_dto.py | 87 + .../sdk/api/data_out/models/cell_dto.py | 101 + .../api/data_out/models/cell_set_axis_dto.py | 101 + .../models/cell_set_axis_position_dto.py | 91 + .../sdk/api/data_out/models/cell_set_dto.py | 113 + .../api/data_out/models/cohort_filter_dto.py | 99 + .../models/data_version_export_column_dto.py | 93 + ...version_export_data_version_summary_dto.py | 91 + .../data_version_export_data_versions_dto.py | 95 + .../models/data_version_export_dto.py | 107 + .../models/data_version_export_file_dto.py | 105 + .../data_version_export_job_status_dto.py | 93 + .../data_version_export_part_file_dto.py | 89 + ...version_export_schedule_job_request_dto.py | 89 + ...ersion_export_schedule_job_response_dto.py | 87 + .../models/data_version_export_table_dto.py | 100 + .../models/data_version_exports_dto.py | 95 + .../models/dimension_member_reference_dto.py | 87 + .../models/dimension_reference_dto.py | 89 + .../models/document_search_link_dto.py | 89 + .../api/data_out/models/dv_export_status.py | 95 + .../data_out/models/google_protobuf_any.py | 100 + .../internal_query_execution_options_dto.py | 99 + .../data_out/models/key_group_filter_dto.py | 95 + .../models/key_group_filter_item_dto.py | 99 + .../sdk/api/data_out/models/lineage_dto.py | 99 + .../models/list_query_execution_dto.py | 143 + .../list_query_execution_options_dto.py | 157 + .../data_out/models/list_query_source_dto.py | 91 + .../sdk/api/data_out/models/list_response.py | 100 + .../api/data_out/models/member_filter_dto.py | 97 + .../models/member_parameter_value_dto.py | 97 + .../api/data_out/models/member_values_dto.py | 104 + .../models/numeric_parameter_value_dto.py | 89 + .../models/plan_parameter_value_dto.py | 93 + .../data_out/models/property_column_dto.py | 93 + .../data_out/models/property_reference_dto.py | 89 + .../sdk/api/data_out/models/query_axis_dto.py | 140 + .../data_out/models/query_axis_options_dto.py | 99 + .../models/query_clarification_dto.py | 87 + ...ery_dimension_data_member_selection_dto.py | 91 + .../query_dimension_leaf_selection_dto.py | 91 + .../query_dimension_level_selection_dto.py | 93 + .../query_dimension_member_selection_dto.py | 101 + .../models/query_execution_options_dto.py | 179 + .../api/data_out/models/query_filter_dto.py | 105 + .../models/query_member_map_property_dto.py | 93 + .../models/query_member_map_selection_dto.py | 103 + .../models/query_numeric_ranges_dto.py | 99 + .../models/query_parameter_value_dto.py | 109 + .../api/data_out/models/query_property_dto.py | 113 + .../models/query_time_interval_dto.py | 123 + .../models/query_time_intervals_dto.py | 139 + .../models/selection_concept_reference_dto.py | 89 + ...ple_document_header_search_response_dto.py | 95 + ...imple_document_header_search_result_dto.py | 97 + .../models/snapshot_query_execution_dto.py | 143 + .../snapshot_query_execution_options_dto.py | 133 + .../api/data_out/models/sort_option_dto.py | 99 + .../models/sql_like_query_execution_dto.py | 93 + .../visier/sdk/api/data_out/models/status.py | 91 + .../sdk/api/data_out/models/time_shift_dto.py | 111 + .../sdk/api/data_out/models/vee_data_dto.py | 89 + .../api/data_out/models/vee_feedback_dto.py | 95 + .../models/vee_query_corrections_dto.py | 108 + .../api/data_out/models/vee_response_dto.py | 127 + .../models/vee_response_schema_dto.py | 106 + .../vee_response_schema_reference_dto.py | 89 + .../models/vee_sample_question_dto.py | 93 + .../models/vee_sample_question_library_dto.py | 95 + .../vee_sample_question_metadata_dto.py | 87 + .../data_out/models/vee_status_code_dto.py | 99 + .../data_out/models/vee_thread_state_dto.py | 87 + .../sdk/api/data_out/models/vee_visual_dto.py | 89 + .../visier/sdk/api/data_out/py.typed | 0 .../visier/sdk/api/data_out/rest.py | 257 + 1456 files changed, 160912 insertions(+) create mode 100644 src/visier.sdk.api.administration/.github/workflows/python.yml create mode 100644 src/visier.sdk.api.administration/.gitignore create mode 100644 src/visier.sdk.api.administration/.gitlab-ci.yml create mode 100644 src/visier.sdk.api.administration/.openapi-generator-ignore create mode 100644 src/visier.sdk.api.administration/.openapi-generator/FILES create mode 100644 src/visier.sdk.api.administration/.openapi-generator/VERSION create mode 100644 src/visier.sdk.api.administration/.travis.yml create mode 100644 src/visier.sdk.api.administration/README.md create mode 100644 src/visier.sdk.api.administration/docs/AccessibleTenantProfileAssignmentRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AccessibleTenantProfileAssignmentResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AccessibleTenantProfileRevokeRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AccessibleTenantProfileRevokeResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AdditionalCapabilitiesDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AdminCapabilityConfigDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AllPermissionsAssignedForLocalTenantDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AllProfileAssignedForAccessibleTenantDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AllProfileAssignedForLocalTenantDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AllTenantsStatusAPIDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AllUserGroupsAssignedForLocalTenantDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AllUsersGetAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AnalyticObjectDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AssignRevokePermissionByPermissionDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AssignRevokePermissionByTenantDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AssignRevokePermissionByUserDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AssignRevokePermissionRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AssignRevokePermissionsRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/AssignRevokePermissionsResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/BulkDataAccessSetResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/BusinessLocationDTO.md create mode 100644 src/visier.sdk.api.administration/docs/CapabilitiesDTO.md create mode 100644 src/visier.sdk.api.administration/docs/CapabilityDTO.md create mode 100644 src/visier.sdk.api.administration/docs/CommitAndPublishOperationResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/CommitDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPIExcludedSourceListDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPISourceTenantListDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantCreateRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantListResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantWithDetails.md create mode 100644 src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsApi.md create mode 100644 src/visier.sdk.api.administration/docs/ContentPackageDTO.md create mode 100644 src/visier.sdk.api.administration/docs/CreateDataAccessSetRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/CustomPropertyDTO.md create mode 100644 src/visier.sdk.api.administration/docs/CustomTenantPropertyDTO.md create mode 100644 src/visier.sdk.api.administration/docs/DataAccessSetDTO.md create mode 100644 src/visier.sdk.api.administration/docs/DataAccessSetErrorDTO.md create mode 100644 src/visier.sdk.api.administration/docs/DataAccessSetFailureDTO.md create mode 100644 src/visier.sdk.api.administration/docs/DataAccessSetSuccessDTO.md create mode 100644 src/visier.sdk.api.administration/docs/DataSecurityProfileDTO.md create mode 100644 src/visier.sdk.api.administration/docs/DeletePermissionsRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/DeleteUserGroupV2Request.md create mode 100644 src/visier.sdk.api.administration/docs/DimensionFilterDTO.md create mode 100644 src/visier.sdk.api.administration/docs/DynamicDimensionFilterDTO.md create mode 100644 src/visier.sdk.api.administration/docs/DynamicPropertyMappingDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ElementIDsDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ErrorDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ExcludedSourcesBody.md create mode 100644 src/visier.sdk.api.administration/docs/ExportProductionVersionsAPIOperationParametersDTO.md create mode 100644 src/visier.sdk.api.administration/docs/FailedAccessibleTenantProfileAssignmentDTO.md create mode 100644 src/visier.sdk.api.administration/docs/FailedLocalTenantProfileAssignmentDTO.md create mode 100644 src/visier.sdk.api.administration/docs/FailedLocalTenantProfileRevokeDTO.md create mode 100644 src/visier.sdk.api.administration/docs/GetCapabilitiesAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/GetContentPackagesAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/GetDataAccessSetsAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/GetDataSecurityObjectsAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/GetPermissionsAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/GetProductionVersionsAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/GetProjectCommitsAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/GetProjectsAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/GoogleProtobufAny.md create mode 100644 src/visier.sdk.api.administration/docs/HierarchyPropertyDTO.md create mode 100644 src/visier.sdk.api.administration/docs/HomeAnalysisByUserGroupDTO.md create mode 100644 src/visier.sdk.api.administration/docs/InheritedAccessConfigDTO.md create mode 100644 src/visier.sdk.api.administration/docs/InheritedReferenceMemberFilterConfigDTO.md create mode 100644 src/visier.sdk.api.administration/docs/LastLoginDTO.md create mode 100644 src/visier.sdk.api.administration/docs/LocalTenantProfileAssignmentRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/LocalTenantProfileAssignmentResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/LocalTenantProfileRevokeRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/LocalTenantProfileRevokeResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/MaskMessage.md create mode 100644 src/visier.sdk.api.administration/docs/MemberFilterConfigDTO.md create mode 100644 src/visier.sdk.api.administration/docs/MemberSelectionDTO.md create mode 100644 src/visier.sdk.api.administration/docs/MetricValidationSummaryDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ModuleSettingsDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionAssignedByTenantDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionAssignedForLocalTenantDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionAssignedUserDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionAssignedUsersDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionBulkOperationResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionErrorDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionFailureDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionSuccessDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionsApi.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionsListDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionsToUserGroupForTenantDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionsToUserGroupRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PermissionsToUserGroupsRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ProductionVersionsAPIOperationRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ProductionVersionsAPIOperationResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ProductionVersionsApi.md create mode 100644 src/visier.sdk.api.administration/docs/ProfileAssignedForAccessibleTenantDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ProfileAssignedForLocalTenantDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ProfileGetAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ProfilesApi.md create mode 100644 src/visier.sdk.api.administration/docs/ProfilesGetAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ProjectDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ProjectOperationRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ProjectOperationResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ProjectsApi.md create mode 100644 src/visier.sdk.api.administration/docs/PropertyAccessConfigDTO.md create mode 100644 src/visier.sdk.api.administration/docs/PropertySetConfigDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ReducedErrorDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ReducedTenantCodeErrorDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ReducedUserIdErrorDTO.md create mode 100644 src/visier.sdk.api.administration/docs/RelatedAnalyticObjectDTO.md create mode 100644 src/visier.sdk.api.administration/docs/RoleModulesConfigDTO.md create mode 100644 src/visier.sdk.api.administration/docs/SecurableDimensionDTO.md create mode 100644 src/visier.sdk.api.administration/docs/SecurablePropertyDTO.md create mode 100644 src/visier.sdk.api.administration/docs/SecurityAssignmentResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/ShareableDataAccessSet.md create mode 100644 src/visier.sdk.api.administration/docs/SimpleUserDTO.md create mode 100644 src/visier.sdk.api.administration/docs/StaticDimensionFilterDTO.md create mode 100644 src/visier.sdk.api.administration/docs/Status.md create mode 100644 src/visier.sdk.api.administration/docs/SuccessfulAccessibleTenantProfileAssignmentDTO.md create mode 100644 src/visier.sdk.api.administration/docs/SuccessfulLocalTenantProfileAssignmentDTO.md create mode 100644 src/visier.sdk.api.administration/docs/SystemStatusApi.md create mode 100644 src/visier.sdk.api.administration/docs/SystemStatusDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TargetProjectForTenantDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TargetProjectForTenantsListDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TargetTenantCodeDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TenantAssignmentsDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TenantCodeBody.md create mode 100644 src/visier.sdk.api.administration/docs/TenantCodeErrorDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TenantDetailAPIDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TenantManagementAPIGetResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TenantManagementAPIListResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TenantManagementAPIUpdateRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TenantManagementAPIUpdateResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TenantModuleDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TenantPreviewEntriesSummaryDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TenantPreviewEntriesSummaryListDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TenantProvisionAPIDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TenantStatusAPIDTO.md create mode 100644 src/visier.sdk.api.administration/docs/TenantsV1Api.md create mode 100644 src/visier.sdk.api.administration/docs/TenantsV2Api.md create mode 100644 src/visier.sdk.api.administration/docs/UpdateTenantModel.md create mode 100644 src/visier.sdk.api.administration/docs/UserCreationAPIRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserCreationAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGetAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupAssignedForLocalTenantDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupChangeDefinitionDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupChangeDimensionFilterDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupChangeFailureDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupChangeFilterDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupChangeMemberSelectionDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupChangeResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupChangeSuccessDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupChangeUsersDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupDeleteDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupDeleteFailureDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupDeleteResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupDeleteSuccessDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupFiltersDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupGetAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupSingleDeleteResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupsChangeDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupsDeleteRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupsGetAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupsUsersDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupsUsersForTenantDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserGroupsV2Api.md create mode 100644 src/visier.sdk.api.administration/docs/UserIdErrorDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserPropertyDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserSecurityAssignmentsDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UserUpdateAPIRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UsersAPIErrorMessageDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UsersAPIFailureDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UsersAPIResponseDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UsersAPISuccessDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UsersCreationAPIRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UsersDeleteAPIRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UsersToUserGroupRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UsersToUserGroupsRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UsersUpdateAPIRequestDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UsersUpdateAPIUserDTO.md create mode 100644 src/visier.sdk.api.administration/docs/UsersV1Api.md create mode 100644 src/visier.sdk.api.administration/docs/UsersV2Api.md create mode 100644 src/visier.sdk.api.administration/git_push.sh create mode 100644 src/visier.sdk.api.administration/pyproject.toml create mode 100644 src/visier.sdk.api.administration/requirements.txt create mode 100644 src/visier.sdk.api.administration/setup.cfg create mode 100644 src/visier.sdk.api.administration/setup.py create mode 100644 src/visier.sdk.api.administration/test-requirements.txt create mode 100644 src/visier.sdk.api.administration/test/__init__.py create mode 100644 src/visier.sdk.api.administration/test/test_accessible_tenant_profile_assignment_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_accessible_tenant_profile_assignment_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_accessible_tenant_profile_revoke_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_accessible_tenant_profile_revoke_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_additional_capabilities_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_admin_capability_config_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_all_permissions_assigned_for_local_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_all_profile_assigned_for_accessible_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_all_profile_assigned_for_local_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_all_tenants_status_apidto.py create mode 100644 src/visier.sdk.api.administration/test/test_all_user_groups_assigned_for_local_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_all_users_get_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_analytic_object_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_assign_revoke_permission_by_permission_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_assign_revoke_permission_by_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_assign_revoke_permission_by_user_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_assign_revoke_permission_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_assign_revoke_permissions_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_assign_revoke_permissions_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_bulk_data_access_set_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_business_location_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_capabilities_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_capability_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_commit_and_publish_operation_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_commit_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_consolidated_analytics_api.py create mode 100644 src/visier.sdk.api.administration/test/test_consolidated_analytics_api_excluded_source_list_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_consolidated_analytics_api_source_tenant_list_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_create_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_list_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_with_details.py create mode 100644 src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_with_details_list_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_content_package_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_create_data_access_set_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_custom_property_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_custom_tenant_property_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_data_access_set_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_data_access_set_error_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_data_access_set_failure_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_data_access_set_success_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_data_security_profile_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_delete_permissions_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_delete_user_group_v2_request.py create mode 100644 src/visier.sdk.api.administration/test/test_dimension_filter_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_dynamic_dimension_filter_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_dynamic_property_mapping_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_element_ids_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_error_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_excluded_sources_body.py create mode 100644 src/visier.sdk.api.administration/test/test_export_production_versions_api_operation_parameters_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_failed_accessible_tenant_profile_assignment_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_failed_local_tenant_profile_assignment_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_failed_local_tenant_profile_revoke_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_get_capabilities_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_get_content_packages_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_get_data_access_sets_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_get_data_security_objects_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_get_permissions_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_get_production_versions_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_get_project_commits_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_get_projects_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_google_protobuf_any.py create mode 100644 src/visier.sdk.api.administration/test/test_hierarchy_property_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_home_analysis_by_user_group_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_inherited_access_config_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_inherited_reference_member_filter_config_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_last_login_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_local_tenant_profile_assignment_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_local_tenant_profile_assignment_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_local_tenant_profile_revoke_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_local_tenant_profile_revoke_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_mask_message.py create mode 100644 src/visier.sdk.api.administration/test/test_member_filter_config_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_member_selection_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_metric_validation_summary_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_module_settings_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permission_assigned_by_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permission_assigned_for_local_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permission_assigned_user_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permission_assigned_users_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permission_bulk_operation_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permission_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permission_error_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permission_failure_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permission_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permission_success_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permissions_api.py create mode 100644 src/visier.sdk.api.administration/test/test_permissions_list_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permissions_to_user_group_for_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permissions_to_user_group_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_permissions_to_user_groups_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_production_versions_api.py create mode 100644 src/visier.sdk.api.administration/test/test_production_versions_api_operation_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_production_versions_api_operation_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_profile_assigned_for_accessible_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_profile_assigned_for_local_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_profile_get_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_profiles_api.py create mode 100644 src/visier.sdk.api.administration/test/test_profiles_get_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_project_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_project_operation_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_project_operation_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_projects_api.py create mode 100644 src/visier.sdk.api.administration/test/test_property_access_config_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_property_set_config_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_reduced_error_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_reduced_tenant_code_error_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_reduced_user_id_error_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_related_analytic_object_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_role_modules_config_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_securable_dimension_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_securable_property_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_security_assignment_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_shareable_data_access_set.py create mode 100644 src/visier.sdk.api.administration/test/test_simple_user_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_static_dimension_filter_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_status.py create mode 100644 src/visier.sdk.api.administration/test/test_successful_accessible_tenant_profile_assignment_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_successful_local_tenant_profile_assignment_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_system_status_api.py create mode 100644 src/visier.sdk.api.administration/test/test_system_status_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_target_project_for_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_target_project_for_tenants_list_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_target_tenant_code_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_tenant_assignments_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_tenant_code_body.py create mode 100644 src/visier.sdk.api.administration/test/test_tenant_code_error_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_tenant_detail_apidto.py create mode 100644 src/visier.sdk.api.administration/test/test_tenant_management_api_get_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_tenant_management_api_list_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_tenant_management_api_update_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_tenant_management_api_update_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_tenant_module_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_tenant_preview_entries_summary_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_tenant_preview_entries_summary_list_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_tenant_provision_apidto.py create mode 100644 src/visier.sdk.api.administration/test/test_tenant_status_apidto.py create mode 100644 src/visier.sdk.api.administration/test/test_tenants_v1_api.py create mode 100644 src/visier.sdk.api.administration/test/test_tenants_v2_api.py create mode 100644 src/visier.sdk.api.administration/test/test_update_tenant_model.py create mode 100644 src/visier.sdk.api.administration/test/test_user_creation_api_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_creation_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_get_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_assigned_for_local_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_change_definition_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_change_dimension_filter_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_change_failure_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_change_filter_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_change_member_selection_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_change_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_change_success_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_change_users_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_delete_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_delete_failure_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_delete_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_delete_success_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_filters_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_get_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_group_single_delete_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_groups_change_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_groups_delete_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_groups_get_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_groups_users_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_groups_users_for_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_groups_v2_api.py create mode 100644 src/visier.sdk.api.administration/test/test_user_id_error_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_property_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_security_assignments_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_user_update_api_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_users_api_error_message_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_users_api_failure_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_users_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_users_api_success_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_users_creation_api_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_users_delete_api_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_users_to_user_group_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_users_to_user_groups_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_users_update_api_request_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_users_update_api_user_dto.py create mode 100644 src/visier.sdk.api.administration/test/test_users_v1_api.py create mode 100644 src/visier.sdk.api.administration/test/test_users_v2_api.py create mode 100644 src/visier.sdk.api.administration/tox.ini create mode 100644 src/visier.sdk.api.administration/visier/__init__.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/__init__.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/__init__.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/__init__.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api/__init__.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api/consolidated_analytics_api.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api/permissions_api.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api/production_versions_api.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api/profiles_api.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api/projects_api.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api/system_status_api.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api/tenants_v1_api.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api/tenants_v2_api.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api/user_groups_v2_api.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api/users_v1_api.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api/users_v2_api.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api_client.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/api_response.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/configuration.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/exceptions.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/__init__.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_assignment_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_assignment_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_revoke_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_revoke_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/additional_capabilities_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/admin_capability_config_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_permissions_assigned_for_local_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_profile_assigned_for_accessible_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_profile_assigned_for_local_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_tenants_status_apidto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_user_groups_assigned_for_local_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_users_get_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/analytic_object_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_by_permission_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_by_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_by_user_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permissions_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permissions_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/bulk_data_access_set_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/business_location_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/capabilities_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/capability_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/commit_and_publish_operation_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/commit_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_excluded_source_list_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_source_tenant_list_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_create_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_list_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_with_details.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_with_details_list_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/content_package_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/create_data_access_set_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/custom_property_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/custom_tenant_property_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_error_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_failure_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_success_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_security_profile_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/delete_permissions_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/delete_user_group_v2_request.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/dimension_filter_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/dynamic_dimension_filter_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/dynamic_property_mapping_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/element_ids_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/error_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/excluded_sources_body.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/export_production_versions_api_operation_parameters_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/failed_accessible_tenant_profile_assignment_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/failed_local_tenant_profile_assignment_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/failed_local_tenant_profile_revoke_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_capabilities_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_content_packages_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_data_access_sets_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_data_security_objects_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_permissions_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_production_versions_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_project_commits_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_projects_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/google_protobuf_any.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/hierarchy_property_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/home_analysis_by_user_group_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/inherited_access_config_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/inherited_reference_member_filter_config_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/last_login_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_assignment_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_assignment_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_revoke_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_revoke_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/mask_message.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/member_filter_config_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/member_selection_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/metric_validation_summary_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/module_settings_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_by_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_for_local_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_user_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_users_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_bulk_operation_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_error_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_failure_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_success_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_list_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_to_user_group_for_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_to_user_group_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_to_user_groups_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/production_versions_api_operation_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/production_versions_api_operation_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/profile_assigned_for_accessible_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/profile_assigned_for_local_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/profile_get_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/profiles_get_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/project_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/project_operation_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/project_operation_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/property_access_config_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/property_set_config_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/reduced_error_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/reduced_tenant_code_error_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/reduced_user_id_error_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/related_analytic_object_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/role_modules_config_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/securable_dimension_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/securable_property_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/security_assignment_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/shareable_data_access_set.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/simple_user_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/static_dimension_filter_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/status.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/successful_accessible_tenant_profile_assignment_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/successful_local_tenant_profile_assignment_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/system_status_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/target_project_for_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/target_project_for_tenants_list_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/target_tenant_code_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_assignments_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_code_body.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_code_error_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_detail_apidto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_get_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_list_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_update_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_update_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_module_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_preview_entries_summary_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_preview_entries_summary_list_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_provision_apidto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_status_apidto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/update_tenant_model.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_creation_api_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_creation_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_get_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_assigned_for_local_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_definition_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_dimension_filter_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_failure_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_filter_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_member_selection_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_success_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_users_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_failure_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_success_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_filters_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_get_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_single_delete_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_change_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_delete_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_get_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_users_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_users_for_tenant_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_id_error_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_property_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_security_assignments_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_update_api_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_error_message_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_failure_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_response_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_success_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_creation_api_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_delete_api_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_to_user_group_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_to_user_groups_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_update_api_request_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_update_api_user_dto.py create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/py.typed create mode 100644 src/visier.sdk.api.administration/visier/sdk/api/administration/rest.py create mode 100644 src/visier.sdk.api.analytic_model/.github/workflows/python.yml create mode 100644 src/visier.sdk.api.analytic_model/.gitignore create mode 100644 src/visier.sdk.api.analytic_model/.gitlab-ci.yml create mode 100644 src/visier.sdk.api.analytic_model/.openapi-generator-ignore create mode 100644 src/visier.sdk.api.analytic_model/.openapi-generator/FILES create mode 100644 src/visier.sdk.api.analytic_model/.openapi-generator/VERSION create mode 100644 src/visier.sdk.api.analytic_model/.travis.yml create mode 100644 src/visier.sdk.api.analytic_model/README.md create mode 100644 src/visier.sdk.api.analytic_model/docs/AggregationTypeOptionDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/AggregationTypeParameterDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/AnalyticObjectDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/AnalyticObjectFilterDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/AnalyticObjectsDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/CalculationConceptConfigurationDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/CalculationConceptConfigurationMapDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/CalculationConceptDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/CalculationConceptListDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/ConceptConfigurationResultDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/CurrenciesDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/CurrencyDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/CurrencyRateDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/CurrencyRatesDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/DataModelApi.md create mode 100644 src/visier.sdk.api.analytic_model/docs/DimensionDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/DimensionFilterDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/DimensionMappingValidationDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/DimensionMappingValidationExecutionDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/DimensionMemberDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/DimensionMemberReferenceDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/DimensionReferenceDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/DimensionsDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/GoogleProtobufAny.md create mode 100644 src/visier.sdk.api.analytic_model/docs/LevelDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/MemberDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/MemberParameterDefinitionDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/MemberValuesDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/MembersDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/MetricDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/MetricsDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/NumericParameterDefinitionDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/ObjectConfigurationApi.md create mode 100644 src/visier.sdk.api.analytic_model/docs/ObjectReferenceDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/ParameterDefinitionDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PerspectiveConfigurationDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PerspectiveNodeDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PlanParameterDefinitionDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PlanningConceptFilterContextDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PlanningHierarchyFilterContextDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PlanningModelDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PlanningModelsDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PlanningPlanContextDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PlanningPlanDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PlanningPlansDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PopulationConfigurationDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PredictionDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PredictionsDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PropertiesDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PropertyDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/PropertyReferenceDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/ScenarioOrSnapshotDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/SelectionConceptConfigurationMapDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/SelectionConceptDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/SelectionConceptListDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/SelectionConceptsDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/Status.md create mode 100644 src/visier.sdk.api.analytic_model/docs/TagMapElementDTO.md create mode 100644 src/visier.sdk.api.analytic_model/docs/ValidityRangeDTO.md create mode 100644 src/visier.sdk.api.analytic_model/git_push.sh create mode 100644 src/visier.sdk.api.analytic_model/pyproject.toml create mode 100644 src/visier.sdk.api.analytic_model/requirements.txt create mode 100644 src/visier.sdk.api.analytic_model/setup.cfg create mode 100644 src/visier.sdk.api.analytic_model/setup.py create mode 100644 src/visier.sdk.api.analytic_model/test-requirements.txt create mode 100644 src/visier.sdk.api.analytic_model/test/__init__.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_aggregation_type_option_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_aggregation_type_parameter_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_analytic_object_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_analytic_object_filter_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_analytic_objects_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_calculation_concept_configuration_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_calculation_concept_configuration_map_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_calculation_concept_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_calculation_concept_list_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_concept_configuration_result_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_currencies_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_currency_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_currency_rate_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_currency_rates_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_data_model_api.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_dimension_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_dimension_filter_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_dimension_mapping_validation_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_dimension_mapping_validation_execution_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_dimension_member_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_dimension_member_reference_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_dimension_reference_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_dimensions_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_google_protobuf_any.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_level_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_member_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_member_parameter_definition_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_member_values_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_members_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_metric_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_metrics_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_numeric_parameter_definition_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_object_configuration_api.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_object_reference_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_parameter_definition_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_perspective_configuration_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_perspective_node_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_plan_parameter_definition_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_planning_concept_filter_context_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_planning_hierarchy_filter_context_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_planning_model_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_planning_models_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_planning_plan_context_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_planning_plan_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_planning_plans_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_population_configuration_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_prediction_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_predictions_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_properties_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_property_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_property_reference_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_scenario_or_snapshot_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_selection_concept_configuration_map_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_selection_concept_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_selection_concept_list_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_selection_concepts_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_status.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_tag_map_element_dto.py create mode 100644 src/visier.sdk.api.analytic_model/test/test_validity_range_dto.py create mode 100644 src/visier.sdk.api.analytic_model/tox.ini create mode 100644 src/visier.sdk.api.analytic_model/visier/__init__.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/__init__.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/__init__.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/__init__.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api/__init__.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api/data_model_api.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api/object_configuration_api.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api_client.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api_response.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/configuration.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/exceptions.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/__init__.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/aggregation_type_option_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/aggregation_type_parameter_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/analytic_object_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/analytic_object_filter_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/analytic_objects_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_configuration_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_configuration_map_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_list_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/concept_configuration_result_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currencies_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currency_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currency_rate_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currency_rates_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_filter_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_mapping_validation_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_mapping_validation_execution_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_member_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_member_reference_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_reference_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimensions_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/google_protobuf_any.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/level_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/member_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/member_parameter_definition_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/member_values_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/members_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/metric_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/metrics_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/numeric_parameter_definition_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/object_reference_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/parameter_definition_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/perspective_configuration_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/perspective_node_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/plan_parameter_definition_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_concept_filter_context_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_hierarchy_filter_context_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_model_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_models_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_plan_context_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_plan_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_plans_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/population_configuration_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/prediction_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/predictions_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/properties_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/property_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/property_reference_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/scenario_or_snapshot_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concept_configuration_map_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concept_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concept_list_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concepts_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/status.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/tag_map_element_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/validity_range_dto.py create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/py.typed create mode 100644 src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/rest.py create mode 100644 src/visier.sdk.api.data_in/.github/workflows/python.yml create mode 100644 src/visier.sdk.api.data_in/.gitignore create mode 100644 src/visier.sdk.api.data_in/.gitlab-ci.yml create mode 100644 src/visier.sdk.api.data_in/.openapi-generator-ignore create mode 100644 src/visier.sdk.api.data_in/.openapi-generator/FILES create mode 100644 src/visier.sdk.api.data_in/.openapi-generator/VERSION create mode 100644 src/visier.sdk.api.data_in/.travis.yml create mode 100644 src/visier.sdk.api.data_in/README.md create mode 100644 src/visier.sdk.api.data_in/docs/AdpAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/AssignConnectorCredentialRequest.md create mode 100644 src/visier.sdk.api.data_in/docs/AssignConnectorCredentialsByTenantResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/AssignConnectorCredentialsResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/AssignConnectorWithCredentialsResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/AssignedCredentialInfoResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/BambooAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/BasicS3AuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/BigQueryAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/BigQueryServiceAccountParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/CancelJobBatchFromJobIdDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/Connector.md create mode 100644 src/visier.sdk.api.data_in/docs/ConnectorInfoResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/CopyS3AuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/CredentialCreationAPIResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DataAndJobHandlingApi.md create mode 100644 src/visier.sdk.api.data_in/docs/DataCategoriesResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DataCategoryResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DataIntakeApi.md create mode 100644 src/visier.sdk.api.data_in/docs/DataLoadRequest.md create mode 100644 src/visier.sdk.api.data_in/docs/DataLoadRequestModel.md create mode 100644 src/visier.sdk.api.data_in/docs/DataLoadResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/DataProviderAuthInformationDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DataProviderAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DataProviderBasicInformationDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DataProviderBasicMetadataDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DataTransferResultDetail.md create mode 100644 src/visier.sdk.api.data_in/docs/DataUploadApi.md create mode 100644 src/visier.sdk.api.data_in/docs/DataVersionAndDateDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DataVersionObject.md create mode 100644 src/visier.sdk.api.data_in/docs/DayforceV2AuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DimensionsAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DirectDataIntakeApi.md create mode 100644 src/visier.sdk.api.data_in/docs/DirectDataJobConfigDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DirectDataJobStatusResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DirectDataLoadConfigDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DirectDataSchemaFieldDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DirectDataTransactionStartResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DirectDataUploadFileResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/DisableDVModel.md create mode 100644 src/visier.sdk.api.data_in/docs/DisableDVRequest.md create mode 100644 src/visier.sdk.api.data_in/docs/DisableDVResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/DispatchingJobStatusResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/ExcludeDataUploadsRequest.md create mode 100644 src/visier.sdk.api.data_in/docs/ExtractionJob.md create mode 100644 src/visier.sdk.api.data_in/docs/ExtractionJobAndStatusResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/ExtractorCredentialAPIDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/ExtractorCredentialsAPIDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/FusionAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/GongAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/GoogleProtobufAny.md create mode 100644 src/visier.sdk.api.data_in/docs/GoogleSheetsAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/GoogleWorkspaceAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/GreenhouseAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/IcimsAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/ImportDefinitionAPIDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/ImportDefinitionsAPIDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/IncludeDataUploadsRequest.md create mode 100644 src/visier.sdk.api.data_in/docs/InternalS3AuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/JdbcAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/JiraAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/JiraConnectParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/JobCancellationResultDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/JobCancellationResultsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/JobStatusListResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/JobStatusWithStartTime.md create mode 100644 src/visier.sdk.api.data_in/docs/LeverAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/MedalliaAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/Microsoft365AuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/MultipleTenantDataVersionsDetailsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/MultipleTenantDataVersionsListDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/MySqlAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/NamelyAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/OracleDbAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/ProcessingJob.md create mode 100644 src/visier.sdk.api.data_in/docs/ProcessingJobAndStatusResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/ProcessingJobStatusResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/PushDataCancelResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/PushDataColumnDefinitionDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/PushDataCompleteRequest.md create mode 100644 src/visier.sdk.api.data_in/docs/PushDataCompleteResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/PushDataResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/PushDataSourceDefinitionDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/PushDataSourceDefinitionsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/QualtricsAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/ReceivingJob.md create mode 100644 src/visier.sdk.api.data_in/docs/ReceivingJobAndStatusResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/ReceivingJobStatusResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/RedshiftAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/Result.md create mode 100644 src/visier.sdk.api.data_in/docs/SalesforceAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/SalesforceV2AuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/ServiceNowAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/SlackAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/SnowflakeAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/Source.md create mode 100644 src/visier.sdk.api.data_in/docs/SqlServerAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/StartExtractionModel.md create mode 100644 src/visier.sdk.api.data_in/docs/StartExtractionRequest.md create mode 100644 src/visier.sdk.api.data_in/docs/StartExtractionResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/StartTransferResponse.md create mode 100644 src/visier.sdk.api.data_in/docs/Status.md create mode 100644 src/visier.sdk.api.data_in/docs/SubjectMissingAccessDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/SuccessFactorsAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/SuccessFactorsOAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/Tenant.md create mode 100644 src/visier.sdk.api.data_in/docs/TenantAndCredential.md create mode 100644 src/visier.sdk.api.data_in/docs/TenantDataUploadStatusResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/TenantDataUploadUpdateStatusResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/TenantDataUploadsListResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/TenantDataUploadsResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/TenantDataUploadsUpdateResponseDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/UltimateAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/UploadToExclude.md create mode 100644 src/visier.sdk.api.data_in/docs/UploadToExcludeModel.md create mode 100644 src/visier.sdk.api.data_in/docs/UploadToInclude.md create mode 100644 src/visier.sdk.api.data_in/docs/UploadToIncludeModel.md create mode 100644 src/visier.sdk.api.data_in/docs/WillowAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/WorkdayAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/WorkdayOAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/WorkdayRaasAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/WorkdayRefreshTokenParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/docs/ZoomAuthParamsDTO.md create mode 100644 src/visier.sdk.api.data_in/git_push.sh create mode 100644 src/visier.sdk.api.data_in/pyproject.toml create mode 100644 src/visier.sdk.api.data_in/requirements.txt create mode 100644 src/visier.sdk.api.data_in/setup.cfg create mode 100644 src/visier.sdk.api.data_in/setup.py create mode 100644 src/visier.sdk.api.data_in/test-requirements.txt create mode 100644 src/visier.sdk.api.data_in/test/__init__.py create mode 100644 src/visier.sdk.api.data_in/test/test_adp_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_assign_connector_credential_request.py create mode 100644 src/visier.sdk.api.data_in/test/test_assign_connector_credentials_by_tenant_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_assign_connector_credentials_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_assign_connector_with_credentials_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_assigned_credential_info_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_bamboo_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_basic_s3_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_big_query_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_big_query_service_account_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_cancel_job_batch_from_job_id_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_connector.py create mode 100644 src/visier.sdk.api.data_in/test/test_connector_info_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_copy_s3_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_credential_creation_api_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_and_job_handling_api.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_categories_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_category_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_intake_api.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_load_request.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_load_request_model.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_load_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_provider_auth_information_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_provider_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_provider_basic_information_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_provider_basic_metadata_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_transfer_result_detail.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_upload_api.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_version_and_date_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_data_version_object.py create mode 100644 src/visier.sdk.api.data_in/test/test_dayforce_v2_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_dimensions_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_direct_data_intake_api.py create mode 100644 src/visier.sdk.api.data_in/test/test_direct_data_job_config_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_direct_data_job_status_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_direct_data_load_config_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_direct_data_schema_field_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_direct_data_transaction_start_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_direct_data_upload_file_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_disable_dv_model.py create mode 100644 src/visier.sdk.api.data_in/test/test_disable_dv_request.py create mode 100644 src/visier.sdk.api.data_in/test/test_disable_dv_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_dispatching_job_status_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_exclude_data_uploads_request.py create mode 100644 src/visier.sdk.api.data_in/test/test_extraction_job.py create mode 100644 src/visier.sdk.api.data_in/test/test_extraction_job_and_status_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_extractor_credential_apidto.py create mode 100644 src/visier.sdk.api.data_in/test/test_extractor_credentials_apidto.py create mode 100644 src/visier.sdk.api.data_in/test/test_fusion_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_gong_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_google_protobuf_any.py create mode 100644 src/visier.sdk.api.data_in/test/test_google_sheets_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_google_workspace_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_greenhouse_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_icims_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_import_definition_apidto.py create mode 100644 src/visier.sdk.api.data_in/test/test_import_definitions_apidto.py create mode 100644 src/visier.sdk.api.data_in/test/test_include_data_uploads_request.py create mode 100644 src/visier.sdk.api.data_in/test/test_internal_s3_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_jdbc_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_jira_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_jira_connect_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_job_cancellation_result_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_job_cancellation_results_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_job_status_list_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_job_status_with_start_time.py create mode 100644 src/visier.sdk.api.data_in/test/test_lever_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_medallia_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_microsoft365_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_multiple_tenant_data_versions_details_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_multiple_tenant_data_versions_list_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_my_sql_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_namely_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_oracle_db_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_processing_job.py create mode 100644 src/visier.sdk.api.data_in/test/test_processing_job_and_status_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_processing_job_status_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_push_data_cancel_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_push_data_column_definition_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_push_data_complete_request.py create mode 100644 src/visier.sdk.api.data_in/test/test_push_data_complete_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_push_data_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_push_data_source_definition_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_push_data_source_definitions_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_qualtrics_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_receiving_job.py create mode 100644 src/visier.sdk.api.data_in/test/test_receiving_job_and_status_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_receiving_job_status_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_redshift_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_result.py create mode 100644 src/visier.sdk.api.data_in/test/test_salesforce_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_salesforce_v2_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_service_now_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_slack_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_snowflake_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_source.py create mode 100644 src/visier.sdk.api.data_in/test/test_sql_server_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_start_extraction_model.py create mode 100644 src/visier.sdk.api.data_in/test/test_start_extraction_request.py create mode 100644 src/visier.sdk.api.data_in/test/test_start_extraction_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_start_transfer_response.py create mode 100644 src/visier.sdk.api.data_in/test/test_status.py create mode 100644 src/visier.sdk.api.data_in/test/test_subject_missing_access_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_success_factors_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_success_factors_o_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_tenant.py create mode 100644 src/visier.sdk.api.data_in/test/test_tenant_and_credential.py create mode 100644 src/visier.sdk.api.data_in/test/test_tenant_data_upload_status_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_tenant_data_upload_update_status_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_tenant_data_uploads_list_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_tenant_data_uploads_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_tenant_data_uploads_update_response_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_ultimate_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_upload_to_exclude.py create mode 100644 src/visier.sdk.api.data_in/test/test_upload_to_exclude_model.py create mode 100644 src/visier.sdk.api.data_in/test/test_upload_to_include.py create mode 100644 src/visier.sdk.api.data_in/test/test_upload_to_include_model.py create mode 100644 src/visier.sdk.api.data_in/test/test_willow_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_workday_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_workday_o_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_workday_raas_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_workday_refresh_token_params_dto.py create mode 100644 src/visier.sdk.api.data_in/test/test_zoom_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/tox.ini create mode 100644 src/visier.sdk.api.data_in/visier/__init__.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/__init__.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/__init__.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/__init__.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/__init__.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/data_and_job_handling_api.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/data_intake_api.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/data_upload_api.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/direct_data_intake_api.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/api_client.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/api_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/configuration.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/exceptions.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/__init__.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/adp_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_credential_request.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_credentials_by_tenant_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_credentials_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_with_credentials_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assigned_credential_info_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/bamboo_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/basic_s3_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/big_query_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/big_query_service_account_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/cancel_job_batch_from_job_id_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/connector.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/connector_info_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/copy_s3_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/credential_creation_api_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_categories_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_category_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_load_request.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_load_request_model.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_load_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_auth_information_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_basic_information_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_basic_metadata_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_transfer_result_detail.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_version_and_date_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_version_object.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/dayforce_v2_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/dimensions_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_job_config_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_job_status_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_load_config_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_schema_field_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_transaction_start_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_upload_file_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/disable_dv_model.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/disable_dv_request.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/disable_dv_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/dispatching_job_status_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/exclude_data_uploads_request.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extraction_job.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extraction_job_and_status_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extractor_credential_apidto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extractor_credentials_apidto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/fusion_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/gong_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/google_protobuf_any.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/google_sheets_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/google_workspace_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/greenhouse_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/icims_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/import_definition_apidto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/import_definitions_apidto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/include_data_uploads_request.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/internal_s3_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/jdbc_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/jira_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/jira_connect_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_cancellation_result_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_cancellation_results_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_status_list_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_status_with_start_time.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/lever_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/medallia_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/microsoft365_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/multiple_tenant_data_versions_details_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/multiple_tenant_data_versions_list_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/my_sql_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/namely_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/oracle_db_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/processing_job.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/processing_job_and_status_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/processing_job_status_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_cancel_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_column_definition_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_complete_request.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_complete_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_source_definition_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_source_definitions_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/qualtrics_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/receiving_job.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/receiving_job_and_status_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/receiving_job_status_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/redshift_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/result.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/salesforce_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/salesforce_v2_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/service_now_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/slack_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/snowflake_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/source.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/sql_server_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_extraction_model.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_extraction_request.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_extraction_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_transfer_response.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/status.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/subject_missing_access_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/success_factors_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/success_factors_o_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_and_credential.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_upload_status_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_upload_update_status_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_uploads_list_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_uploads_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_uploads_update_response_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/ultimate_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_exclude.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_exclude_model.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_include.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_include_model.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/willow_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_o_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_raas_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_refresh_token_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/zoom_auth_params_dto.py create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/py.typed create mode 100644 src/visier.sdk.api.data_in/visier/sdk/api/data_in/rest.py create mode 100644 src/visier.sdk.api.data_out/.github/workflows/python.yml create mode 100644 src/visier.sdk.api.data_out/.gitignore create mode 100644 src/visier.sdk.api.data_out/.gitlab-ci.yml create mode 100644 src/visier.sdk.api.data_out/.openapi-generator-ignore create mode 100644 src/visier.sdk.api.data_out/.openapi-generator/FILES create mode 100644 src/visier.sdk.api.data_out/.openapi-generator/VERSION create mode 100644 src/visier.sdk.api.data_out/.travis.yml create mode 100644 src/visier.sdk.api.data_out/README.md create mode 100644 src/visier.sdk.api.data_out/docs/AggregationQueryDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/AggregationQueryExecutionDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/AggregationQuerySourceDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/AggregationQuerySourceMetricDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/AggregationQuerySourceMetricsDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/AggregationTypeParameterValueDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/CellDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/CellDistributionBinDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/CellDistributionOptionsDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/CellSetAxisDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/CellSetAxisPositionDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/CellSetDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/CohortFilterDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DataQueryApi.md create mode 100644 src/visier.sdk.api.data_out/docs/DataVersionExportApi.md create mode 100644 src/visier.sdk.api.data_out/docs/DataVersionExportColumnDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DataVersionExportDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DataVersionExportDataVersionSummaryDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DataVersionExportDataVersionsDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DataVersionExportFileDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DataVersionExportJobStatusDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DataVersionExportPartFileDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DataVersionExportScheduleJobRequestDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DataVersionExportScheduleJobResponseDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DataVersionExportTableDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DataVersionExportsDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DimensionMemberReferenceDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DimensionReferenceDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DocumentSearchLinkDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/DvExportStatus.md create mode 100644 src/visier.sdk.api.data_out/docs/GoogleProtobufAny.md create mode 100644 src/visier.sdk.api.data_out/docs/InternalQueryExecutionOptionsDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/KeyGroupFilterDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/KeyGroupFilterItemDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/LineageDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/ListQueryExecutionDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/ListQueryExecutionOptionsDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/ListQuerySourceDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/ListResponse.md create mode 100644 src/visier.sdk.api.data_out/docs/MemberFilterDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/MemberParameterValueDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/MemberValuesDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/NumericParameterValueDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/PlanParameterValueDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/PropertyColumnDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/PropertyReferenceDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryAxisDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryAxisOptionsDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryClarificationDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryDimensionDataMemberSelectionDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryDimensionLeafSelectionDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryDimensionLevelSelectionDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryDimensionMemberSelectionDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryExecutionOptionsDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryFilterDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryMemberMapPropertyDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryMemberMapSelectionDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryNumericRangesDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryParameterValueDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryPropertyDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryTimeIntervalDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/QueryTimeIntervalsDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/SearchApi.md create mode 100644 src/visier.sdk.api.data_out/docs/SelectionConceptReferenceDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/SimpleDocumentHeaderSearchResponseDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/SimpleDocumentHeaderSearchResultDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/SnapshotQueryExecutionDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/SnapshotQueryExecutionOptionsDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/SortOptionDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/SqlLikeQueryExecutionDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/Status.md create mode 100644 src/visier.sdk.api.data_out/docs/TimeShiftDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/VeeDataDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/VeeFeedbackDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/VeeQueryApi.md create mode 100644 src/visier.sdk.api.data_out/docs/VeeQueryCorrectionsDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/VeeResponseDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/VeeResponseSchemaDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/VeeResponseSchemaReferenceDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/VeeSampleQuestionDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/VeeSampleQuestionLibraryDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/VeeSampleQuestionMetadataDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/VeeStatusCodeDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/VeeThreadStateDTO.md create mode 100644 src/visier.sdk.api.data_out/docs/VeeVisualDTO.md create mode 100644 src/visier.sdk.api.data_out/git_push.sh create mode 100644 src/visier.sdk.api.data_out/pyproject.toml create mode 100644 src/visier.sdk.api.data_out/requirements.txt create mode 100644 src/visier.sdk.api.data_out/setup.cfg create mode 100644 src/visier.sdk.api.data_out/setup.py create mode 100644 src/visier.sdk.api.data_out/test-requirements.txt create mode 100644 src/visier.sdk.api.data_out/test/__init__.py create mode 100644 src/visier.sdk.api.data_out/test/test_aggregation_query_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_aggregation_query_execution_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_aggregation_query_source_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_aggregation_query_source_metric_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_aggregation_query_source_metrics_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_aggregation_type_parameter_value_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_cell_distribution_bin_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_cell_distribution_options_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_cell_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_cell_set_axis_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_cell_set_axis_position_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_cell_set_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_cohort_filter_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_data_query_api.py create mode 100644 src/visier.sdk.api.data_out/test/test_data_version_export_api.py create mode 100644 src/visier.sdk.api.data_out/test/test_data_version_export_column_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_data_version_export_data_version_summary_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_data_version_export_data_versions_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_data_version_export_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_data_version_export_file_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_data_version_export_job_status_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_data_version_export_part_file_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_data_version_export_schedule_job_request_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_data_version_export_schedule_job_response_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_data_version_export_table_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_data_version_exports_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_dimension_member_reference_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_dimension_reference_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_document_search_link_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_dv_export_status.py create mode 100644 src/visier.sdk.api.data_out/test/test_google_protobuf_any.py create mode 100644 src/visier.sdk.api.data_out/test/test_internal_query_execution_options_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_key_group_filter_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_key_group_filter_item_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_lineage_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_list_query_execution_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_list_query_execution_options_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_list_query_source_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_list_response.py create mode 100644 src/visier.sdk.api.data_out/test/test_member_filter_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_member_parameter_value_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_member_values_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_numeric_parameter_value_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_plan_parameter_value_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_property_column_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_property_reference_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_axis_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_axis_options_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_clarification_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_dimension_data_member_selection_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_dimension_leaf_selection_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_dimension_level_selection_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_dimension_member_selection_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_execution_options_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_filter_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_member_map_property_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_member_map_selection_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_numeric_ranges_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_parameter_value_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_property_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_time_interval_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_query_time_intervals_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_search_api.py create mode 100644 src/visier.sdk.api.data_out/test/test_selection_concept_reference_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_simple_document_header_search_response_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_simple_document_header_search_result_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_snapshot_query_execution_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_snapshot_query_execution_options_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_sort_option_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_sql_like_query_execution_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_status.py create mode 100644 src/visier.sdk.api.data_out/test/test_time_shift_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_vee_data_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_vee_feedback_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_vee_query_api.py create mode 100644 src/visier.sdk.api.data_out/test/test_vee_query_corrections_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_vee_response_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_vee_response_schema_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_vee_response_schema_reference_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_vee_sample_question_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_vee_sample_question_library_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_vee_sample_question_metadata_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_vee_status_code_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_vee_thread_state_dto.py create mode 100644 src/visier.sdk.api.data_out/test/test_vee_visual_dto.py create mode 100644 src/visier.sdk.api.data_out/tox.ini create mode 100644 src/visier.sdk.api.data_out/visier/__init__.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/__init__.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/__init__.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/__init__.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/__init__.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/data_query_api.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/data_version_export_api.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/search_api.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/vee_query_api.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/api_client.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/api_response.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/configuration.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/exceptions.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/__init__.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_execution_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_source_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_source_metric_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_source_metrics_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_type_parameter_value_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_distribution_bin_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_distribution_options_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_set_axis_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_set_axis_position_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_set_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cohort_filter_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_column_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_data_version_summary_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_data_versions_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_file_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_job_status_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_part_file_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_schedule_job_request_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_schedule_job_response_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_table_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_exports_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/dimension_member_reference_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/dimension_reference_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/document_search_link_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/dv_export_status.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/google_protobuf_any.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/internal_query_execution_options_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/key_group_filter_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/key_group_filter_item_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/lineage_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_query_execution_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_query_execution_options_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_query_source_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_response.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/member_filter_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/member_parameter_value_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/member_values_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/numeric_parameter_value_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/plan_parameter_value_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/property_column_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/property_reference_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_axis_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_axis_options_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_clarification_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_data_member_selection_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_leaf_selection_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_level_selection_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_member_selection_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_execution_options_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_filter_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_member_map_property_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_member_map_selection_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_numeric_ranges_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_parameter_value_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_property_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_time_interval_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_time_intervals_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/selection_concept_reference_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/simple_document_header_search_response_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/simple_document_header_search_result_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/snapshot_query_execution_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/snapshot_query_execution_options_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/sort_option_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/sql_like_query_execution_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/status.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/time_shift_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_data_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_feedback_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_query_corrections_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_response_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_response_schema_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_response_schema_reference_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_sample_question_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_sample_question_library_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_sample_question_metadata_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_status_code_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_thread_state_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_visual_dto.py create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/py.typed create mode 100644 src/visier.sdk.api.data_out/visier/sdk/api/data_out/rest.py diff --git a/src/visier.sdk.api.administration/.github/workflows/python.yml b/src/visier.sdk.api.administration/.github/workflows/python.yml new file mode 100644 index 000000000..dbc4cc9e0 --- /dev/null +++ b/src/visier.sdk.api.administration/.github/workflows/python.yml @@ -0,0 +1,38 @@ +# NOTE: This file is auto generated by OpenAPI Generator. +# URL: https://openapi-generator.tech +# +# ref: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: visier.sdk.api.administration Python package + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] + + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + if [ -f test-requirements.txt ]; then pip install -r test-requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest diff --git a/src/visier.sdk.api.administration/.gitignore b/src/visier.sdk.api.administration/.gitignore new file mode 100644 index 000000000..43995bd42 --- /dev/null +++ b/src/visier.sdk.api.administration/.gitignore @@ -0,0 +1,66 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.venv/ +.python-version +.pytest_cache + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints diff --git a/src/visier.sdk.api.administration/.gitlab-ci.yml b/src/visier.sdk.api.administration/.gitlab-ci.yml new file mode 100644 index 000000000..5a1664511 --- /dev/null +++ b/src/visier.sdk.api.administration/.gitlab-ci.yml @@ -0,0 +1,31 @@ +# NOTE: This file is auto generated by OpenAPI Generator. +# URL: https://openapi-generator.tech +# +# ref: https://docs.gitlab.com/ee/ci/README.html +# ref: https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml + +stages: + - test + +.pytest: + stage: test + script: + - pip install -r requirements.txt + - pip install -r test-requirements.txt + - pytest --cov=visier.sdk.api.administration + +pytest-3.7: + extends: .pytest + image: python:3.7-alpine +pytest-3.8: + extends: .pytest + image: python:3.8-alpine +pytest-3.9: + extends: .pytest + image: python:3.9-alpine +pytest-3.10: + extends: .pytest + image: python:3.10-alpine +pytest-3.11: + extends: .pytest + image: python:3.11-alpine diff --git a/src/visier.sdk.api.administration/.openapi-generator-ignore b/src/visier.sdk.api.administration/.openapi-generator-ignore new file mode 100644 index 000000000..7484ee590 --- /dev/null +++ b/src/visier.sdk.api.administration/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/src/visier.sdk.api.administration/.openapi-generator/FILES b/src/visier.sdk.api.administration/.openapi-generator/FILES new file mode 100644 index 000000000..ec2a805a2 --- /dev/null +++ b/src/visier.sdk.api.administration/.openapi-generator/FILES @@ -0,0 +1,569 @@ +.github/workflows/python.yml +.gitignore +.gitlab-ci.yml +.openapi-generator-ignore +.travis.yml +README.md +docs/AccessibleTenantProfileAssignmentRequestDTO.md +docs/AccessibleTenantProfileAssignmentResponseDTO.md +docs/AccessibleTenantProfileRevokeRequestDTO.md +docs/AccessibleTenantProfileRevokeResponseDTO.md +docs/AdditionalCapabilitiesDTO.md +docs/AdminCapabilityConfigDTO.md +docs/AllPermissionsAssignedForLocalTenantDTO.md +docs/AllProfileAssignedForAccessibleTenantDTO.md +docs/AllProfileAssignedForLocalTenantDTO.md +docs/AllTenantsStatusAPIDTO.md +docs/AllUserGroupsAssignedForLocalTenantDTO.md +docs/AllUsersGetAPIResponseDTO.md +docs/AnalyticObjectDTO.md +docs/AssignRevokePermissionByPermissionDTO.md +docs/AssignRevokePermissionByTenantDTO.md +docs/AssignRevokePermissionByUserDTO.md +docs/AssignRevokePermissionRequestDTO.md +docs/AssignRevokePermissionsRequestDTO.md +docs/AssignRevokePermissionsResponseDTO.md +docs/BulkDataAccessSetResponseDTO.md +docs/BusinessLocationDTO.md +docs/CapabilitiesDTO.md +docs/CapabilityDTO.md +docs/CommitAndPublishOperationResponseDTO.md +docs/CommitDTO.md +docs/ConsolidatedAnalyticsAPIExcludedSourceListDTO.md +docs/ConsolidatedAnalyticsAPISourceTenantListDTO.md +docs/ConsolidatedAnalyticsAPITenantCreateRequestDTO.md +docs/ConsolidatedAnalyticsAPITenantListResponseDTO.md +docs/ConsolidatedAnalyticsAPITenantWithDetails.md +docs/ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO.md +docs/ConsolidatedAnalyticsApi.md +docs/ContentPackageDTO.md +docs/CreateDataAccessSetRequestDTO.md +docs/CustomPropertyDTO.md +docs/CustomTenantPropertyDTO.md +docs/DataAccessSetDTO.md +docs/DataAccessSetErrorDTO.md +docs/DataAccessSetFailureDTO.md +docs/DataAccessSetSuccessDTO.md +docs/DataSecurityProfileDTO.md +docs/DeletePermissionsRequestDTO.md +docs/DeleteUserGroupV2Request.md +docs/DimensionFilterDTO.md +docs/DynamicDimensionFilterDTO.md +docs/DynamicPropertyMappingDTO.md +docs/ElementIDsDTO.md +docs/ErrorDTO.md +docs/ExcludedSourcesBody.md +docs/ExportProductionVersionsAPIOperationParametersDTO.md +docs/FailedAccessibleTenantProfileAssignmentDTO.md +docs/FailedLocalTenantProfileAssignmentDTO.md +docs/FailedLocalTenantProfileRevokeDTO.md +docs/GetCapabilitiesAPIResponseDTO.md +docs/GetContentPackagesAPIResponseDTO.md +docs/GetDataAccessSetsAPIResponseDTO.md +docs/GetDataSecurityObjectsAPIResponseDTO.md +docs/GetPermissionsAPIResponseDTO.md +docs/GetProductionVersionsAPIResponseDTO.md +docs/GetProjectCommitsAPIResponseDTO.md +docs/GetProjectsAPIResponseDTO.md +docs/GoogleProtobufAny.md +docs/HierarchyPropertyDTO.md +docs/HomeAnalysisByUserGroupDTO.md +docs/InheritedAccessConfigDTO.md +docs/InheritedReferenceMemberFilterConfigDTO.md +docs/LastLoginDTO.md +docs/LocalTenantProfileAssignmentRequestDTO.md +docs/LocalTenantProfileAssignmentResponseDTO.md +docs/LocalTenantProfileRevokeRequestDTO.md +docs/LocalTenantProfileRevokeResponseDTO.md +docs/MaskMessage.md +docs/MemberFilterConfigDTO.md +docs/MemberSelectionDTO.md +docs/MetricValidationSummaryDTO.md +docs/ModuleSettingsDTO.md +docs/PermissionAssignedByTenantDTO.md +docs/PermissionAssignedForLocalTenantDTO.md +docs/PermissionAssignedUserDTO.md +docs/PermissionAssignedUsersDTO.md +docs/PermissionBulkOperationResponseDTO.md +docs/PermissionDTO.md +docs/PermissionErrorDTO.md +docs/PermissionFailureDTO.md +docs/PermissionResponseDTO.md +docs/PermissionSuccessDTO.md +docs/PermissionsApi.md +docs/PermissionsListDTO.md +docs/PermissionsToUserGroupForTenantDTO.md +docs/PermissionsToUserGroupRequestDTO.md +docs/PermissionsToUserGroupsRequestDTO.md +docs/ProductionVersionsAPIOperationRequestDTO.md +docs/ProductionVersionsAPIOperationResponseDTO.md +docs/ProductionVersionsApi.md +docs/ProfileAssignedForAccessibleTenantDTO.md +docs/ProfileAssignedForLocalTenantDTO.md +docs/ProfileGetAPIResponseDTO.md +docs/ProfilesApi.md +docs/ProfilesGetAPIResponseDTO.md +docs/ProjectDTO.md +docs/ProjectOperationRequestDTO.md +docs/ProjectOperationResponseDTO.md +docs/ProjectsApi.md +docs/PropertyAccessConfigDTO.md +docs/PropertySetConfigDTO.md +docs/ReducedErrorDTO.md +docs/ReducedTenantCodeErrorDTO.md +docs/ReducedUserIdErrorDTO.md +docs/RelatedAnalyticObjectDTO.md +docs/RoleModulesConfigDTO.md +docs/SecurableDimensionDTO.md +docs/SecurablePropertyDTO.md +docs/SecurityAssignmentResponseDTO.md +docs/ShareableDataAccessSet.md +docs/SimpleUserDTO.md +docs/StaticDimensionFilterDTO.md +docs/Status.md +docs/SuccessfulAccessibleTenantProfileAssignmentDTO.md +docs/SuccessfulLocalTenantProfileAssignmentDTO.md +docs/SystemStatusApi.md +docs/SystemStatusDTO.md +docs/TargetProjectForTenantDTO.md +docs/TargetProjectForTenantsListDTO.md +docs/TargetTenantCodeDTO.md +docs/TenantAssignmentsDTO.md +docs/TenantCodeBody.md +docs/TenantCodeErrorDTO.md +docs/TenantDetailAPIDTO.md +docs/TenantManagementAPIGetResponseDTO.md +docs/TenantManagementAPIListResponseDTO.md +docs/TenantManagementAPIUpdateRequestDTO.md +docs/TenantManagementAPIUpdateResponseDTO.md +docs/TenantModuleDTO.md +docs/TenantPreviewEntriesSummaryDTO.md +docs/TenantPreviewEntriesSummaryListDTO.md +docs/TenantProvisionAPIDTO.md +docs/TenantStatusAPIDTO.md +docs/TenantsV1Api.md +docs/TenantsV2Api.md +docs/UpdateTenantModel.md +docs/UserCreationAPIRequestDTO.md +docs/UserCreationAPIResponseDTO.md +docs/UserGetAPIResponseDTO.md +docs/UserGroupAssignedForLocalTenantDTO.md +docs/UserGroupChangeDefinitionDTO.md +docs/UserGroupChangeDimensionFilterDTO.md +docs/UserGroupChangeFailureDTO.md +docs/UserGroupChangeFilterDTO.md +docs/UserGroupChangeMemberSelectionDTO.md +docs/UserGroupChangeResponseDTO.md +docs/UserGroupChangeSuccessDTO.md +docs/UserGroupChangeUsersDTO.md +docs/UserGroupDeleteDTO.md +docs/UserGroupDeleteFailureDTO.md +docs/UserGroupDeleteResponseDTO.md +docs/UserGroupDeleteSuccessDTO.md +docs/UserGroupFiltersDTO.md +docs/UserGroupGetAPIResponseDTO.md +docs/UserGroupSingleDeleteResponseDTO.md +docs/UserGroupsChangeDTO.md +docs/UserGroupsDeleteRequestDTO.md +docs/UserGroupsGetAPIResponseDTO.md +docs/UserGroupsUsersDTO.md +docs/UserGroupsUsersForTenantDTO.md +docs/UserGroupsV2Api.md +docs/UserIdErrorDTO.md +docs/UserPropertyDTO.md +docs/UserSecurityAssignmentsDTO.md +docs/UserUpdateAPIRequestDTO.md +docs/UsersAPIErrorMessageDTO.md +docs/UsersAPIFailureDTO.md +docs/UsersAPIResponseDTO.md +docs/UsersAPISuccessDTO.md +docs/UsersCreationAPIRequestDTO.md +docs/UsersDeleteAPIRequestDTO.md +docs/UsersToUserGroupRequestDTO.md +docs/UsersToUserGroupsRequestDTO.md +docs/UsersUpdateAPIRequestDTO.md +docs/UsersUpdateAPIUserDTO.md +docs/UsersV1Api.md +docs/UsersV2Api.md +git_push.sh +pyproject.toml +requirements.txt +setup.cfg +setup.py +test-requirements.txt +test/__init__.py +test/test_accessible_tenant_profile_assignment_request_dto.py +test/test_accessible_tenant_profile_assignment_response_dto.py +test/test_accessible_tenant_profile_revoke_request_dto.py +test/test_accessible_tenant_profile_revoke_response_dto.py +test/test_additional_capabilities_dto.py +test/test_admin_capability_config_dto.py +test/test_all_permissions_assigned_for_local_tenant_dto.py +test/test_all_profile_assigned_for_accessible_tenant_dto.py +test/test_all_profile_assigned_for_local_tenant_dto.py +test/test_all_tenants_status_apidto.py +test/test_all_user_groups_assigned_for_local_tenant_dto.py +test/test_all_users_get_api_response_dto.py +test/test_analytic_object_dto.py +test/test_assign_revoke_permission_by_permission_dto.py +test/test_assign_revoke_permission_by_tenant_dto.py +test/test_assign_revoke_permission_by_user_dto.py +test/test_assign_revoke_permission_request_dto.py +test/test_assign_revoke_permissions_request_dto.py +test/test_assign_revoke_permissions_response_dto.py +test/test_bulk_data_access_set_response_dto.py +test/test_business_location_dto.py +test/test_capabilities_dto.py +test/test_capability_dto.py +test/test_commit_and_publish_operation_response_dto.py +test/test_commit_dto.py +test/test_consolidated_analytics_api.py +test/test_consolidated_analytics_api_excluded_source_list_dto.py +test/test_consolidated_analytics_api_source_tenant_list_dto.py +test/test_consolidated_analytics_api_tenant_create_request_dto.py +test/test_consolidated_analytics_api_tenant_list_response_dto.py +test/test_consolidated_analytics_api_tenant_with_details.py +test/test_consolidated_analytics_api_tenant_with_details_list_response_dto.py +test/test_content_package_dto.py +test/test_create_data_access_set_request_dto.py +test/test_custom_property_dto.py +test/test_custom_tenant_property_dto.py +test/test_data_access_set_dto.py +test/test_data_access_set_error_dto.py +test/test_data_access_set_failure_dto.py +test/test_data_access_set_success_dto.py +test/test_data_security_profile_dto.py +test/test_delete_permissions_request_dto.py +test/test_delete_user_group_v2_request.py +test/test_dimension_filter_dto.py +test/test_dynamic_dimension_filter_dto.py +test/test_dynamic_property_mapping_dto.py +test/test_element_ids_dto.py +test/test_error_dto.py +test/test_excluded_sources_body.py +test/test_export_production_versions_api_operation_parameters_dto.py +test/test_failed_accessible_tenant_profile_assignment_dto.py +test/test_failed_local_tenant_profile_assignment_dto.py +test/test_failed_local_tenant_profile_revoke_dto.py +test/test_get_capabilities_api_response_dto.py +test/test_get_content_packages_api_response_dto.py +test/test_get_data_access_sets_api_response_dto.py +test/test_get_data_security_objects_api_response_dto.py +test/test_get_permissions_api_response_dto.py +test/test_get_production_versions_api_response_dto.py +test/test_get_project_commits_api_response_dto.py +test/test_get_projects_api_response_dto.py +test/test_google_protobuf_any.py +test/test_hierarchy_property_dto.py +test/test_home_analysis_by_user_group_dto.py +test/test_inherited_access_config_dto.py +test/test_inherited_reference_member_filter_config_dto.py +test/test_last_login_dto.py +test/test_local_tenant_profile_assignment_request_dto.py +test/test_local_tenant_profile_assignment_response_dto.py +test/test_local_tenant_profile_revoke_request_dto.py +test/test_local_tenant_profile_revoke_response_dto.py +test/test_mask_message.py +test/test_member_filter_config_dto.py +test/test_member_selection_dto.py +test/test_metric_validation_summary_dto.py +test/test_module_settings_dto.py +test/test_permission_assigned_by_tenant_dto.py +test/test_permission_assigned_for_local_tenant_dto.py +test/test_permission_assigned_user_dto.py +test/test_permission_assigned_users_dto.py +test/test_permission_bulk_operation_response_dto.py +test/test_permission_dto.py +test/test_permission_error_dto.py +test/test_permission_failure_dto.py +test/test_permission_response_dto.py +test/test_permission_success_dto.py +test/test_permissions_api.py +test/test_permissions_list_dto.py +test/test_permissions_to_user_group_for_tenant_dto.py +test/test_permissions_to_user_group_request_dto.py +test/test_permissions_to_user_groups_request_dto.py +test/test_production_versions_api.py +test/test_production_versions_api_operation_request_dto.py +test/test_production_versions_api_operation_response_dto.py +test/test_profile_assigned_for_accessible_tenant_dto.py +test/test_profile_assigned_for_local_tenant_dto.py +test/test_profile_get_api_response_dto.py +test/test_profiles_api.py +test/test_profiles_get_api_response_dto.py +test/test_project_dto.py +test/test_project_operation_request_dto.py +test/test_project_operation_response_dto.py +test/test_projects_api.py +test/test_property_access_config_dto.py +test/test_property_set_config_dto.py +test/test_reduced_error_dto.py +test/test_reduced_tenant_code_error_dto.py +test/test_reduced_user_id_error_dto.py +test/test_related_analytic_object_dto.py +test/test_role_modules_config_dto.py +test/test_securable_dimension_dto.py +test/test_securable_property_dto.py +test/test_security_assignment_response_dto.py +test/test_shareable_data_access_set.py +test/test_simple_user_dto.py +test/test_static_dimension_filter_dto.py +test/test_status.py +test/test_successful_accessible_tenant_profile_assignment_dto.py +test/test_successful_local_tenant_profile_assignment_dto.py +test/test_system_status_api.py +test/test_system_status_dto.py +test/test_target_project_for_tenant_dto.py +test/test_target_project_for_tenants_list_dto.py +test/test_target_tenant_code_dto.py +test/test_tenant_assignments_dto.py +test/test_tenant_code_body.py +test/test_tenant_code_error_dto.py +test/test_tenant_detail_apidto.py +test/test_tenant_management_api_get_response_dto.py +test/test_tenant_management_api_list_response_dto.py +test/test_tenant_management_api_update_request_dto.py +test/test_tenant_management_api_update_response_dto.py +test/test_tenant_module_dto.py +test/test_tenant_preview_entries_summary_dto.py +test/test_tenant_preview_entries_summary_list_dto.py +test/test_tenant_provision_apidto.py +test/test_tenant_status_apidto.py +test/test_tenants_v1_api.py +test/test_tenants_v2_api.py +test/test_update_tenant_model.py +test/test_user_creation_api_request_dto.py +test/test_user_creation_api_response_dto.py +test/test_user_get_api_response_dto.py +test/test_user_group_assigned_for_local_tenant_dto.py +test/test_user_group_change_definition_dto.py +test/test_user_group_change_dimension_filter_dto.py +test/test_user_group_change_failure_dto.py +test/test_user_group_change_filter_dto.py +test/test_user_group_change_member_selection_dto.py +test/test_user_group_change_response_dto.py +test/test_user_group_change_success_dto.py +test/test_user_group_change_users_dto.py +test/test_user_group_delete_dto.py +test/test_user_group_delete_failure_dto.py +test/test_user_group_delete_response_dto.py +test/test_user_group_delete_success_dto.py +test/test_user_group_filters_dto.py +test/test_user_group_get_api_response_dto.py +test/test_user_group_single_delete_response_dto.py +test/test_user_groups_change_dto.py +test/test_user_groups_delete_request_dto.py +test/test_user_groups_get_api_response_dto.py +test/test_user_groups_users_dto.py +test/test_user_groups_users_for_tenant_dto.py +test/test_user_groups_v2_api.py +test/test_user_id_error_dto.py +test/test_user_property_dto.py +test/test_user_security_assignments_dto.py +test/test_user_update_api_request_dto.py +test/test_users_api_error_message_dto.py +test/test_users_api_failure_dto.py +test/test_users_api_response_dto.py +test/test_users_api_success_dto.py +test/test_users_creation_api_request_dto.py +test/test_users_delete_api_request_dto.py +test/test_users_to_user_group_request_dto.py +test/test_users_to_user_groups_request_dto.py +test/test_users_update_api_request_dto.py +test/test_users_update_api_user_dto.py +test/test_users_v1_api.py +test/test_users_v2_api.py +tox.ini +visier/__init__.py +visier/sdk/__init__.py +visier/sdk/api/__init__.py +visier/sdk/api/administration/__init__.py +visier/sdk/api/administration/api/__init__.py +visier/sdk/api/administration/api/consolidated_analytics_api.py +visier/sdk/api/administration/api/permissions_api.py +visier/sdk/api/administration/api/production_versions_api.py +visier/sdk/api/administration/api/profiles_api.py +visier/sdk/api/administration/api/projects_api.py +visier/sdk/api/administration/api/system_status_api.py +visier/sdk/api/administration/api/tenants_v1_api.py +visier/sdk/api/administration/api/tenants_v2_api.py +visier/sdk/api/administration/api/user_groups_v2_api.py +visier/sdk/api/administration/api/users_v1_api.py +visier/sdk/api/administration/api/users_v2_api.py +visier/sdk/api/administration/api_client.py +visier/sdk/api/administration/api_response.py +visier/sdk/api/administration/configuration.py +visier/sdk/api/administration/exceptions.py +visier/sdk/api/administration/models/__init__.py +visier/sdk/api/administration/models/accessible_tenant_profile_assignment_request_dto.py +visier/sdk/api/administration/models/accessible_tenant_profile_assignment_response_dto.py +visier/sdk/api/administration/models/accessible_tenant_profile_revoke_request_dto.py +visier/sdk/api/administration/models/accessible_tenant_profile_revoke_response_dto.py +visier/sdk/api/administration/models/additional_capabilities_dto.py +visier/sdk/api/administration/models/admin_capability_config_dto.py +visier/sdk/api/administration/models/all_permissions_assigned_for_local_tenant_dto.py +visier/sdk/api/administration/models/all_profile_assigned_for_accessible_tenant_dto.py +visier/sdk/api/administration/models/all_profile_assigned_for_local_tenant_dto.py +visier/sdk/api/administration/models/all_tenants_status_apidto.py +visier/sdk/api/administration/models/all_user_groups_assigned_for_local_tenant_dto.py +visier/sdk/api/administration/models/all_users_get_api_response_dto.py +visier/sdk/api/administration/models/analytic_object_dto.py +visier/sdk/api/administration/models/assign_revoke_permission_by_permission_dto.py +visier/sdk/api/administration/models/assign_revoke_permission_by_tenant_dto.py +visier/sdk/api/administration/models/assign_revoke_permission_by_user_dto.py +visier/sdk/api/administration/models/assign_revoke_permission_request_dto.py +visier/sdk/api/administration/models/assign_revoke_permissions_request_dto.py +visier/sdk/api/administration/models/assign_revoke_permissions_response_dto.py +visier/sdk/api/administration/models/bulk_data_access_set_response_dto.py +visier/sdk/api/administration/models/business_location_dto.py +visier/sdk/api/administration/models/capabilities_dto.py +visier/sdk/api/administration/models/capability_dto.py +visier/sdk/api/administration/models/commit_and_publish_operation_response_dto.py +visier/sdk/api/administration/models/commit_dto.py +visier/sdk/api/administration/models/consolidated_analytics_api_excluded_source_list_dto.py +visier/sdk/api/administration/models/consolidated_analytics_api_source_tenant_list_dto.py +visier/sdk/api/administration/models/consolidated_analytics_api_tenant_create_request_dto.py +visier/sdk/api/administration/models/consolidated_analytics_api_tenant_list_response_dto.py +visier/sdk/api/administration/models/consolidated_analytics_api_tenant_with_details.py +visier/sdk/api/administration/models/consolidated_analytics_api_tenant_with_details_list_response_dto.py +visier/sdk/api/administration/models/content_package_dto.py +visier/sdk/api/administration/models/create_data_access_set_request_dto.py +visier/sdk/api/administration/models/custom_property_dto.py +visier/sdk/api/administration/models/custom_tenant_property_dto.py +visier/sdk/api/administration/models/data_access_set_dto.py +visier/sdk/api/administration/models/data_access_set_error_dto.py +visier/sdk/api/administration/models/data_access_set_failure_dto.py +visier/sdk/api/administration/models/data_access_set_success_dto.py +visier/sdk/api/administration/models/data_security_profile_dto.py +visier/sdk/api/administration/models/delete_permissions_request_dto.py +visier/sdk/api/administration/models/delete_user_group_v2_request.py +visier/sdk/api/administration/models/dimension_filter_dto.py +visier/sdk/api/administration/models/dynamic_dimension_filter_dto.py +visier/sdk/api/administration/models/dynamic_property_mapping_dto.py +visier/sdk/api/administration/models/element_ids_dto.py +visier/sdk/api/administration/models/error_dto.py +visier/sdk/api/administration/models/excluded_sources_body.py +visier/sdk/api/administration/models/export_production_versions_api_operation_parameters_dto.py +visier/sdk/api/administration/models/failed_accessible_tenant_profile_assignment_dto.py +visier/sdk/api/administration/models/failed_local_tenant_profile_assignment_dto.py +visier/sdk/api/administration/models/failed_local_tenant_profile_revoke_dto.py +visier/sdk/api/administration/models/get_capabilities_api_response_dto.py +visier/sdk/api/administration/models/get_content_packages_api_response_dto.py +visier/sdk/api/administration/models/get_data_access_sets_api_response_dto.py +visier/sdk/api/administration/models/get_data_security_objects_api_response_dto.py +visier/sdk/api/administration/models/get_permissions_api_response_dto.py +visier/sdk/api/administration/models/get_production_versions_api_response_dto.py +visier/sdk/api/administration/models/get_project_commits_api_response_dto.py +visier/sdk/api/administration/models/get_projects_api_response_dto.py +visier/sdk/api/administration/models/google_protobuf_any.py +visier/sdk/api/administration/models/hierarchy_property_dto.py +visier/sdk/api/administration/models/home_analysis_by_user_group_dto.py +visier/sdk/api/administration/models/inherited_access_config_dto.py +visier/sdk/api/administration/models/inherited_reference_member_filter_config_dto.py +visier/sdk/api/administration/models/last_login_dto.py +visier/sdk/api/administration/models/local_tenant_profile_assignment_request_dto.py +visier/sdk/api/administration/models/local_tenant_profile_assignment_response_dto.py +visier/sdk/api/administration/models/local_tenant_profile_revoke_request_dto.py +visier/sdk/api/administration/models/local_tenant_profile_revoke_response_dto.py +visier/sdk/api/administration/models/mask_message.py +visier/sdk/api/administration/models/member_filter_config_dto.py +visier/sdk/api/administration/models/member_selection_dto.py +visier/sdk/api/administration/models/metric_validation_summary_dto.py +visier/sdk/api/administration/models/module_settings_dto.py +visier/sdk/api/administration/models/permission_assigned_by_tenant_dto.py +visier/sdk/api/administration/models/permission_assigned_for_local_tenant_dto.py +visier/sdk/api/administration/models/permission_assigned_user_dto.py +visier/sdk/api/administration/models/permission_assigned_users_dto.py +visier/sdk/api/administration/models/permission_bulk_operation_response_dto.py +visier/sdk/api/administration/models/permission_dto.py +visier/sdk/api/administration/models/permission_error_dto.py +visier/sdk/api/administration/models/permission_failure_dto.py +visier/sdk/api/administration/models/permission_response_dto.py +visier/sdk/api/administration/models/permission_success_dto.py +visier/sdk/api/administration/models/permissions_list_dto.py +visier/sdk/api/administration/models/permissions_to_user_group_for_tenant_dto.py +visier/sdk/api/administration/models/permissions_to_user_group_request_dto.py +visier/sdk/api/administration/models/permissions_to_user_groups_request_dto.py +visier/sdk/api/administration/models/production_versions_api_operation_request_dto.py +visier/sdk/api/administration/models/production_versions_api_operation_response_dto.py +visier/sdk/api/administration/models/profile_assigned_for_accessible_tenant_dto.py +visier/sdk/api/administration/models/profile_assigned_for_local_tenant_dto.py +visier/sdk/api/administration/models/profile_get_api_response_dto.py +visier/sdk/api/administration/models/profiles_get_api_response_dto.py +visier/sdk/api/administration/models/project_dto.py +visier/sdk/api/administration/models/project_operation_request_dto.py +visier/sdk/api/administration/models/project_operation_response_dto.py +visier/sdk/api/administration/models/property_access_config_dto.py +visier/sdk/api/administration/models/property_set_config_dto.py +visier/sdk/api/administration/models/reduced_error_dto.py +visier/sdk/api/administration/models/reduced_tenant_code_error_dto.py +visier/sdk/api/administration/models/reduced_user_id_error_dto.py +visier/sdk/api/administration/models/related_analytic_object_dto.py +visier/sdk/api/administration/models/role_modules_config_dto.py +visier/sdk/api/administration/models/securable_dimension_dto.py +visier/sdk/api/administration/models/securable_property_dto.py +visier/sdk/api/administration/models/security_assignment_response_dto.py +visier/sdk/api/administration/models/shareable_data_access_set.py +visier/sdk/api/administration/models/simple_user_dto.py +visier/sdk/api/administration/models/static_dimension_filter_dto.py +visier/sdk/api/administration/models/status.py +visier/sdk/api/administration/models/successful_accessible_tenant_profile_assignment_dto.py +visier/sdk/api/administration/models/successful_local_tenant_profile_assignment_dto.py +visier/sdk/api/administration/models/system_status_dto.py +visier/sdk/api/administration/models/target_project_for_tenant_dto.py +visier/sdk/api/administration/models/target_project_for_tenants_list_dto.py +visier/sdk/api/administration/models/target_tenant_code_dto.py +visier/sdk/api/administration/models/tenant_assignments_dto.py +visier/sdk/api/administration/models/tenant_code_body.py +visier/sdk/api/administration/models/tenant_code_error_dto.py +visier/sdk/api/administration/models/tenant_detail_apidto.py +visier/sdk/api/administration/models/tenant_management_api_get_response_dto.py +visier/sdk/api/administration/models/tenant_management_api_list_response_dto.py +visier/sdk/api/administration/models/tenant_management_api_update_request_dto.py +visier/sdk/api/administration/models/tenant_management_api_update_response_dto.py +visier/sdk/api/administration/models/tenant_module_dto.py +visier/sdk/api/administration/models/tenant_preview_entries_summary_dto.py +visier/sdk/api/administration/models/tenant_preview_entries_summary_list_dto.py +visier/sdk/api/administration/models/tenant_provision_apidto.py +visier/sdk/api/administration/models/tenant_status_apidto.py +visier/sdk/api/administration/models/update_tenant_model.py +visier/sdk/api/administration/models/user_creation_api_request_dto.py +visier/sdk/api/administration/models/user_creation_api_response_dto.py +visier/sdk/api/administration/models/user_get_api_response_dto.py +visier/sdk/api/administration/models/user_group_assigned_for_local_tenant_dto.py +visier/sdk/api/administration/models/user_group_change_definition_dto.py +visier/sdk/api/administration/models/user_group_change_dimension_filter_dto.py +visier/sdk/api/administration/models/user_group_change_failure_dto.py +visier/sdk/api/administration/models/user_group_change_filter_dto.py +visier/sdk/api/administration/models/user_group_change_member_selection_dto.py +visier/sdk/api/administration/models/user_group_change_response_dto.py +visier/sdk/api/administration/models/user_group_change_success_dto.py +visier/sdk/api/administration/models/user_group_change_users_dto.py +visier/sdk/api/administration/models/user_group_delete_dto.py +visier/sdk/api/administration/models/user_group_delete_failure_dto.py +visier/sdk/api/administration/models/user_group_delete_response_dto.py +visier/sdk/api/administration/models/user_group_delete_success_dto.py +visier/sdk/api/administration/models/user_group_filters_dto.py +visier/sdk/api/administration/models/user_group_get_api_response_dto.py +visier/sdk/api/administration/models/user_group_single_delete_response_dto.py +visier/sdk/api/administration/models/user_groups_change_dto.py +visier/sdk/api/administration/models/user_groups_delete_request_dto.py +visier/sdk/api/administration/models/user_groups_get_api_response_dto.py +visier/sdk/api/administration/models/user_groups_users_dto.py +visier/sdk/api/administration/models/user_groups_users_for_tenant_dto.py +visier/sdk/api/administration/models/user_id_error_dto.py +visier/sdk/api/administration/models/user_property_dto.py +visier/sdk/api/administration/models/user_security_assignments_dto.py +visier/sdk/api/administration/models/user_update_api_request_dto.py +visier/sdk/api/administration/models/users_api_error_message_dto.py +visier/sdk/api/administration/models/users_api_failure_dto.py +visier/sdk/api/administration/models/users_api_response_dto.py +visier/sdk/api/administration/models/users_api_success_dto.py +visier/sdk/api/administration/models/users_creation_api_request_dto.py +visier/sdk/api/administration/models/users_delete_api_request_dto.py +visier/sdk/api/administration/models/users_to_user_group_request_dto.py +visier/sdk/api/administration/models/users_to_user_groups_request_dto.py +visier/sdk/api/administration/models/users_update_api_request_dto.py +visier/sdk/api/administration/models/users_update_api_user_dto.py +visier/sdk/api/administration/py.typed +visier/sdk/api/administration/rest.py diff --git a/src/visier.sdk.api.administration/.openapi-generator/VERSION b/src/visier.sdk.api.administration/.openapi-generator/VERSION new file mode 100644 index 000000000..1985849fb --- /dev/null +++ b/src/visier.sdk.api.administration/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.7.0 diff --git a/src/visier.sdk.api.administration/.travis.yml b/src/visier.sdk.api.administration/.travis.yml new file mode 100644 index 000000000..76f7fde27 --- /dev/null +++ b/src/visier.sdk.api.administration/.travis.yml @@ -0,0 +1,17 @@ +# ref: https://docs.travis-ci.com/user/languages/python +language: python +python: + - "3.7" + - "3.8" + - "3.9" + - "3.10" + - "3.11" + # uncomment the following if needed + #- "3.11-dev" # 3.11 development branch + #- "nightly" # nightly build +# command to install dependencies +install: + - "pip install -r requirements.txt" + - "pip install -r test-requirements.txt" +# command to run tests +script: pytest --cov=visier.sdk.api.administration diff --git a/src/visier.sdk.api.administration/README.md b/src/visier.sdk.api.administration/README.md new file mode 100644 index 000000000..4d753e8b7 --- /dev/null +++ b/src/visier.sdk.api.administration/README.md @@ -0,0 +1,362 @@ +# visier.sdk.api.administration +Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + +This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: 0.0.1 +- Package version: 0.0.1 +- Generator version: 7.7.0 +- Build package: org.openapitools.codegen.languages.PythonClientCodegen + +## Requirements. + +Python 3.7+ + +## Installation & Usage +### pip install + +If the python package is hosted on a repository, you can install directly using: + +```sh +pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git +``` +(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`) + +Then import the package: +```python +import visier.sdk.api.administration +``` + +### Setuptools + +Install via [Setuptools](http://pypi.python.org/pypi/setuptools). + +```sh +python setup.py install --user +``` +(or `sudo python setup.py install` to install the package for all users) + +Then import the package: +```python +import visier.sdk.api.administration +``` + +### Tests + +Execute `pytest` to run the tests. + +## Getting Started + +Please follow the [installation procedure](#installation--usage) and then run the following: + +```python + +import visier.sdk.api.administration +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ConsolidatedAnalyticsApi(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. + excluded_sources_body = visier.sdk.api.administration.ExcludedSourcesBody() # ExcludedSourcesBody | + + try: + # Add excluded sources to a consolidated analytics tenant + api_response = api_instance.add_excluded_sources(tenant_id, excluded_sources_body) + print("The response of ConsolidatedAnalyticsApi->add_excluded_sources:\n") + pprint(api_response) + except ApiException as e: + print("Exception when calling ConsolidatedAnalyticsApi->add_excluded_sources: %s\n" % e) + +``` + +## Documentation for API Endpoints + +All URIs are relative to *http://localhost* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*ConsolidatedAnalyticsApi* | [**add_excluded_sources**](docs/ConsolidatedAnalyticsApi.md#add_excluded_sources) | **PATCH** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/excluded-sources | Add excluded sources to a consolidated analytics tenant +*ConsolidatedAnalyticsApi* | [**add_source_tenants**](docs/ConsolidatedAnalyticsApi.md#add_source_tenants) | **PATCH** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/source-tenants | Add source tenants to a consolidated analytics tenant +*ConsolidatedAnalyticsApi* | [**create_tenant**](docs/ConsolidatedAnalyticsApi.md#create_tenant) | **POST** /v1alpha/admin/consolidated-analytics/tenants | Create a consolidated analytics tenant +*ConsolidatedAnalyticsApi* | [**list_excluded_sources**](docs/ConsolidatedAnalyticsApi.md#list_excluded_sources) | **GET** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/excluded-sources | Retrieve a consolidated analytics tenant's excluded sources +*ConsolidatedAnalyticsApi* | [**list_source_tenants**](docs/ConsolidatedAnalyticsApi.md#list_source_tenants) | **GET** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/source-tenants | Retrieve a consolidated analytics tenant's source tenants +*ConsolidatedAnalyticsApi* | [**list_tenants**](docs/ConsolidatedAnalyticsApi.md#list_tenants) | **GET** /v1alpha/admin/consolidated-analytics/tenants | Retrieve a list of all consolidated analytics tenants +*ConsolidatedAnalyticsApi* | [**list_tenants_with_details**](docs/ConsolidatedAnalyticsApi.md#list_tenants_with_details) | **GET** /v1alpha/admin/consolidated-analytics/tenants-with-details | Retrieve the details of all consolidated analytics tenants +*ConsolidatedAnalyticsApi* | [**remove_excluded_sources**](docs/ConsolidatedAnalyticsApi.md#remove_excluded_sources) | **DELETE** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/excluded-sources | Remove excluded sources from a consolidated analytics tenants +*ConsolidatedAnalyticsApi* | [**remove_source_tenants**](docs/ConsolidatedAnalyticsApi.md#remove_source_tenants) | **DELETE** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/source-tenants | Remove source tenants from a consolidated analytics tenants +*ConsolidatedAnalyticsApi* | [**set_excluded_sources**](docs/ConsolidatedAnalyticsApi.md#set_excluded_sources) | **PUT** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/excluded-sources | Set a consolidated analytics tenant's excluded sources +*ConsolidatedAnalyticsApi* | [**set_source_tenants**](docs/ConsolidatedAnalyticsApi.md#set_source_tenants) | **PUT** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/source-tenants | Set a consolidated analytics tenant's source tenants +*PermissionsApi* | [**create_data_access_sets**](docs/PermissionsApi.md#create_data_access_sets) | **POST** /v1/admin/data-access-sets | Create shareable data access sets +*PermissionsApi* | [**create_permissions**](docs/PermissionsApi.md#create_permissions) | **POST** /v1/admin/permissions | Create permissions +*PermissionsApi* | [**delete_permissions**](docs/PermissionsApi.md#delete_permissions) | **DELETE** /v1/admin/permissions | Delete permissions +*PermissionsApi* | [**get_capabilities**](docs/PermissionsApi.md#get_capabilities) | **GET** /v1/admin/capabilities | Retrieve a list of all permission capabilities +*PermissionsApi* | [**get_capability**](docs/PermissionsApi.md#get_capability) | **GET** /v1/admin/capabilities/{capabilityId} | Retrieve a permission capability's details +*PermissionsApi* | [**get_content_package**](docs/PermissionsApi.md#get_content_package) | **GET** /v1/admin/content-packages/{contentPackageId} | Retrieve a content package's details +*PermissionsApi* | [**get_content_packages**](docs/PermissionsApi.md#get_content_packages) | **GET** /v1/admin/content-packages | Retrieve a list of all content packages +*PermissionsApi* | [**get_data_access_set**](docs/PermissionsApi.md#get_data_access_set) | **GET** /v1/admin/data-access-sets/{dataAccessSetId} | Retrieve a data access set's details +*PermissionsApi* | [**get_data_access_sets**](docs/PermissionsApi.md#get_data_access_sets) | **GET** /v1/admin/data-access-sets | Retrieve a list of all data access sets +*PermissionsApi* | [**get_data_security_objects**](docs/PermissionsApi.md#get_data_security_objects) | **GET** /v1/admin/data-security-objects | Retrieve a list of data security objects +*PermissionsApi* | [**get_permission**](docs/PermissionsApi.md#get_permission) | **GET** /v1/admin/permissions/{permissionId} | Retrieve a permission's details +*PermissionsApi* | [**get_permissions**](docs/PermissionsApi.md#get_permissions) | **GET** /v1/admin/permissions | Retrieve a list of all permissions +*PermissionsApi* | [**update_permissions**](docs/PermissionsApi.md#update_permissions) | **PUT** /v1/admin/permissions | Update permissions +*ProductionVersionsApi* | [**get_production_versions**](docs/ProductionVersionsApi.md#get_production_versions) | **GET** /v1alpha/admin/production-versions | Retrieve a list of all production versions +*ProductionVersionsApi* | [**post_production_versions**](docs/ProductionVersionsApi.md#post_production_versions) | **POST** /v1alpha/admin/production-versions | Perform an operation on production versions +*ProfilesApi* | [**assign_analytic_profile**](docs/ProfilesApi.md#assign_analytic_profile) | **PUT** /v1/admin/profiles/accessible-tenants/{profileId}/assign | Assign an analytic tenant profile to administrating tenant users +*ProfilesApi* | [**assign_profile**](docs/ProfilesApi.md#assign_profile) | **PUT** /v1/admin/profiles/{profileId}/assign | Assign a profile to a list of users +*ProfilesApi* | [**get_all_profiles**](docs/ProfilesApi.md#get_all_profiles) | **GET** /v1/admin/profiles | Retrieve a list of all profiles +*ProfilesApi* | [**get_analytic_profile_detail**](docs/ProfilesApi.md#get_analytic_profile_detail) | **GET** /v1/admin/profiles/accessible-tenants/{profileId} | Retrieve the details of an analytic tenant profile +*ProfilesApi* | [**get_analytic_profiles**](docs/ProfilesApi.md#get_analytic_profiles) | **GET** /v1/admin/profiles/accessible-tenants | Retrieve a list of analytic tenant profiles +*ProfilesApi* | [**get_analytic_user_profile**](docs/ProfilesApi.md#get_analytic_user_profile) | **GET** /v1/admin/users/{userId}/accessible-tenant-profiles | Retrieve an administrating tenant user's analytic tenant profiles +*ProfilesApi* | [**get_profile_detail**](docs/ProfilesApi.md#get_profile_detail) | **GET** /v1/admin/profiles/{profileId} | Retrieve the details of a profile +*ProfilesApi* | [**get_user_profile**](docs/ProfilesApi.md#get_user_profile) | **GET** /v1/admin/users/{userId}/profiles | Retrieve a user's profiles +*ProfilesApi* | [**remove_analytic_profile**](docs/ProfilesApi.md#remove_analytic_profile) | **DELETE** /v1/admin/profiles/accessible-tenants/{profileId}/remove | Remove an analytic tenant profile from administrating tenant users +*ProfilesApi* | [**remove_profile**](docs/ProfilesApi.md#remove_profile) | **DELETE** /v1/admin/profiles/{profileId}/remove | Remove a profile from a list of users +*ProjectsApi* | [**create_project**](docs/ProjectsApi.md#create_project) | **POST** /v1alpha/admin/projects | Create a new draft project +*ProjectsApi* | [**delete_project**](docs/ProjectsApi.md#delete_project) | **DELETE** /v1alpha/admin/projects/{projectId} | Delete a draft project +*ProjectsApi* | [**get_project**](docs/ProjectsApi.md#get_project) | **GET** /v1alpha/admin/projects/{projectId} | Retrieve a draft project's information +*ProjectsApi* | [**get_project_commits**](docs/ProjectsApi.md#get_project_commits) | **GET** /v1alpha/admin/projects/{projectId}/commits | Retrieve a list of all committed changes in a project +*ProjectsApi* | [**get_projects**](docs/ProjectsApi.md#get_projects) | **GET** /v1alpha/admin/projects | Retrieve a list of draft projects accessible to the user +*ProjectsApi* | [**run_project_operation**](docs/ProjectsApi.md#run_project_operation) | **POST** /v1alpha/admin/projects/{projectId} | Perform an operation on a draft project +*SystemStatusApi* | [**post_system_status**](docs/SystemStatusApi.md#post_system_status) | **POST** /v1/admin/system-status | Check the overall current status of Visier's systems +*SystemStatusApi* | [**system_status**](docs/SystemStatusApi.md#system_status) | **GET** /v1/admin/system-status | Check the overall current status of Visier's systems +*TenantsV1Api* | [**add_tenant**](docs/TenantsV1Api.md#add_tenant) | **POST** /v1/admin/tenants | Add an analytic tenant +*TenantsV1Api* | [**delete_tenant**](docs/TenantsV1Api.md#delete_tenant) | **DELETE** /v1/admin/tenants/{tenantId} | Deprovision an analytic tenant +*TenantsV1Api* | [**disable_tenant**](docs/TenantsV1Api.md#disable_tenant) | **PUT** /v1/admin/tenants/{tenantId}/disable | Disable an analytic tenant +*TenantsV1Api* | [**enable_tenant**](docs/TenantsV1Api.md#enable_tenant) | **PUT** /v1/admin/tenants/{tenantId}/enable | Enable an analytic tenant +*TenantsV1Api* | [**get_tenant**](docs/TenantsV1Api.md#get_tenant) | **GET** /v1/admin/tenants/{tenantId} | Retrieve an analytic tenant's details +*TenantsV1Api* | [**get_tenants**](docs/TenantsV1Api.md#get_tenants) | **GET** /v1/admin/tenants | Retrieve a list of all analytic tenants +*TenantsV1Api* | [**update_tenant**](docs/TenantsV1Api.md#update_tenant) | **PUT** /v1/admin/tenants/{tenantId} | Update an analytic tenant +*TenantsV1Api* | [**validate_tenant**](docs/TenantsV1Api.md#validate_tenant) | **GET** /v1/op/validation/tenants/{tenantId} | Validate an analytic tenant's metric values +*TenantsV1Api* | [**validate_tenants**](docs/TenantsV1Api.md#validate_tenants) | **GET** /v1/op/validation/tenants | Validate metric values for all analytic tenants +*TenantsV2Api* | [**create_tenant**](docs/TenantsV2Api.md#create_tenant) | **POST** /v2/admin/tenants | Add an analytic tenant +*TenantsV2Api* | [**delete_tenant**](docs/TenantsV2Api.md#delete_tenant) | **DELETE** /v2/admin/tenants/{tenantId} | Deprovision an analytic tenant +*TenantsV2Api* | [**list_tenants**](docs/TenantsV2Api.md#list_tenants) | **GET** /v2/admin/tenants | Retrieve a list of all analytic tenants +*TenantsV2Api* | [**tenant_info**](docs/TenantsV2Api.md#tenant_info) | **GET** /v2/admin/tenants/{tenantId} | Retrieve an analytic tenant's details +*TenantsV2Api* | [**update_tenant**](docs/TenantsV2Api.md#update_tenant) | **PUT** /v2/admin/tenants/{tenantId} | Update an analytic tenant +*UserGroupsV2Api* | [**create_user_groups**](docs/UserGroupsV2Api.md#create_user_groups) | **POST** /v2beta/admin/user-groups | Create multiple user groups +*UserGroupsV2Api* | [**delete_user_group**](docs/UserGroupsV2Api.md#delete_user_group) | **DELETE** /v2beta/admin/user-groups/{userGroupId} | Delete a user group +*UserGroupsV2Api* | [**delete_user_groups**](docs/UserGroupsV2Api.md#delete_user_groups) | **DELETE** /v2beta/admin/user-groups | Delete multiple user groups +*UserGroupsV2Api* | [**get_user_group**](docs/UserGroupsV2Api.md#get_user_group) | **GET** /v2beta/admin/user-groups/{userGroupId} | Retrieve the details of a user group +*UserGroupsV2Api* | [**get_user_groups**](docs/UserGroupsV2Api.md#get_user_groups) | **GET** /v2beta/admin/user-groups | Retrieve a list of user groups +*UserGroupsV2Api* | [**patch_user_groups**](docs/UserGroupsV2Api.md#patch_user_groups) | **PATCH** /v2beta/admin/user-groups | Patch multiple user groups +*UserGroupsV2Api* | [**put_user_groups**](docs/UserGroupsV2Api.md#put_user_groups) | **PUT** /v2beta/admin/user-groups | Update multiple user groups +*UsersV1Api* | [**add_user**](docs/UsersV1Api.md#add_user) | **POST** /v1/admin/users | Add a user +*UsersV1Api* | [**add_users_to_user_group**](docs/UsersV1Api.md#add_users_to_user_group) | **PUT** /v1/admin/user-groups/users | Assign users to user groups +*UsersV1Api* | [**assign_permissions**](docs/UsersV1Api.md#assign_permissions) | **PUT** /v1/admin/permissions/users | Assign permissions to users +*UsersV1Api* | [**assign_permissions_to_user_groups**](docs/UsersV1Api.md#assign_permissions_to_user_groups) | **PUT** /v1/admin/user-groups/permissions | Assign permissions to user groups +*UsersV1Api* | [**delete_user**](docs/UsersV1Api.md#delete_user) | **DELETE** /v1/admin/users/{userId} | Delete a user +*UsersV1Api* | [**get_all_permissions_xlsx**](docs/UsersV1Api.md#get_all_permissions_xlsx) | **GET** /v1/admin/users/reports/permissions-list | Retrieve a list of all permissions in XLSX format +*UsersV1Api* | [**get_all_user_groups**](docs/UsersV1Api.md#get_all_user_groups) | **GET** /v1/admin/user-groups | Retrieve a list of all user groups +*UsersV1Api* | [**get_all_users**](docs/UsersV1Api.md#get_all_users) | **GET** /v1/admin/users | Retrieve a list of all users +*UsersV1Api* | [**get_application_logs_xlsx**](docs/UsersV1Api.md#get_application_logs_xlsx) | **GET** /v1/admin/users/reports/application-logs | Retrieve the Application Logs +*UsersV1Api* | [**get_data_security_report_xlsx**](docs/UsersV1Api.md#get_data_security_report_xlsx) | **GET** /v1/admin/users/{userId}/reports/data-security | Retrieve the Data Security Report +*UsersV1Api* | [**get_permission_assigned_users**](docs/UsersV1Api.md#get_permission_assigned_users) | **GET** /v1/admin/permissions/{permissionId}/users | Retrieve users that are assigned a specific permission +*UsersV1Api* | [**get_profile_assignments_xlsx**](docs/UsersV1Api.md#get_profile_assignments_xlsx) | **GET** /v1/admin/users/reports/profile-assignments | Retrieve user profile assignments in XLSX format +*UsersV1Api* | [**get_user_detail**](docs/UsersV1Api.md#get_user_detail) | **GET** /v1/admin/users/{userId} | Retrieve a user's details +*UsersV1Api* | [**get_user_group_users**](docs/UsersV1Api.md#get_user_group_users) | **GET** /v1/admin/user-groups/{userGroupId}/users | Retrieve a list of user group users +*UsersV1Api* | [**get_user_permissions_xlsx**](docs/UsersV1Api.md#get_user_permissions_xlsx) | **GET** /v1/admin/users/reports/permission-assignments | Retrieve user permissions in XLSX format +*UsersV1Api* | [**remove_permissions**](docs/UsersV1Api.md#remove_permissions) | **DELETE** /v1/admin/permissions/users | Remove permissions from users +*UsersV1Api* | [**remove_users_from_user_group**](docs/UsersV1Api.md#remove_users_from_user_group) | **DELETE** /v1/admin/user-groups/users | Remove users from user groups +*UsersV1Api* | [**revoke_permissions_from_user_groups**](docs/UsersV1Api.md#revoke_permissions_from_user_groups) | **DELETE** /v1/admin/user-groups/permissions | Remove permissions from user groups +*UsersV1Api* | [**update_user**](docs/UsersV1Api.md#update_user) | **PUT** /v1/admin/users/{userId} | Update a user +*UsersV2Api* | [**add_users**](docs/UsersV2Api.md#add_users) | **POST** /v2/admin/users | Add users +*UsersV2Api* | [**delete_users**](docs/UsersV2Api.md#delete_users) | **DELETE** /v2/admin/users | Delete users +*UsersV2Api* | [**update_users**](docs/UsersV2Api.md#update_users) | **PUT** /v2/admin/users | Update users + + +## Documentation For Models + + - [AccessibleTenantProfileAssignmentRequestDTO](docs/AccessibleTenantProfileAssignmentRequestDTO.md) + - [AccessibleTenantProfileAssignmentResponseDTO](docs/AccessibleTenantProfileAssignmentResponseDTO.md) + - [AccessibleTenantProfileRevokeRequestDTO](docs/AccessibleTenantProfileRevokeRequestDTO.md) + - [AccessibleTenantProfileRevokeResponseDTO](docs/AccessibleTenantProfileRevokeResponseDTO.md) + - [AdditionalCapabilitiesDTO](docs/AdditionalCapabilitiesDTO.md) + - [AdminCapabilityConfigDTO](docs/AdminCapabilityConfigDTO.md) + - [AllPermissionsAssignedForLocalTenantDTO](docs/AllPermissionsAssignedForLocalTenantDTO.md) + - [AllProfileAssignedForAccessibleTenantDTO](docs/AllProfileAssignedForAccessibleTenantDTO.md) + - [AllProfileAssignedForLocalTenantDTO](docs/AllProfileAssignedForLocalTenantDTO.md) + - [AllTenantsStatusAPIDTO](docs/AllTenantsStatusAPIDTO.md) + - [AllUserGroupsAssignedForLocalTenantDTO](docs/AllUserGroupsAssignedForLocalTenantDTO.md) + - [AllUsersGetAPIResponseDTO](docs/AllUsersGetAPIResponseDTO.md) + - [AnalyticObjectDTO](docs/AnalyticObjectDTO.md) + - [AssignRevokePermissionByPermissionDTO](docs/AssignRevokePermissionByPermissionDTO.md) + - [AssignRevokePermissionByTenantDTO](docs/AssignRevokePermissionByTenantDTO.md) + - [AssignRevokePermissionByUserDTO](docs/AssignRevokePermissionByUserDTO.md) + - [AssignRevokePermissionRequestDTO](docs/AssignRevokePermissionRequestDTO.md) + - [AssignRevokePermissionsRequestDTO](docs/AssignRevokePermissionsRequestDTO.md) + - [AssignRevokePermissionsResponseDTO](docs/AssignRevokePermissionsResponseDTO.md) + - [BulkDataAccessSetResponseDTO](docs/BulkDataAccessSetResponseDTO.md) + - [BusinessLocationDTO](docs/BusinessLocationDTO.md) + - [CapabilitiesDTO](docs/CapabilitiesDTO.md) + - [CapabilityDTO](docs/CapabilityDTO.md) + - [CommitAndPublishOperationResponseDTO](docs/CommitAndPublishOperationResponseDTO.md) + - [CommitDTO](docs/CommitDTO.md) + - [ConsolidatedAnalyticsAPIExcludedSourceListDTO](docs/ConsolidatedAnalyticsAPIExcludedSourceListDTO.md) + - [ConsolidatedAnalyticsAPISourceTenantListDTO](docs/ConsolidatedAnalyticsAPISourceTenantListDTO.md) + - [ConsolidatedAnalyticsAPITenantCreateRequestDTO](docs/ConsolidatedAnalyticsAPITenantCreateRequestDTO.md) + - [ConsolidatedAnalyticsAPITenantListResponseDTO](docs/ConsolidatedAnalyticsAPITenantListResponseDTO.md) + - [ConsolidatedAnalyticsAPITenantWithDetails](docs/ConsolidatedAnalyticsAPITenantWithDetails.md) + - [ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO](docs/ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO.md) + - [ContentPackageDTO](docs/ContentPackageDTO.md) + - [CreateDataAccessSetRequestDTO](docs/CreateDataAccessSetRequestDTO.md) + - [CustomPropertyDTO](docs/CustomPropertyDTO.md) + - [CustomTenantPropertyDTO](docs/CustomTenantPropertyDTO.md) + - [DataAccessSetDTO](docs/DataAccessSetDTO.md) + - [DataAccessSetErrorDTO](docs/DataAccessSetErrorDTO.md) + - [DataAccessSetFailureDTO](docs/DataAccessSetFailureDTO.md) + - [DataAccessSetSuccessDTO](docs/DataAccessSetSuccessDTO.md) + - [DataSecurityProfileDTO](docs/DataSecurityProfileDTO.md) + - [DeletePermissionsRequestDTO](docs/DeletePermissionsRequestDTO.md) + - [DeleteUserGroupV2Request](docs/DeleteUserGroupV2Request.md) + - [DimensionFilterDTO](docs/DimensionFilterDTO.md) + - [DynamicDimensionFilterDTO](docs/DynamicDimensionFilterDTO.md) + - [DynamicPropertyMappingDTO](docs/DynamicPropertyMappingDTO.md) + - [ElementIDsDTO](docs/ElementIDsDTO.md) + - [ErrorDTO](docs/ErrorDTO.md) + - [ExcludedSourcesBody](docs/ExcludedSourcesBody.md) + - [ExportProductionVersionsAPIOperationParametersDTO](docs/ExportProductionVersionsAPIOperationParametersDTO.md) + - [FailedAccessibleTenantProfileAssignmentDTO](docs/FailedAccessibleTenantProfileAssignmentDTO.md) + - [FailedLocalTenantProfileAssignmentDTO](docs/FailedLocalTenantProfileAssignmentDTO.md) + - [FailedLocalTenantProfileRevokeDTO](docs/FailedLocalTenantProfileRevokeDTO.md) + - [GetCapabilitiesAPIResponseDTO](docs/GetCapabilitiesAPIResponseDTO.md) + - [GetContentPackagesAPIResponseDTO](docs/GetContentPackagesAPIResponseDTO.md) + - [GetDataAccessSetsAPIResponseDTO](docs/GetDataAccessSetsAPIResponseDTO.md) + - [GetDataSecurityObjectsAPIResponseDTO](docs/GetDataSecurityObjectsAPIResponseDTO.md) + - [GetPermissionsAPIResponseDTO](docs/GetPermissionsAPIResponseDTO.md) + - [GetProductionVersionsAPIResponseDTO](docs/GetProductionVersionsAPIResponseDTO.md) + - [GetProjectCommitsAPIResponseDTO](docs/GetProjectCommitsAPIResponseDTO.md) + - [GetProjectsAPIResponseDTO](docs/GetProjectsAPIResponseDTO.md) + - [GoogleProtobufAny](docs/GoogleProtobufAny.md) + - [HierarchyPropertyDTO](docs/HierarchyPropertyDTO.md) + - [HomeAnalysisByUserGroupDTO](docs/HomeAnalysisByUserGroupDTO.md) + - [InheritedAccessConfigDTO](docs/InheritedAccessConfigDTO.md) + - [InheritedReferenceMemberFilterConfigDTO](docs/InheritedReferenceMemberFilterConfigDTO.md) + - [LastLoginDTO](docs/LastLoginDTO.md) + - [LocalTenantProfileAssignmentRequestDTO](docs/LocalTenantProfileAssignmentRequestDTO.md) + - [LocalTenantProfileAssignmentResponseDTO](docs/LocalTenantProfileAssignmentResponseDTO.md) + - [LocalTenantProfileRevokeRequestDTO](docs/LocalTenantProfileRevokeRequestDTO.md) + - [LocalTenantProfileRevokeResponseDTO](docs/LocalTenantProfileRevokeResponseDTO.md) + - [MaskMessage](docs/MaskMessage.md) + - [MemberFilterConfigDTO](docs/MemberFilterConfigDTO.md) + - [MemberSelectionDTO](docs/MemberSelectionDTO.md) + - [MetricValidationSummaryDTO](docs/MetricValidationSummaryDTO.md) + - [ModuleSettingsDTO](docs/ModuleSettingsDTO.md) + - [PermissionAssignedByTenantDTO](docs/PermissionAssignedByTenantDTO.md) + - [PermissionAssignedForLocalTenantDTO](docs/PermissionAssignedForLocalTenantDTO.md) + - [PermissionAssignedUserDTO](docs/PermissionAssignedUserDTO.md) + - [PermissionAssignedUsersDTO](docs/PermissionAssignedUsersDTO.md) + - [PermissionBulkOperationResponseDTO](docs/PermissionBulkOperationResponseDTO.md) + - [PermissionDTO](docs/PermissionDTO.md) + - [PermissionErrorDTO](docs/PermissionErrorDTO.md) + - [PermissionFailureDTO](docs/PermissionFailureDTO.md) + - [PermissionResponseDTO](docs/PermissionResponseDTO.md) + - [PermissionSuccessDTO](docs/PermissionSuccessDTO.md) + - [PermissionsListDTO](docs/PermissionsListDTO.md) + - [PermissionsToUserGroupForTenantDTO](docs/PermissionsToUserGroupForTenantDTO.md) + - [PermissionsToUserGroupRequestDTO](docs/PermissionsToUserGroupRequestDTO.md) + - [PermissionsToUserGroupsRequestDTO](docs/PermissionsToUserGroupsRequestDTO.md) + - [ProductionVersionsAPIOperationRequestDTO](docs/ProductionVersionsAPIOperationRequestDTO.md) + - [ProductionVersionsAPIOperationResponseDTO](docs/ProductionVersionsAPIOperationResponseDTO.md) + - [ProfileAssignedForAccessibleTenantDTO](docs/ProfileAssignedForAccessibleTenantDTO.md) + - [ProfileAssignedForLocalTenantDTO](docs/ProfileAssignedForLocalTenantDTO.md) + - [ProfileGetAPIResponseDTO](docs/ProfileGetAPIResponseDTO.md) + - [ProfilesGetAPIResponseDTO](docs/ProfilesGetAPIResponseDTO.md) + - [ProjectDTO](docs/ProjectDTO.md) + - [ProjectOperationRequestDTO](docs/ProjectOperationRequestDTO.md) + - [ProjectOperationResponseDTO](docs/ProjectOperationResponseDTO.md) + - [PropertyAccessConfigDTO](docs/PropertyAccessConfigDTO.md) + - [PropertySetConfigDTO](docs/PropertySetConfigDTO.md) + - [ReducedErrorDTO](docs/ReducedErrorDTO.md) + - [ReducedTenantCodeErrorDTO](docs/ReducedTenantCodeErrorDTO.md) + - [ReducedUserIdErrorDTO](docs/ReducedUserIdErrorDTO.md) + - [RelatedAnalyticObjectDTO](docs/RelatedAnalyticObjectDTO.md) + - [RoleModulesConfigDTO](docs/RoleModulesConfigDTO.md) + - [SecurableDimensionDTO](docs/SecurableDimensionDTO.md) + - [SecurablePropertyDTO](docs/SecurablePropertyDTO.md) + - [SecurityAssignmentResponseDTO](docs/SecurityAssignmentResponseDTO.md) + - [ShareableDataAccessSet](docs/ShareableDataAccessSet.md) + - [SimpleUserDTO](docs/SimpleUserDTO.md) + - [StaticDimensionFilterDTO](docs/StaticDimensionFilterDTO.md) + - [Status](docs/Status.md) + - [SuccessfulAccessibleTenantProfileAssignmentDTO](docs/SuccessfulAccessibleTenantProfileAssignmentDTO.md) + - [SuccessfulLocalTenantProfileAssignmentDTO](docs/SuccessfulLocalTenantProfileAssignmentDTO.md) + - [SystemStatusDTO](docs/SystemStatusDTO.md) + - [TargetProjectForTenantDTO](docs/TargetProjectForTenantDTO.md) + - [TargetProjectForTenantsListDTO](docs/TargetProjectForTenantsListDTO.md) + - [TargetTenantCodeDTO](docs/TargetTenantCodeDTO.md) + - [TenantAssignmentsDTO](docs/TenantAssignmentsDTO.md) + - [TenantCodeBody](docs/TenantCodeBody.md) + - [TenantCodeErrorDTO](docs/TenantCodeErrorDTO.md) + - [TenantDetailAPIDTO](docs/TenantDetailAPIDTO.md) + - [TenantManagementAPIGetResponseDTO](docs/TenantManagementAPIGetResponseDTO.md) + - [TenantManagementAPIListResponseDTO](docs/TenantManagementAPIListResponseDTO.md) + - [TenantManagementAPIUpdateRequestDTO](docs/TenantManagementAPIUpdateRequestDTO.md) + - [TenantManagementAPIUpdateResponseDTO](docs/TenantManagementAPIUpdateResponseDTO.md) + - [TenantModuleDTO](docs/TenantModuleDTO.md) + - [TenantPreviewEntriesSummaryDTO](docs/TenantPreviewEntriesSummaryDTO.md) + - [TenantPreviewEntriesSummaryListDTO](docs/TenantPreviewEntriesSummaryListDTO.md) + - [TenantProvisionAPIDTO](docs/TenantProvisionAPIDTO.md) + - [TenantStatusAPIDTO](docs/TenantStatusAPIDTO.md) + - [UpdateTenantModel](docs/UpdateTenantModel.md) + - [UserCreationAPIRequestDTO](docs/UserCreationAPIRequestDTO.md) + - [UserCreationAPIResponseDTO](docs/UserCreationAPIResponseDTO.md) + - [UserGetAPIResponseDTO](docs/UserGetAPIResponseDTO.md) + - [UserGroupAssignedForLocalTenantDTO](docs/UserGroupAssignedForLocalTenantDTO.md) + - [UserGroupChangeDefinitionDTO](docs/UserGroupChangeDefinitionDTO.md) + - [UserGroupChangeDimensionFilterDTO](docs/UserGroupChangeDimensionFilterDTO.md) + - [UserGroupChangeFailureDTO](docs/UserGroupChangeFailureDTO.md) + - [UserGroupChangeFilterDTO](docs/UserGroupChangeFilterDTO.md) + - [UserGroupChangeMemberSelectionDTO](docs/UserGroupChangeMemberSelectionDTO.md) + - [UserGroupChangeResponseDTO](docs/UserGroupChangeResponseDTO.md) + - [UserGroupChangeSuccessDTO](docs/UserGroupChangeSuccessDTO.md) + - [UserGroupChangeUsersDTO](docs/UserGroupChangeUsersDTO.md) + - [UserGroupDeleteDTO](docs/UserGroupDeleteDTO.md) + - [UserGroupDeleteFailureDTO](docs/UserGroupDeleteFailureDTO.md) + - [UserGroupDeleteResponseDTO](docs/UserGroupDeleteResponseDTO.md) + - [UserGroupDeleteSuccessDTO](docs/UserGroupDeleteSuccessDTO.md) + - [UserGroupFiltersDTO](docs/UserGroupFiltersDTO.md) + - [UserGroupGetAPIResponseDTO](docs/UserGroupGetAPIResponseDTO.md) + - [UserGroupSingleDeleteResponseDTO](docs/UserGroupSingleDeleteResponseDTO.md) + - [UserGroupsChangeDTO](docs/UserGroupsChangeDTO.md) + - [UserGroupsDeleteRequestDTO](docs/UserGroupsDeleteRequestDTO.md) + - [UserGroupsGetAPIResponseDTO](docs/UserGroupsGetAPIResponseDTO.md) + - [UserGroupsUsersDTO](docs/UserGroupsUsersDTO.md) + - [UserGroupsUsersForTenantDTO](docs/UserGroupsUsersForTenantDTO.md) + - [UserIdErrorDTO](docs/UserIdErrorDTO.md) + - [UserPropertyDTO](docs/UserPropertyDTO.md) + - [UserSecurityAssignmentsDTO](docs/UserSecurityAssignmentsDTO.md) + - [UserUpdateAPIRequestDTO](docs/UserUpdateAPIRequestDTO.md) + - [UsersAPIErrorMessageDTO](docs/UsersAPIErrorMessageDTO.md) + - [UsersAPIFailureDTO](docs/UsersAPIFailureDTO.md) + - [UsersAPIResponseDTO](docs/UsersAPIResponseDTO.md) + - [UsersAPISuccessDTO](docs/UsersAPISuccessDTO.md) + - [UsersCreationAPIRequestDTO](docs/UsersCreationAPIRequestDTO.md) + - [UsersDeleteAPIRequestDTO](docs/UsersDeleteAPIRequestDTO.md) + - [UsersToUserGroupRequestDTO](docs/UsersToUserGroupRequestDTO.md) + - [UsersToUserGroupsRequestDTO](docs/UsersToUserGroupsRequestDTO.md) + - [UsersUpdateAPIRequestDTO](docs/UsersUpdateAPIRequestDTO.md) + - [UsersUpdateAPIUserDTO](docs/UsersUpdateAPIUserDTO.md) + + + +## Documentation For Authorization + +Endpoints do not require authorization. + + +## Author + + + + diff --git a/src/visier.sdk.api.administration/docs/AccessibleTenantProfileAssignmentRequestDTO.md b/src/visier.sdk.api.administration/docs/AccessibleTenantProfileAssignmentRequestDTO.md new file mode 100644 index 000000000..5c4ad35fe --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AccessibleTenantProfileAssignmentRequestDTO.md @@ -0,0 +1,32 @@ +# AccessibleTenantProfileAssignmentRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**target_tenant_codes** | [**List[TargetTenantCodeDTO]**](TargetTenantCodeDTO.md) | A list of objects representing the analytic tenants for profiles assigned to the users. | [optional] +**target_user_ids** | **List[str]** | A list of users to assign this profile. | [optional] +**validity_end_time** | **str** | An exclusive date-time when this profile is no longer active. | [optional] +**validity_start_time** | **str** | An inclusive date-time when this profile is active. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.accessible_tenant_profile_assignment_request_dto import AccessibleTenantProfileAssignmentRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AccessibleTenantProfileAssignmentRequestDTO from a JSON string +accessible_tenant_profile_assignment_request_dto_instance = AccessibleTenantProfileAssignmentRequestDTO.from_json(json) +# print the JSON string representation of the object +print(AccessibleTenantProfileAssignmentRequestDTO.to_json()) + +# convert the object into a dict +accessible_tenant_profile_assignment_request_dto_dict = accessible_tenant_profile_assignment_request_dto_instance.to_dict() +# create an instance of AccessibleTenantProfileAssignmentRequestDTO from a dict +accessible_tenant_profile_assignment_request_dto_from_dict = AccessibleTenantProfileAssignmentRequestDTO.from_dict(accessible_tenant_profile_assignment_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AccessibleTenantProfileAssignmentResponseDTO.md b/src/visier.sdk.api.administration/docs/AccessibleTenantProfileAssignmentResponseDTO.md new file mode 100644 index 000000000..fda273e48 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AccessibleTenantProfileAssignmentResponseDTO.md @@ -0,0 +1,33 @@ +# AccessibleTenantProfileAssignmentResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bad_tenant_codes** | [**List[TenantCodeErrorDTO]**](TenantCodeErrorDTO.md) | A list of objects representing any tenants that returned errors. | [optional] +**bad_user_ids** | [**List[UserIdErrorDTO]**](UserIdErrorDTO.md) | A list of objects representing the user IDs that may not be valid. | [optional] +**errors** | **bool** | If true, an error is generated by the request. | [optional] +**failed_assignments** | [**List[FailedAccessibleTenantProfileAssignmentDTO]**](FailedAccessibleTenantProfileAssignmentDTO.md) | A list of objects representing any errors during the assignment operation. | [optional] +**successful_assignments** | [**List[SuccessfulAccessibleTenantProfileAssignmentDTO]**](SuccessfulAccessibleTenantProfileAssignmentDTO.md) | A list of user IDs that were successfully assigned the profiles. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.accessible_tenant_profile_assignment_response_dto import AccessibleTenantProfileAssignmentResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AccessibleTenantProfileAssignmentResponseDTO from a JSON string +accessible_tenant_profile_assignment_response_dto_instance = AccessibleTenantProfileAssignmentResponseDTO.from_json(json) +# print the JSON string representation of the object +print(AccessibleTenantProfileAssignmentResponseDTO.to_json()) + +# convert the object into a dict +accessible_tenant_profile_assignment_response_dto_dict = accessible_tenant_profile_assignment_response_dto_instance.to_dict() +# create an instance of AccessibleTenantProfileAssignmentResponseDTO from a dict +accessible_tenant_profile_assignment_response_dto_from_dict = AccessibleTenantProfileAssignmentResponseDTO.from_dict(accessible_tenant_profile_assignment_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AccessibleTenantProfileRevokeRequestDTO.md b/src/visier.sdk.api.administration/docs/AccessibleTenantProfileRevokeRequestDTO.md new file mode 100644 index 000000000..38b2a2bc7 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AccessibleTenantProfileRevokeRequestDTO.md @@ -0,0 +1,30 @@ +# AccessibleTenantProfileRevokeRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**target_tenant_codes** | [**List[TargetTenantCodeDTO]**](TargetTenantCodeDTO.md) | A list of objects representing the analytic tenants for removing profiles from each target user ID. | [optional] +**target_user_ids** | **List[str]** | A list of users to remove this profile from. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.accessible_tenant_profile_revoke_request_dto import AccessibleTenantProfileRevokeRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AccessibleTenantProfileRevokeRequestDTO from a JSON string +accessible_tenant_profile_revoke_request_dto_instance = AccessibleTenantProfileRevokeRequestDTO.from_json(json) +# print the JSON string representation of the object +print(AccessibleTenantProfileRevokeRequestDTO.to_json()) + +# convert the object into a dict +accessible_tenant_profile_revoke_request_dto_dict = accessible_tenant_profile_revoke_request_dto_instance.to_dict() +# create an instance of AccessibleTenantProfileRevokeRequestDTO from a dict +accessible_tenant_profile_revoke_request_dto_from_dict = AccessibleTenantProfileRevokeRequestDTO.from_dict(accessible_tenant_profile_revoke_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AccessibleTenantProfileRevokeResponseDTO.md b/src/visier.sdk.api.administration/docs/AccessibleTenantProfileRevokeResponseDTO.md new file mode 100644 index 000000000..23acaf086 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AccessibleTenantProfileRevokeResponseDTO.md @@ -0,0 +1,32 @@ +# AccessibleTenantProfileRevokeResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bad_tenant_codes** | [**List[ReducedTenantCodeErrorDTO]**](ReducedTenantCodeErrorDTO.md) | A list of objects representing any tenants that returned errors. | [optional] +**bad_user_ids** | [**List[ReducedUserIdErrorDTO]**](ReducedUserIdErrorDTO.md) | A list of objects representing the user IDs that may not be valid. | [optional] +**succeeded** | [**List[SuccessfulLocalTenantProfileAssignmentDTO]**](SuccessfulLocalTenantProfileAssignmentDTO.md) | A list of objects representing the valid user IDs that succeeded. | [optional] +**unaffected_users** | [**List[SuccessfulLocalTenantProfileAssignmentDTO]**](SuccessfulLocalTenantProfileAssignmentDTO.md) | A list of objects representing the valid user IDs that were not affected. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.accessible_tenant_profile_revoke_response_dto import AccessibleTenantProfileRevokeResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AccessibleTenantProfileRevokeResponseDTO from a JSON string +accessible_tenant_profile_revoke_response_dto_instance = AccessibleTenantProfileRevokeResponseDTO.from_json(json) +# print the JSON string representation of the object +print(AccessibleTenantProfileRevokeResponseDTO.to_json()) + +# convert the object into a dict +accessible_tenant_profile_revoke_response_dto_dict = accessible_tenant_profile_revoke_response_dto_instance.to_dict() +# create an instance of AccessibleTenantProfileRevokeResponseDTO from a dict +accessible_tenant_profile_revoke_response_dto_from_dict = AccessibleTenantProfileRevokeResponseDTO.from_dict(accessible_tenant_profile_revoke_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AdditionalCapabilitiesDTO.md b/src/visier.sdk.api.administration/docs/AdditionalCapabilitiesDTO.md new file mode 100644 index 000000000..32f52de95 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AdditionalCapabilitiesDTO.md @@ -0,0 +1,29 @@ +# AdditionalCapabilitiesDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**additional_capabilities** | **List[str]** | The additional capabilities assigned to this profile. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.additional_capabilities_dto import AdditionalCapabilitiesDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AdditionalCapabilitiesDTO from a JSON string +additional_capabilities_dto_instance = AdditionalCapabilitiesDTO.from_json(json) +# print the JSON string representation of the object +print(AdditionalCapabilitiesDTO.to_json()) + +# convert the object into a dict +additional_capabilities_dto_dict = additional_capabilities_dto_instance.to_dict() +# create an instance of AdditionalCapabilitiesDTO from a dict +additional_capabilities_dto_from_dict = AdditionalCapabilitiesDTO.from_dict(additional_capabilities_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AdminCapabilityConfigDTO.md b/src/visier.sdk.api.administration/docs/AdminCapabilityConfigDTO.md new file mode 100644 index 000000000..b19b7686e --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AdminCapabilityConfigDTO.md @@ -0,0 +1,30 @@ +# AdminCapabilityConfigDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**all_capabilities_access** | **bool** | If `true`, the permission has all possible capabilities. | [optional] +**capabilities** | **List[str]** | A list of the capabilities assigned in the permission. Not required if `allCapabilitiesAccess` is true. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.admin_capability_config_dto import AdminCapabilityConfigDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AdminCapabilityConfigDTO from a JSON string +admin_capability_config_dto_instance = AdminCapabilityConfigDTO.from_json(json) +# print the JSON string representation of the object +print(AdminCapabilityConfigDTO.to_json()) + +# convert the object into a dict +admin_capability_config_dto_dict = admin_capability_config_dto_instance.to_dict() +# create an instance of AdminCapabilityConfigDTO from a dict +admin_capability_config_dto_from_dict = AdminCapabilityConfigDTO.from_dict(admin_capability_config_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AllPermissionsAssignedForLocalTenantDTO.md b/src/visier.sdk.api.administration/docs/AllPermissionsAssignedForLocalTenantDTO.md new file mode 100644 index 000000000..3f989700f --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AllPermissionsAssignedForLocalTenantDTO.md @@ -0,0 +1,29 @@ +# AllPermissionsAssignedForLocalTenantDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**assigned_permissions** | [**List[PermissionAssignedForLocalTenantDTO]**](PermissionAssignedForLocalTenantDTO.md) | A list of objects representing the user's permissions. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.all_permissions_assigned_for_local_tenant_dto import AllPermissionsAssignedForLocalTenantDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AllPermissionsAssignedForLocalTenantDTO from a JSON string +all_permissions_assigned_for_local_tenant_dto_instance = AllPermissionsAssignedForLocalTenantDTO.from_json(json) +# print the JSON string representation of the object +print(AllPermissionsAssignedForLocalTenantDTO.to_json()) + +# convert the object into a dict +all_permissions_assigned_for_local_tenant_dto_dict = all_permissions_assigned_for_local_tenant_dto_instance.to_dict() +# create an instance of AllPermissionsAssignedForLocalTenantDTO from a dict +all_permissions_assigned_for_local_tenant_dto_from_dict = AllPermissionsAssignedForLocalTenantDTO.from_dict(all_permissions_assigned_for_local_tenant_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AllProfileAssignedForAccessibleTenantDTO.md b/src/visier.sdk.api.administration/docs/AllProfileAssignedForAccessibleTenantDTO.md new file mode 100644 index 000000000..ad9246e8e --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AllProfileAssignedForAccessibleTenantDTO.md @@ -0,0 +1,29 @@ +# AllProfileAssignedForAccessibleTenantDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**assigned_profiles_for_accessible_tenant** | [**List[ProfileAssignedForAccessibleTenantDTO]**](ProfileAssignedForAccessibleTenantDTO.md) | A list of objects representing the user profiles assigned to the user and their validity range. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.all_profile_assigned_for_accessible_tenant_dto import AllProfileAssignedForAccessibleTenantDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AllProfileAssignedForAccessibleTenantDTO from a JSON string +all_profile_assigned_for_accessible_tenant_dto_instance = AllProfileAssignedForAccessibleTenantDTO.from_json(json) +# print the JSON string representation of the object +print(AllProfileAssignedForAccessibleTenantDTO.to_json()) + +# convert the object into a dict +all_profile_assigned_for_accessible_tenant_dto_dict = all_profile_assigned_for_accessible_tenant_dto_instance.to_dict() +# create an instance of AllProfileAssignedForAccessibleTenantDTO from a dict +all_profile_assigned_for_accessible_tenant_dto_from_dict = AllProfileAssignedForAccessibleTenantDTO.from_dict(all_profile_assigned_for_accessible_tenant_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AllProfileAssignedForLocalTenantDTO.md b/src/visier.sdk.api.administration/docs/AllProfileAssignedForLocalTenantDTO.md new file mode 100644 index 000000000..528d7f1a3 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AllProfileAssignedForLocalTenantDTO.md @@ -0,0 +1,29 @@ +# AllProfileAssignedForLocalTenantDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**assigned_profiles** | [**List[ProfileAssignedForLocalTenantDTO]**](ProfileAssignedForLocalTenantDTO.md) | A list of objects representing the user profiles assigned to the user and their validity range. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.all_profile_assigned_for_local_tenant_dto import AllProfileAssignedForLocalTenantDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AllProfileAssignedForLocalTenantDTO from a JSON string +all_profile_assigned_for_local_tenant_dto_instance = AllProfileAssignedForLocalTenantDTO.from_json(json) +# print the JSON string representation of the object +print(AllProfileAssignedForLocalTenantDTO.to_json()) + +# convert the object into a dict +all_profile_assigned_for_local_tenant_dto_dict = all_profile_assigned_for_local_tenant_dto_instance.to_dict() +# create an instance of AllProfileAssignedForLocalTenantDTO from a dict +all_profile_assigned_for_local_tenant_dto_from_dict = AllProfileAssignedForLocalTenantDTO.from_dict(all_profile_assigned_for_local_tenant_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AllTenantsStatusAPIDTO.md b/src/visier.sdk.api.administration/docs/AllTenantsStatusAPIDTO.md new file mode 100644 index 000000000..1c6ba5f2d --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AllTenantsStatusAPIDTO.md @@ -0,0 +1,31 @@ +# AllTenantsStatusAPIDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | The limit of analytic tenants to return. The maximum value is 1000. | [optional] +**start** | **int** | The index to start retrieving values from, also known as offset. The index begins at 0. | [optional] +**tenants** | [**List[TenantDetailAPIDTO]**](TenantDetailAPIDTO.md) | A list of objects representing all the analytic tenants. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.all_tenants_status_apidto import AllTenantsStatusAPIDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AllTenantsStatusAPIDTO from a JSON string +all_tenants_status_apidto_instance = AllTenantsStatusAPIDTO.from_json(json) +# print the JSON string representation of the object +print(AllTenantsStatusAPIDTO.to_json()) + +# convert the object into a dict +all_tenants_status_apidto_dict = all_tenants_status_apidto_instance.to_dict() +# create an instance of AllTenantsStatusAPIDTO from a dict +all_tenants_status_apidto_from_dict = AllTenantsStatusAPIDTO.from_dict(all_tenants_status_apidto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AllUserGroupsAssignedForLocalTenantDTO.md b/src/visier.sdk.api.administration/docs/AllUserGroupsAssignedForLocalTenantDTO.md new file mode 100644 index 000000000..ad23e5946 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AllUserGroupsAssignedForLocalTenantDTO.md @@ -0,0 +1,29 @@ +# AllUserGroupsAssignedForLocalTenantDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**assigned_user_groups** | [**List[UserGroupAssignedForLocalTenantDTO]**](UserGroupAssignedForLocalTenantDTO.md) | A list of objects representing the available user groups. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.all_user_groups_assigned_for_local_tenant_dto import AllUserGroupsAssignedForLocalTenantDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AllUserGroupsAssignedForLocalTenantDTO from a JSON string +all_user_groups_assigned_for_local_tenant_dto_instance = AllUserGroupsAssignedForLocalTenantDTO.from_json(json) +# print the JSON string representation of the object +print(AllUserGroupsAssignedForLocalTenantDTO.to_json()) + +# convert the object into a dict +all_user_groups_assigned_for_local_tenant_dto_dict = all_user_groups_assigned_for_local_tenant_dto_instance.to_dict() +# create an instance of AllUserGroupsAssignedForLocalTenantDTO from a dict +all_user_groups_assigned_for_local_tenant_dto_from_dict = AllUserGroupsAssignedForLocalTenantDTO.from_dict(all_user_groups_assigned_for_local_tenant_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AllUsersGetAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/AllUsersGetAPIResponseDTO.md new file mode 100644 index 000000000..fbbad6f5f --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AllUsersGetAPIResponseDTO.md @@ -0,0 +1,31 @@ +# AllUsersGetAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | The number of results to return. The maximum number of users to retrieve is 1000. | [optional] +**start** | **int** | The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] +**users** | [**List[UserGetAPIResponseDTO]**](UserGetAPIResponseDTO.md) | A list of available users. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.all_users_get_api_response_dto import AllUsersGetAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AllUsersGetAPIResponseDTO from a JSON string +all_users_get_api_response_dto_instance = AllUsersGetAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(AllUsersGetAPIResponseDTO.to_json()) + +# convert the object into a dict +all_users_get_api_response_dto_dict = all_users_get_api_response_dto_instance.to_dict() +# create an instance of AllUsersGetAPIResponseDTO from a dict +all_users_get_api_response_dto_from_dict = AllUsersGetAPIResponseDTO.from_dict(all_users_get_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AnalyticObjectDTO.md b/src/visier.sdk.api.administration/docs/AnalyticObjectDTO.md new file mode 100644 index 000000000..86e511467 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AnalyticObjectDTO.md @@ -0,0 +1,34 @@ +# AnalyticObjectDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_object_id** | **str** | The unique ID of the analytic object. | [optional] +**display_name** | **str** | An identifiable name to display in Visier, such as \"Employee\". | [optional] +**object_type** | **str** | The analytic object type. | [optional] +**related_objects** | [**List[RelatedAnalyticObjectDTO]**](RelatedAnalyticObjectDTO.md) | The analytic objects related to the data security object. | [optional] +**securable_dimensions** | [**List[SecurableDimensionDTO]**](SecurableDimensionDTO.md) | A list of dimensions that are available to define population access filters in the permission. | [optional] +**securable_properties** | [**List[SecurablePropertyDTO]**](SecurablePropertyDTO.md) | All available properties from the data security object and its related analytic objects that you can configure data access for. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.analytic_object_dto import AnalyticObjectDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AnalyticObjectDTO from a JSON string +analytic_object_dto_instance = AnalyticObjectDTO.from_json(json) +# print the JSON string representation of the object +print(AnalyticObjectDTO.to_json()) + +# convert the object into a dict +analytic_object_dto_dict = analytic_object_dto_instance.to_dict() +# create an instance of AnalyticObjectDTO from a dict +analytic_object_dto_from_dict = AnalyticObjectDTO.from_dict(analytic_object_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AssignRevokePermissionByPermissionDTO.md b/src/visier.sdk.api.administration/docs/AssignRevokePermissionByPermissionDTO.md new file mode 100644 index 000000000..458b251f3 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AssignRevokePermissionByPermissionDTO.md @@ -0,0 +1,31 @@ +# AssignRevokePermissionByPermissionDTO + +The results of the permission assignment or removal. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permission** | [**PermissionAssignedForLocalTenantDTO**](PermissionAssignedForLocalTenantDTO.md) | | [optional] +**users** | [**List[AssignRevokePermissionByUserDTO]**](AssignRevokePermissionByUserDTO.md) | A list of objects representing the users that was permission was assigned to or removed from. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.assign_revoke_permission_by_permission_dto import AssignRevokePermissionByPermissionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AssignRevokePermissionByPermissionDTO from a JSON string +assign_revoke_permission_by_permission_dto_instance = AssignRevokePermissionByPermissionDTO.from_json(json) +# print the JSON string representation of the object +print(AssignRevokePermissionByPermissionDTO.to_json()) + +# convert the object into a dict +assign_revoke_permission_by_permission_dto_dict = assign_revoke_permission_by_permission_dto_instance.to_dict() +# create an instance of AssignRevokePermissionByPermissionDTO from a dict +assign_revoke_permission_by_permission_dto_from_dict = AssignRevokePermissionByPermissionDTO.from_dict(assign_revoke_permission_by_permission_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AssignRevokePermissionByTenantDTO.md b/src/visier.sdk.api.administration/docs/AssignRevokePermissionByTenantDTO.md new file mode 100644 index 000000000..0aefd3246 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AssignRevokePermissionByTenantDTO.md @@ -0,0 +1,34 @@ +# AssignRevokePermissionByTenantDTO + +The permissions organized by tenant. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **str** | A detailed description of the request outcome, if available. | [optional] +**permissions** | [**List[AssignRevokePermissionByPermissionDTO]**](AssignRevokePermissionByPermissionDTO.md) | A list of objects representing the assigned or removed permissions. | [optional] +**project_id** | **str** | The ID of the project that the change was made in, if applicable. | [optional] +**status** | **str** | The state of the permission assignment. Valid values are Succeed or Failed. | [optional] +**tenant_code** | **str** | The unique identifier associated with the tenant. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.assign_revoke_permission_by_tenant_dto import AssignRevokePermissionByTenantDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AssignRevokePermissionByTenantDTO from a JSON string +assign_revoke_permission_by_tenant_dto_instance = AssignRevokePermissionByTenantDTO.from_json(json) +# print the JSON string representation of the object +print(AssignRevokePermissionByTenantDTO.to_json()) + +# convert the object into a dict +assign_revoke_permission_by_tenant_dto_dict = assign_revoke_permission_by_tenant_dto_instance.to_dict() +# create an instance of AssignRevokePermissionByTenantDTO from a dict +assign_revoke_permission_by_tenant_dto_from_dict = AssignRevokePermissionByTenantDTO.from_dict(assign_revoke_permission_by_tenant_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AssignRevokePermissionByUserDTO.md b/src/visier.sdk.api.administration/docs/AssignRevokePermissionByUserDTO.md new file mode 100644 index 000000000..cbe15631a --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AssignRevokePermissionByUserDTO.md @@ -0,0 +1,32 @@ +# AssignRevokePermissionByUserDTO + +The results of the permission assignment or removal by user. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **str** | A meaningful message about the user permission. | [optional] +**user_id** | **str** | The unique identifier associated with the user. | [optional] +**username** | **str** | The user's username. This is typically the user's email, such as john@visier.com. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.assign_revoke_permission_by_user_dto import AssignRevokePermissionByUserDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AssignRevokePermissionByUserDTO from a JSON string +assign_revoke_permission_by_user_dto_instance = AssignRevokePermissionByUserDTO.from_json(json) +# print the JSON string representation of the object +print(AssignRevokePermissionByUserDTO.to_json()) + +# convert the object into a dict +assign_revoke_permission_by_user_dto_dict = assign_revoke_permission_by_user_dto_instance.to_dict() +# create an instance of AssignRevokePermissionByUserDTO from a dict +assign_revoke_permission_by_user_dto_from_dict = AssignRevokePermissionByUserDTO.from_dict(assign_revoke_permission_by_user_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AssignRevokePermissionRequestDTO.md b/src/visier.sdk.api.administration/docs/AssignRevokePermissionRequestDTO.md new file mode 100644 index 000000000..4d9e0c38f --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AssignRevokePermissionRequestDTO.md @@ -0,0 +1,31 @@ +# AssignRevokePermissionRequestDTO + +Set permission detail permissionId with assign to userIds + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permission_id** | **str** | The unique identifier associated with a permission. | [optional] +**user_ids** | **List[str]** | A list of strings representing unique user IDs. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.assign_revoke_permission_request_dto import AssignRevokePermissionRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AssignRevokePermissionRequestDTO from a JSON string +assign_revoke_permission_request_dto_instance = AssignRevokePermissionRequestDTO.from_json(json) +# print the JSON string representation of the object +print(AssignRevokePermissionRequestDTO.to_json()) + +# convert the object into a dict +assign_revoke_permission_request_dto_dict = assign_revoke_permission_request_dto_instance.to_dict() +# create an instance of AssignRevokePermissionRequestDTO from a dict +assign_revoke_permission_request_dto_from_dict = AssignRevokePermissionRequestDTO.from_dict(assign_revoke_permission_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AssignRevokePermissionsRequestDTO.md b/src/visier.sdk.api.administration/docs/AssignRevokePermissionsRequestDTO.md new file mode 100644 index 000000000..6174c07a8 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AssignRevokePermissionsRequestDTO.md @@ -0,0 +1,31 @@ +# AssignRevokePermissionsRequestDTO + +Set permissions request List of permissionId with assign to user Ids + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | [**List[AssignRevokePermissionRequestDTO]**](AssignRevokePermissionRequestDTO.md) | A list of objects representing the permissions to assign to or remove from users. | [optional] +**target_project_for_tenants_list** | [**TargetProjectForTenantsListDTO**](TargetProjectForTenantsListDTO.md) | Administrating tenants can specify the tenants and projects in which to assign permissions to users or remove permissions from users. Specify one `projectId` per `tenantCode`. If omitted, the request is immediately published to production or applied to the `ProjectID` in the request header, if available, for the administrating tenant or TargetTenantID, if available. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.assign_revoke_permissions_request_dto import AssignRevokePermissionsRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AssignRevokePermissionsRequestDTO from a JSON string +assign_revoke_permissions_request_dto_instance = AssignRevokePermissionsRequestDTO.from_json(json) +# print the JSON string representation of the object +print(AssignRevokePermissionsRequestDTO.to_json()) + +# convert the object into a dict +assign_revoke_permissions_request_dto_dict = assign_revoke_permissions_request_dto_instance.to_dict() +# create an instance of AssignRevokePermissionsRequestDTO from a dict +assign_revoke_permissions_request_dto_from_dict = AssignRevokePermissionsRequestDTO.from_dict(assign_revoke_permissions_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/AssignRevokePermissionsResponseDTO.md b/src/visier.sdk.api.administration/docs/AssignRevokePermissionsResponseDTO.md new file mode 100644 index 000000000..98f86b027 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/AssignRevokePermissionsResponseDTO.md @@ -0,0 +1,30 @@ +# AssignRevokePermissionsResponseDTO + +The results of the permission assignment or removal. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tenants** | [**List[AssignRevokePermissionByTenantDTO]**](AssignRevokePermissionByTenantDTO.md) | A list of objects representing the users that were assigned permissions, organized by the tenants the users belong to. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.assign_revoke_permissions_response_dto import AssignRevokePermissionsResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AssignRevokePermissionsResponseDTO from a JSON string +assign_revoke_permissions_response_dto_instance = AssignRevokePermissionsResponseDTO.from_json(json) +# print the JSON string representation of the object +print(AssignRevokePermissionsResponseDTO.to_json()) + +# convert the object into a dict +assign_revoke_permissions_response_dto_dict = assign_revoke_permissions_response_dto_instance.to_dict() +# create an instance of AssignRevokePermissionsResponseDTO from a dict +assign_revoke_permissions_response_dto_from_dict = AssignRevokePermissionsResponseDTO.from_dict(assign_revoke_permissions_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/BulkDataAccessSetResponseDTO.md b/src/visier.sdk.api.administration/docs/BulkDataAccessSetResponseDTO.md new file mode 100644 index 000000000..47962e0cd --- /dev/null +++ b/src/visier.sdk.api.administration/docs/BulkDataAccessSetResponseDTO.md @@ -0,0 +1,30 @@ +# BulkDataAccessSetResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**failures** | [**List[DataAccessSetFailureDTO]**](DataAccessSetFailureDTO.md) | The data access sets that failed to be created and any relevant error information. | [optional] +**successes** | [**List[DataAccessSetSuccessDTO]**](DataAccessSetSuccessDTO.md) | The successfully created data access sets. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.bulk_data_access_set_response_dto import BulkDataAccessSetResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of BulkDataAccessSetResponseDTO from a JSON string +bulk_data_access_set_response_dto_instance = BulkDataAccessSetResponseDTO.from_json(json) +# print the JSON string representation of the object +print(BulkDataAccessSetResponseDTO.to_json()) + +# convert the object into a dict +bulk_data_access_set_response_dto_dict = bulk_data_access_set_response_dto_instance.to_dict() +# create an instance of BulkDataAccessSetResponseDTO from a dict +bulk_data_access_set_response_dto_from_dict = BulkDataAccessSetResponseDTO.from_dict(bulk_data_access_set_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/BusinessLocationDTO.md b/src/visier.sdk.api.administration/docs/BusinessLocationDTO.md new file mode 100644 index 000000000..4924259e7 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/BusinessLocationDTO.md @@ -0,0 +1,31 @@ +# BusinessLocationDTO + +The location of operations or where business is performed. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**country_code** | **str** | The country in which the business is located or business is performed. The country code must follow ISO 3166 standards in alpha-2 format (two-letter code). | [optional] +**postal_code** | **str** | The postal code associated with the business location. Cannot be blank. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.business_location_dto import BusinessLocationDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of BusinessLocationDTO from a JSON string +business_location_dto_instance = BusinessLocationDTO.from_json(json) +# print the JSON string representation of the object +print(BusinessLocationDTO.to_json()) + +# convert the object into a dict +business_location_dto_dict = business_location_dto_instance.to_dict() +# create an instance of BusinessLocationDTO from a dict +business_location_dto_from_dict = BusinessLocationDTO.from_dict(business_location_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/CapabilitiesDTO.md b/src/visier.sdk.api.administration/docs/CapabilitiesDTO.md new file mode 100644 index 000000000..89a5ed217 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/CapabilitiesDTO.md @@ -0,0 +1,31 @@ +# CapabilitiesDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**access_level** | **str** | The access level of the profile for the given capability. | [optional] +**capability** | **str** | The name of the capability. | [optional] +**view_level** | **str** | The view level of the profile for the given capability. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.capabilities_dto import CapabilitiesDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CapabilitiesDTO from a JSON string +capabilities_dto_instance = CapabilitiesDTO.from_json(json) +# print the JSON string representation of the object +print(CapabilitiesDTO.to_json()) + +# convert the object into a dict +capabilities_dto_dict = capabilities_dto_instance.to_dict() +# create an instance of CapabilitiesDTO from a dict +capabilities_dto_from_dict = CapabilitiesDTO.from_dict(capabilities_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/CapabilityDTO.md b/src/visier.sdk.api.administration/docs/CapabilityDTO.md new file mode 100644 index 000000000..96a59b6a8 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/CapabilityDTO.md @@ -0,0 +1,31 @@ +# CapabilityDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | A description of the capability. | [optional] +**display_name** | **str** | An identifiable capability name to display in Visier, such as \"Schedule Analysis\". | [optional] +**name** | **str** | The unique name of the capability. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.capability_dto import CapabilityDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CapabilityDTO from a JSON string +capability_dto_instance = CapabilityDTO.from_json(json) +# print the JSON string representation of the object +print(CapabilityDTO.to_json()) + +# convert the object into a dict +capability_dto_dict = capability_dto_instance.to_dict() +# create an instance of CapabilityDTO from a dict +capability_dto_from_dict = CapabilityDTO.from_dict(capability_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/CommitAndPublishOperationResponseDTO.md b/src/visier.sdk.api.administration/docs/CommitAndPublishOperationResponseDTO.md new file mode 100644 index 000000000..c041be8e1 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/CommitAndPublishOperationResponseDTO.md @@ -0,0 +1,29 @@ +# CommitAndPublishOperationResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**published_version** | [**ProjectDTO**](ProjectDTO.md) | The project version that was published to production. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.commit_and_publish_operation_response_dto import CommitAndPublishOperationResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CommitAndPublishOperationResponseDTO from a JSON string +commit_and_publish_operation_response_dto_instance = CommitAndPublishOperationResponseDTO.from_json(json) +# print the JSON string representation of the object +print(CommitAndPublishOperationResponseDTO.to_json()) + +# convert the object into a dict +commit_and_publish_operation_response_dto_dict = commit_and_publish_operation_response_dto_instance.to_dict() +# create an instance of CommitAndPublishOperationResponseDTO from a dict +commit_and_publish_operation_response_dto_from_dict = CommitAndPublishOperationResponseDTO.from_dict(commit_and_publish_operation_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/CommitDTO.md b/src/visier.sdk.api.administration/docs/CommitDTO.md new file mode 100644 index 000000000..7a59487e8 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/CommitDTO.md @@ -0,0 +1,31 @@ +# CommitDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | A description of the committed change. | [optional] +**id** | **str** | The unique ID of the committed change. | [optional] +**name** | **str** | An identifiable name of the committed change to display in Visier. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.commit_dto import CommitDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CommitDTO from a JSON string +commit_dto_instance = CommitDTO.from_json(json) +# print the JSON string representation of the object +print(CommitDTO.to_json()) + +# convert the object into a dict +commit_dto_dict = commit_dto_instance.to_dict() +# create an instance of CommitDTO from a dict +commit_dto_from_dict = CommitDTO.from_dict(commit_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPIExcludedSourceListDTO.md b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPIExcludedSourceListDTO.md new file mode 100644 index 000000000..72134d370 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPIExcludedSourceListDTO.md @@ -0,0 +1,29 @@ +# ConsolidatedAnalyticsAPIExcludedSourceListDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**excluded_sources** | **List[str]** | A list of the CA tenant's excluded sources. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.consolidated_analytics_api_excluded_source_list_dto import ConsolidatedAnalyticsAPIExcludedSourceListDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ConsolidatedAnalyticsAPIExcludedSourceListDTO from a JSON string +consolidated_analytics_api_excluded_source_list_dto_instance = ConsolidatedAnalyticsAPIExcludedSourceListDTO.from_json(json) +# print the JSON string representation of the object +print(ConsolidatedAnalyticsAPIExcludedSourceListDTO.to_json()) + +# convert the object into a dict +consolidated_analytics_api_excluded_source_list_dto_dict = consolidated_analytics_api_excluded_source_list_dto_instance.to_dict() +# create an instance of ConsolidatedAnalyticsAPIExcludedSourceListDTO from a dict +consolidated_analytics_api_excluded_source_list_dto_from_dict = ConsolidatedAnalyticsAPIExcludedSourceListDTO.from_dict(consolidated_analytics_api_excluded_source_list_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPISourceTenantListDTO.md b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPISourceTenantListDTO.md new file mode 100644 index 000000000..292e379ea --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPISourceTenantListDTO.md @@ -0,0 +1,29 @@ +# ConsolidatedAnalyticsAPISourceTenantListDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tenant_codes** | **List[str]** | A list of the CA tenant's source tenants. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.consolidated_analytics_api_source_tenant_list_dto import ConsolidatedAnalyticsAPISourceTenantListDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ConsolidatedAnalyticsAPISourceTenantListDTO from a JSON string +consolidated_analytics_api_source_tenant_list_dto_instance = ConsolidatedAnalyticsAPISourceTenantListDTO.from_json(json) +# print the JSON string representation of the object +print(ConsolidatedAnalyticsAPISourceTenantListDTO.to_json()) + +# convert the object into a dict +consolidated_analytics_api_source_tenant_list_dto_dict = consolidated_analytics_api_source_tenant_list_dto_instance.to_dict() +# create an instance of ConsolidatedAnalyticsAPISourceTenantListDTO from a dict +consolidated_analytics_api_source_tenant_list_dto_from_dict = ConsolidatedAnalyticsAPISourceTenantListDTO.from_dict(consolidated_analytics_api_source_tenant_list_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantCreateRequestDTO.md b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantCreateRequestDTO.md new file mode 100644 index 000000000..7fc9a1f61 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantCreateRequestDTO.md @@ -0,0 +1,29 @@ +# ConsolidatedAnalyticsAPITenantCreateRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tenant_code** | **str** | The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_create_request_dto import ConsolidatedAnalyticsAPITenantCreateRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ConsolidatedAnalyticsAPITenantCreateRequestDTO from a JSON string +consolidated_analytics_api_tenant_create_request_dto_instance = ConsolidatedAnalyticsAPITenantCreateRequestDTO.from_json(json) +# print the JSON string representation of the object +print(ConsolidatedAnalyticsAPITenantCreateRequestDTO.to_json()) + +# convert the object into a dict +consolidated_analytics_api_tenant_create_request_dto_dict = consolidated_analytics_api_tenant_create_request_dto_instance.to_dict() +# create an instance of ConsolidatedAnalyticsAPITenantCreateRequestDTO from a dict +consolidated_analytics_api_tenant_create_request_dto_from_dict = ConsolidatedAnalyticsAPITenantCreateRequestDTO.from_dict(consolidated_analytics_api_tenant_create_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantListResponseDTO.md b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantListResponseDTO.md new file mode 100644 index 000000000..27e328cbe --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantListResponseDTO.md @@ -0,0 +1,29 @@ +# ConsolidatedAnalyticsAPITenantListResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tenant_codes** | **List[str]** | A list of CA tenant codes. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_list_response_dto import ConsolidatedAnalyticsAPITenantListResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ConsolidatedAnalyticsAPITenantListResponseDTO from a JSON string +consolidated_analytics_api_tenant_list_response_dto_instance = ConsolidatedAnalyticsAPITenantListResponseDTO.from_json(json) +# print the JSON string representation of the object +print(ConsolidatedAnalyticsAPITenantListResponseDTO.to_json()) + +# convert the object into a dict +consolidated_analytics_api_tenant_list_response_dto_dict = consolidated_analytics_api_tenant_list_response_dto_instance.to_dict() +# create an instance of ConsolidatedAnalyticsAPITenantListResponseDTO from a dict +consolidated_analytics_api_tenant_list_response_dto_from_dict = ConsolidatedAnalyticsAPITenantListResponseDTO.from_dict(consolidated_analytics_api_tenant_list_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantWithDetails.md b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantWithDetails.md new file mode 100644 index 000000000..53375471d --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantWithDetails.md @@ -0,0 +1,31 @@ +# ConsolidatedAnalyticsAPITenantWithDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**excluded_sources_list** | **List[str]** | A list of the CA tenant's excluded sources. | [optional] +**source_tenants_list** | **List[str]** | A list of the CA tenant's source tenants. | [optional] +**tenant_code** | **str** | The CA tenant's code. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_with_details import ConsolidatedAnalyticsAPITenantWithDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of ConsolidatedAnalyticsAPITenantWithDetails from a JSON string +consolidated_analytics_api_tenant_with_details_instance = ConsolidatedAnalyticsAPITenantWithDetails.from_json(json) +# print the JSON string representation of the object +print(ConsolidatedAnalyticsAPITenantWithDetails.to_json()) + +# convert the object into a dict +consolidated_analytics_api_tenant_with_details_dict = consolidated_analytics_api_tenant_with_details_instance.to_dict() +# create an instance of ConsolidatedAnalyticsAPITenantWithDetails from a dict +consolidated_analytics_api_tenant_with_details_from_dict = ConsolidatedAnalyticsAPITenantWithDetails.from_dict(consolidated_analytics_api_tenant_with_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO.md b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO.md new file mode 100644 index 000000000..95a446bf7 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO.md @@ -0,0 +1,29 @@ +# ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tenants** | [**List[ConsolidatedAnalyticsAPITenantWithDetails]**](ConsolidatedAnalyticsAPITenantWithDetails.md) | A list of CA tenants and their details. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_with_details_list_response_dto import ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO from a JSON string +consolidated_analytics_api_tenant_with_details_list_response_dto_instance = ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO.from_json(json) +# print the JSON string representation of the object +print(ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO.to_json()) + +# convert the object into a dict +consolidated_analytics_api_tenant_with_details_list_response_dto_dict = consolidated_analytics_api_tenant_with_details_list_response_dto_instance.to_dict() +# create an instance of ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO from a dict +consolidated_analytics_api_tenant_with_details_list_response_dto_from_dict = ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO.from_dict(consolidated_analytics_api_tenant_with_details_list_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsApi.md b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsApi.md new file mode 100644 index 000000000..78aa318f2 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ConsolidatedAnalyticsApi.md @@ -0,0 +1,810 @@ +# visier.sdk.api.administration.ConsolidatedAnalyticsApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**add_excluded_sources**](ConsolidatedAnalyticsApi.md#add_excluded_sources) | **PATCH** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/excluded-sources | Add excluded sources to a consolidated analytics tenant +[**add_source_tenants**](ConsolidatedAnalyticsApi.md#add_source_tenants) | **PATCH** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/source-tenants | Add source tenants to a consolidated analytics tenant +[**create_tenant**](ConsolidatedAnalyticsApi.md#create_tenant) | **POST** /v1alpha/admin/consolidated-analytics/tenants | Create a consolidated analytics tenant +[**list_excluded_sources**](ConsolidatedAnalyticsApi.md#list_excluded_sources) | **GET** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/excluded-sources | Retrieve a consolidated analytics tenant's excluded sources +[**list_source_tenants**](ConsolidatedAnalyticsApi.md#list_source_tenants) | **GET** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/source-tenants | Retrieve a consolidated analytics tenant's source tenants +[**list_tenants**](ConsolidatedAnalyticsApi.md#list_tenants) | **GET** /v1alpha/admin/consolidated-analytics/tenants | Retrieve a list of all consolidated analytics tenants +[**list_tenants_with_details**](ConsolidatedAnalyticsApi.md#list_tenants_with_details) | **GET** /v1alpha/admin/consolidated-analytics/tenants-with-details | Retrieve the details of all consolidated analytics tenants +[**remove_excluded_sources**](ConsolidatedAnalyticsApi.md#remove_excluded_sources) | **DELETE** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/excluded-sources | Remove excluded sources from a consolidated analytics tenants +[**remove_source_tenants**](ConsolidatedAnalyticsApi.md#remove_source_tenants) | **DELETE** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/source-tenants | Remove source tenants from a consolidated analytics tenants +[**set_excluded_sources**](ConsolidatedAnalyticsApi.md#set_excluded_sources) | **PUT** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/excluded-sources | Set a consolidated analytics tenant's excluded sources +[**set_source_tenants**](ConsolidatedAnalyticsApi.md#set_source_tenants) | **PUT** /v1alpha/admin/consolidated-analytics/tenants/{tenantId}/source-tenants | Set a consolidated analytics tenant's source tenants + + +# **add_excluded_sources** +> ConsolidatedAnalyticsAPIExcludedSourceListDTO add_excluded_sources(tenant_id, excluded_sources_body) + +Add excluded sources to a consolidated analytics tenant + +Add excluded sources to the list of excluded sources for a consolidated analytics tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.consolidated_analytics_api_excluded_source_list_dto import ConsolidatedAnalyticsAPIExcludedSourceListDTO +from visier.sdk.api.administration.models.excluded_sources_body import ExcludedSourcesBody +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ConsolidatedAnalyticsApi(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. + excluded_sources_body = visier.sdk.api.administration.ExcludedSourcesBody() # ExcludedSourcesBody | + + try: + # Add excluded sources to a consolidated analytics tenant + api_response = api_instance.add_excluded_sources(tenant_id, excluded_sources_body) + print("The response of ConsolidatedAnalyticsApi->add_excluded_sources:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConsolidatedAnalyticsApi->add_excluded_sources: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. | + **excluded_sources_body** | [**ExcludedSourcesBody**](ExcludedSourcesBody.md)| | + +### Return type + +[**ConsolidatedAnalyticsAPIExcludedSourceListDTO**](ConsolidatedAnalyticsAPIExcludedSourceListDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **add_source_tenants** +> ConsolidatedAnalyticsAPISourceTenantListDTO add_source_tenants(tenant_id, tenant_code_body, limit=limit) + +Add source tenants to a consolidated analytics tenant + +Add source tenants to the list of source tenants for a consolidated analytics tenant. If successful, the response returns an updated list of source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.consolidated_analytics_api_source_tenant_list_dto import ConsolidatedAnalyticsAPISourceTenantListDTO +from visier.sdk.api.administration.models.tenant_code_body import TenantCodeBody +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ConsolidatedAnalyticsApi(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. + tenant_code_body = visier.sdk.api.administration.TenantCodeBody() # TenantCodeBody | + limit = 56 # int | The maximum number of source tenants to return. The maximum value is 1000. Default is 400. (optional) + + try: + # Add source tenants to a consolidated analytics tenant + api_response = api_instance.add_source_tenants(tenant_id, tenant_code_body, limit=limit) + print("The response of ConsolidatedAnalyticsApi->add_source_tenants:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConsolidatedAnalyticsApi->add_source_tenants: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. | + **tenant_code_body** | [**TenantCodeBody**](TenantCodeBody.md)| | + **limit** | **int**| The maximum number of source tenants to return. The maximum value is 1000. Default is 400. | [optional] + +### Return type + +[**ConsolidatedAnalyticsAPISourceTenantListDTO**](ConsolidatedAnalyticsAPISourceTenantListDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **create_tenant** +> ConsolidatedAnalyticsAPITenantCreateRequestDTO create_tenant(consolidated_analytics_api_tenant_create_request_dto) + +Create a consolidated analytics tenant + +Create a consolidated analytics tenant. A new CA tenant has no source tenants and no excluded sources. **Note:** CA tenant codes must have a prefix of CA. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_create_request_dto import ConsolidatedAnalyticsAPITenantCreateRequestDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ConsolidatedAnalyticsApi(api_client) + consolidated_analytics_api_tenant_create_request_dto = visier.sdk.api.administration.ConsolidatedAnalyticsAPITenantCreateRequestDTO() # ConsolidatedAnalyticsAPITenantCreateRequestDTO | + + try: + # Create a consolidated analytics tenant + api_response = api_instance.create_tenant(consolidated_analytics_api_tenant_create_request_dto) + print("The response of ConsolidatedAnalyticsApi->create_tenant:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConsolidatedAnalyticsApi->create_tenant: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **consolidated_analytics_api_tenant_create_request_dto** | [**ConsolidatedAnalyticsAPITenantCreateRequestDTO**](ConsolidatedAnalyticsAPITenantCreateRequestDTO.md)| | + +### Return type + +[**ConsolidatedAnalyticsAPITenantCreateRequestDTO**](ConsolidatedAnalyticsAPITenantCreateRequestDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_excluded_sources** +> ConsolidatedAnalyticsAPIExcludedSourceListDTO list_excluded_sources(tenant_id) + +Retrieve a consolidated analytics tenant's excluded sources + +Retrieve a CA tenant's excluded sources.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.consolidated_analytics_api_excluded_source_list_dto import ConsolidatedAnalyticsAPIExcludedSourceListDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ConsolidatedAnalyticsApi(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. + + try: + # Retrieve a consolidated analytics tenant's excluded sources + api_response = api_instance.list_excluded_sources(tenant_id) + print("The response of ConsolidatedAnalyticsApi->list_excluded_sources:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConsolidatedAnalyticsApi->list_excluded_sources: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. | + +### Return type + +[**ConsolidatedAnalyticsAPIExcludedSourceListDTO**](ConsolidatedAnalyticsAPIExcludedSourceListDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_source_tenants** +> ConsolidatedAnalyticsAPISourceTenantListDTO list_source_tenants(tenant_id, limit=limit, start=start) + +Retrieve a consolidated analytics tenant's source tenants + +Retrieve a CA tenant's source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.consolidated_analytics_api_source_tenant_list_dto import ConsolidatedAnalyticsAPISourceTenantListDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ConsolidatedAnalyticsApi(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. + limit = 56 # int | The maximum number of source tenants to return. The maximum value is 1000. Default is 400. (optional) + start = 56 # int | The starting index of the first source tenant to return. Default is 0. (optional) + + try: + # Retrieve a consolidated analytics tenant's source tenants + api_response = api_instance.list_source_tenants(tenant_id, limit=limit, start=start) + print("The response of ConsolidatedAnalyticsApi->list_source_tenants:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConsolidatedAnalyticsApi->list_source_tenants: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. | + **limit** | **int**| The maximum number of source tenants to return. The maximum value is 1000. Default is 400. | [optional] + **start** | **int**| The starting index of the first source tenant to return. Default is 0. | [optional] + +### Return type + +[**ConsolidatedAnalyticsAPISourceTenantListDTO**](ConsolidatedAnalyticsAPISourceTenantListDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_tenants** +> ConsolidatedAnalyticsAPITenantListResponseDTO list_tenants(limit=limit, start=start) + +Retrieve a list of all consolidated analytics tenants + +Retrieve the full list of consolidated analytics tenants in your administrating tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_list_response_dto import ConsolidatedAnalyticsAPITenantListResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ConsolidatedAnalyticsApi(api_client) + limit = 56 # int | The maximum number of tenants to return. The maximum value is 1000. Default is 400. (optional) + start = 56 # int | The starting index of the first tenant to return. Default is 0. (optional) + + try: + # Retrieve a list of all consolidated analytics tenants + api_response = api_instance.list_tenants(limit=limit, start=start) + print("The response of ConsolidatedAnalyticsApi->list_tenants:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConsolidatedAnalyticsApi->list_tenants: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **int**| The maximum number of tenants to return. The maximum value is 1000. Default is 400. | [optional] + **start** | **int**| The starting index of the first tenant to return. Default is 0. | [optional] + +### Return type + +[**ConsolidatedAnalyticsAPITenantListResponseDTO**](ConsolidatedAnalyticsAPITenantListResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_tenants_with_details** +> ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO list_tenants_with_details(limit=limit, start=start) + +Retrieve the details of all consolidated analytics tenants + +Retrieve the full list of consolidated analytics tenants and their details in your administrating tenant. **Note:** If your consolidated analytics tenants have thousands of source tenants, we recommend that you use the `GET /admin/consolidated-analytics/tenants` endpoint to get all CA tenants and then use the `GET /admin/consolidated-analytics/tenants/{tenantId}/source-tenants` and `GET /admin/consolidated-analytics/tenants/{tenantId}/excluded-sources` endpoints to retrieve information about specific CA tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_with_details_list_response_dto import ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ConsolidatedAnalyticsApi(api_client) + limit = 56 # int | The maximum number of tenants to return. The maximum value is 1000. Default is 400. (optional) + start = 56 # int | The starting index of the first tenant to return. Default is 0. (optional) + + try: + # Retrieve the details of all consolidated analytics tenants + api_response = api_instance.list_tenants_with_details(limit=limit, start=start) + print("The response of ConsolidatedAnalyticsApi->list_tenants_with_details:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConsolidatedAnalyticsApi->list_tenants_with_details: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **int**| The maximum number of tenants to return. The maximum value is 1000. Default is 400. | [optional] + **start** | **int**| The starting index of the first tenant to return. Default is 0. | [optional] + +### Return type + +[**ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO**](ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **remove_excluded_sources** +> ConsolidatedAnalyticsAPIExcludedSourceListDTO remove_excluded_sources(tenant_id, excluded_sources_body) + +Remove excluded sources from a consolidated analytics tenants + +Remove excluded sources from the list of excluded sources for a consolidated analytics tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.consolidated_analytics_api_excluded_source_list_dto import ConsolidatedAnalyticsAPIExcludedSourceListDTO +from visier.sdk.api.administration.models.excluded_sources_body import ExcludedSourcesBody +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ConsolidatedAnalyticsApi(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. + excluded_sources_body = visier.sdk.api.administration.ExcludedSourcesBody() # ExcludedSourcesBody | + + try: + # Remove excluded sources from a consolidated analytics tenants + api_response = api_instance.remove_excluded_sources(tenant_id, excluded_sources_body) + print("The response of ConsolidatedAnalyticsApi->remove_excluded_sources:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConsolidatedAnalyticsApi->remove_excluded_sources: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. | + **excluded_sources_body** | [**ExcludedSourcesBody**](ExcludedSourcesBody.md)| | + +### Return type + +[**ConsolidatedAnalyticsAPIExcludedSourceListDTO**](ConsolidatedAnalyticsAPIExcludedSourceListDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **remove_source_tenants** +> ConsolidatedAnalyticsAPISourceTenantListDTO remove_source_tenants(tenant_id, tenant_code_body, limit=limit) + +Remove source tenants from a consolidated analytics tenants + +Remove source tenants from the list of source tenants for a consolidated analytics tenant. If successful, the response returns an updated list of source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.consolidated_analytics_api_source_tenant_list_dto import ConsolidatedAnalyticsAPISourceTenantListDTO +from visier.sdk.api.administration.models.tenant_code_body import TenantCodeBody +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ConsolidatedAnalyticsApi(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. + tenant_code_body = visier.sdk.api.administration.TenantCodeBody() # TenantCodeBody | + limit = 56 # int | The maximum number of source tenants to return. The maximum value is 1000. Default is 400. (optional) + + try: + # Remove source tenants from a consolidated analytics tenants + api_response = api_instance.remove_source_tenants(tenant_id, tenant_code_body, limit=limit) + print("The response of ConsolidatedAnalyticsApi->remove_source_tenants:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConsolidatedAnalyticsApi->remove_source_tenants: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. | + **tenant_code_body** | [**TenantCodeBody**](TenantCodeBody.md)| | + **limit** | **int**| The maximum number of source tenants to return. The maximum value is 1000. Default is 400. | [optional] + +### Return type + +[**ConsolidatedAnalyticsAPISourceTenantListDTO**](ConsolidatedAnalyticsAPISourceTenantListDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **set_excluded_sources** +> ConsolidatedAnalyticsAPIExcludedSourceListDTO set_excluded_sources(tenant_id, excluded_sources_body) + +Set a consolidated analytics tenant's excluded sources + +Define the excluded sources for a consolidated analytics tenant. After you create a CA tenant, you may optionally define a list of excluded sources. The excluded sources are the sources whose data is excluded from the CA tenant. You can also use this API to replace the list of excluded sources for an existing CA tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.consolidated_analytics_api_excluded_source_list_dto import ConsolidatedAnalyticsAPIExcludedSourceListDTO +from visier.sdk.api.administration.models.excluded_sources_body import ExcludedSourcesBody +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ConsolidatedAnalyticsApi(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. + excluded_sources_body = visier.sdk.api.administration.ExcludedSourcesBody() # ExcludedSourcesBody | + + try: + # Set a consolidated analytics tenant's excluded sources + api_response = api_instance.set_excluded_sources(tenant_id, excluded_sources_body) + print("The response of ConsolidatedAnalyticsApi->set_excluded_sources:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConsolidatedAnalyticsApi->set_excluded_sources: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. | + **excluded_sources_body** | [**ExcludedSourcesBody**](ExcludedSourcesBody.md)| | + +### Return type + +[**ConsolidatedAnalyticsAPIExcludedSourceListDTO**](ConsolidatedAnalyticsAPIExcludedSourceListDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **set_source_tenants** +> ConsolidatedAnalyticsAPISourceTenantListDTO set_source_tenants(tenant_id, tenant_code_body, limit=limit) + +Set a consolidated analytics tenant's source tenants + +Define the source tenants for a consolidated analytics tenant. After you create a CA tenant, you must define a list of its source tenants. The source tenants are the tenants whose data is aggregated in the CA tenant. You can also use this API to replace the list of source tenants for an existing CA tenant. If successful, the response returns an updated list of source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.consolidated_analytics_api_source_tenant_list_dto import ConsolidatedAnalyticsAPISourceTenantListDTO +from visier.sdk.api.administration.models.tenant_code_body import TenantCodeBody +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ConsolidatedAnalyticsApi(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. + tenant_code_body = visier.sdk.api.administration.TenantCodeBody() # TenantCodeBody | + limit = 56 # int | The maximum number of source tenants to return. The maximum value is 1000. Default is 400. (optional) + + try: + # Set a consolidated analytics tenant's source tenants + api_response = api_instance.set_source_tenants(tenant_id, tenant_code_body, limit=limit) + print("The response of ConsolidatedAnalyticsApi->set_source_tenants:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConsolidatedAnalyticsApi->set_source_tenants: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. | + **tenant_code_body** | [**TenantCodeBody**](TenantCodeBody.md)| | + **limit** | **int**| The maximum number of source tenants to return. The maximum value is 1000. Default is 400. | [optional] + +### Return type + +[**ConsolidatedAnalyticsAPISourceTenantListDTO**](ConsolidatedAnalyticsAPISourceTenantListDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.administration/docs/ContentPackageDTO.md b/src/visier.sdk.api.administration/docs/ContentPackageDTO.md new file mode 100644 index 000000000..cc58e40b2 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ContentPackageDTO.md @@ -0,0 +1,31 @@ +# ContentPackageDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**content_package_id** | **str** | The unique ID of the content package. | [optional] +**description** | **str** | A description of the content package. | [optional] +**display_name** | **str** | An identifiable content package name to display in Visier, such as \"Talent Acquisition Core Content\". | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.content_package_dto import ContentPackageDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ContentPackageDTO from a JSON string +content_package_dto_instance = ContentPackageDTO.from_json(json) +# print the JSON string representation of the object +print(ContentPackageDTO.to_json()) + +# convert the object into a dict +content_package_dto_dict = content_package_dto_instance.to_dict() +# create an instance of ContentPackageDTO from a dict +content_package_dto_from_dict = ContentPackageDTO.from_dict(content_package_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/CreateDataAccessSetRequestDTO.md b/src/visier.sdk.api.administration/docs/CreateDataAccessSetRequestDTO.md new file mode 100644 index 000000000..039e2fb07 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/CreateDataAccessSetRequestDTO.md @@ -0,0 +1,29 @@ +# CreateDataAccessSetRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**shareable_property_access_configs** | [**List[DataAccessSetDTO]**](DataAccessSetDTO.md) | The data access sets to be created. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.create_data_access_set_request_dto import CreateDataAccessSetRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateDataAccessSetRequestDTO from a JSON string +create_data_access_set_request_dto_instance = CreateDataAccessSetRequestDTO.from_json(json) +# print the JSON string representation of the object +print(CreateDataAccessSetRequestDTO.to_json()) + +# convert the object into a dict +create_data_access_set_request_dto_dict = create_data_access_set_request_dto_instance.to_dict() +# create an instance of CreateDataAccessSetRequestDTO from a dict +create_data_access_set_request_dto_from_dict = CreateDataAccessSetRequestDTO.from_dict(create_data_access_set_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/CustomPropertyDTO.md b/src/visier.sdk.api.administration/docs/CustomPropertyDTO.md new file mode 100644 index 000000000..9f6f3ba45 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/CustomPropertyDTO.md @@ -0,0 +1,30 @@ +# CustomPropertyDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | **str** | | [optional] +**value** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.custom_property_dto import CustomPropertyDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CustomPropertyDTO from a JSON string +custom_property_dto_instance = CustomPropertyDTO.from_json(json) +# print the JSON string representation of the object +print(CustomPropertyDTO.to_json()) + +# convert the object into a dict +custom_property_dto_dict = custom_property_dto_instance.to_dict() +# create an instance of CustomPropertyDTO from a dict +custom_property_dto_from_dict = CustomPropertyDTO.from_dict(custom_property_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/CustomTenantPropertyDTO.md b/src/visier.sdk.api.administration/docs/CustomTenantPropertyDTO.md new file mode 100644 index 000000000..cd24d5363 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/CustomTenantPropertyDTO.md @@ -0,0 +1,30 @@ +# CustomTenantPropertyDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | **str** | | [optional] +**value** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.custom_tenant_property_dto import CustomTenantPropertyDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CustomTenantPropertyDTO from a JSON string +custom_tenant_property_dto_instance = CustomTenantPropertyDTO.from_json(json) +# print the JSON string representation of the object +print(CustomTenantPropertyDTO.to_json()) + +# convert the object into a dict +custom_tenant_property_dto_dict = custom_tenant_property_dto_instance.to_dict() +# create an instance of CustomTenantPropertyDTO from a dict +custom_tenant_property_dto_from_dict = CustomTenantPropertyDTO.from_dict(custom_tenant_property_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/DataAccessSetDTO.md b/src/visier.sdk.api.administration/docs/DataAccessSetDTO.md new file mode 100644 index 000000000..c5eb87d1a --- /dev/null +++ b/src/visier.sdk.api.administration/docs/DataAccessSetDTO.md @@ -0,0 +1,33 @@ +# DataAccessSetDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_object_id** | **str** | The unique ID of the analytic object that the data access set is for. | [optional] +**description** | **str** | A description of the data access set. | [optional] +**display_name** | **str** | An identifiable data access set name to display in Visier, such as \"Aggregate(Employee)\". | [optional] +**id** | **str** | The unique ID of the data access set. | [optional] +**property_access_configs** | [**List[PropertyAccessConfigDTO]**](PropertyAccessConfigDTO.md) | The data access assigned to properties in the data access set. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.data_access_set_dto import DataAccessSetDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataAccessSetDTO from a JSON string +data_access_set_dto_instance = DataAccessSetDTO.from_json(json) +# print the JSON string representation of the object +print(DataAccessSetDTO.to_json()) + +# convert the object into a dict +data_access_set_dto_dict = data_access_set_dto_instance.to_dict() +# create an instance of DataAccessSetDTO from a dict +data_access_set_dto_from_dict = DataAccessSetDTO.from_dict(data_access_set_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/DataAccessSetErrorDTO.md b/src/visier.sdk.api.administration/docs/DataAccessSetErrorDTO.md new file mode 100644 index 000000000..51e55284a --- /dev/null +++ b/src/visier.sdk.api.administration/docs/DataAccessSetErrorDTO.md @@ -0,0 +1,30 @@ +# DataAccessSetErrorDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **str** | Error message | [optional] +**rci** | **str** | A root cause identifier that allows Visier to determine the source of the problem. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.data_access_set_error_dto import DataAccessSetErrorDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataAccessSetErrorDTO from a JSON string +data_access_set_error_dto_instance = DataAccessSetErrorDTO.from_json(json) +# print the JSON string representation of the object +print(DataAccessSetErrorDTO.to_json()) + +# convert the object into a dict +data_access_set_error_dto_dict = data_access_set_error_dto_instance.to_dict() +# create an instance of DataAccessSetErrorDTO from a dict +data_access_set_error_dto_from_dict = DataAccessSetErrorDTO.from_dict(data_access_set_error_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/DataAccessSetFailureDTO.md b/src/visier.sdk.api.administration/docs/DataAccessSetFailureDTO.md new file mode 100644 index 000000000..97927f251 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/DataAccessSetFailureDTO.md @@ -0,0 +1,31 @@ +# DataAccessSetFailureDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_access_set_id** | **str** | The unique identifier associated with the data access set. | [optional] +**display_name** | **str** | An identifiable data access set name to display in Visier, such as \"Detailed(Employee)\". | [optional] +**error** | [**DataAccessSetErrorDTO**](DataAccessSetErrorDTO.md) | The error associated with the failure. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.data_access_set_failure_dto import DataAccessSetFailureDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataAccessSetFailureDTO from a JSON string +data_access_set_failure_dto_instance = DataAccessSetFailureDTO.from_json(json) +# print the JSON string representation of the object +print(DataAccessSetFailureDTO.to_json()) + +# convert the object into a dict +data_access_set_failure_dto_dict = data_access_set_failure_dto_instance.to_dict() +# create an instance of DataAccessSetFailureDTO from a dict +data_access_set_failure_dto_from_dict = DataAccessSetFailureDTO.from_dict(data_access_set_failure_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/DataAccessSetSuccessDTO.md b/src/visier.sdk.api.administration/docs/DataAccessSetSuccessDTO.md new file mode 100644 index 000000000..9a5db901f --- /dev/null +++ b/src/visier.sdk.api.administration/docs/DataAccessSetSuccessDTO.md @@ -0,0 +1,30 @@ +# DataAccessSetSuccessDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_access_set_id** | **str** | The unique identifier associated with the created data access set. | [optional] +**display_name** | **str** | An identifiable data access set name to display in Visier, such as \"Detailed(Employee)\". | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.data_access_set_success_dto import DataAccessSetSuccessDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataAccessSetSuccessDTO from a JSON string +data_access_set_success_dto_instance = DataAccessSetSuccessDTO.from_json(json) +# print the JSON string representation of the object +print(DataAccessSetSuccessDTO.to_json()) + +# convert the object into a dict +data_access_set_success_dto_dict = data_access_set_success_dto_instance.to_dict() +# create an instance of DataAccessSetSuccessDTO from a dict +data_access_set_success_dto_from_dict = DataAccessSetSuccessDTO.from_dict(data_access_set_success_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/DataSecurityProfileDTO.md b/src/visier.sdk.api.administration/docs/DataSecurityProfileDTO.md new file mode 100644 index 000000000..efd649e4c --- /dev/null +++ b/src/visier.sdk.api.administration/docs/DataSecurityProfileDTO.md @@ -0,0 +1,34 @@ +# DataSecurityProfileDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**all_data_point_access** | **bool** | If `true`, the permission grants access to the entire population. If `false`, define `memberFilterConfigs` to set custom population access. | [optional] +**analytic_object_id** | **str** | The unique ID of the analytic object assigned data security in this permission. | [optional] +**inherited_access_configs** | [**List[InheritedAccessConfigDTO]**](InheritedAccessConfigDTO.md) | The events and related objects inherited from the analytic object. By default, all events and related objects associated with the analytic object will be inherited from the analytic object in a permission. For example, if you assign access to Employee, then access to the Employee Exit event is inherited in the permission. To remove access to an event or related object, add the object to `inheritedAccessConfigs` with `removeAccess`: true. To add custom filters to an event or related object, add the object to `inheritedAccessConfigs` and define `memberFilterConfigs`. | [optional] +**inherited_reference_member_filter_config** | [**InheritedReferenceMemberFilterConfigDTO**](InheritedReferenceMemberFilterConfigDTO.md) | Configures the analytic object to inherit population access filters from. The target analytic object must be assigned population access in the permission and have a binding (strong) reference from the source analytic object. * For example, assume `Applicant` -> `Requisition` is configured to be a binding (strong) reference. For `Applicant` (source analytic object) to inherit population access filters from `Requisition` (target analytic object), in the Applicant `dataSecurityProfile`, set `inheritedReferenceMemberFilterConfig` to `Requisition`. In this example, Applicant will inherit filters from Requisition because Requsition is assigned data security in this permission and there is a binding (strong) reference from Applicant to Requisition. | [optional] +**member_filter_configs** | [**List[MemberFilterConfigDTO]**](MemberFilterConfigDTO.md) | Custom filters that define population access for an item in the permission. | [optional] +**property_set_config** | [**PropertySetConfigDTO**](PropertySetConfigDTO.md) | A list of objects representing the data access for an analytic object’s properties. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.data_security_profile_dto import DataSecurityProfileDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataSecurityProfileDTO from a JSON string +data_security_profile_dto_instance = DataSecurityProfileDTO.from_json(json) +# print the JSON string representation of the object +print(DataSecurityProfileDTO.to_json()) + +# convert the object into a dict +data_security_profile_dto_dict = data_security_profile_dto_instance.to_dict() +# create an instance of DataSecurityProfileDTO from a dict +data_security_profile_dto_from_dict = DataSecurityProfileDTO.from_dict(data_security_profile_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/DeletePermissionsRequestDTO.md b/src/visier.sdk.api.administration/docs/DeletePermissionsRequestDTO.md new file mode 100644 index 000000000..431a07491 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/DeletePermissionsRequestDTO.md @@ -0,0 +1,29 @@ +# DeletePermissionsRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permission_ids** | **List[str]** | The identifiers of the permissions to delete. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.delete_permissions_request_dto import DeletePermissionsRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DeletePermissionsRequestDTO from a JSON string +delete_permissions_request_dto_instance = DeletePermissionsRequestDTO.from_json(json) +# print the JSON string representation of the object +print(DeletePermissionsRequestDTO.to_json()) + +# convert the object into a dict +delete_permissions_request_dto_dict = delete_permissions_request_dto_instance.to_dict() +# create an instance of DeletePermissionsRequestDTO from a dict +delete_permissions_request_dto_from_dict = DeletePermissionsRequestDTO.from_dict(delete_permissions_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/DeleteUserGroupV2Request.md b/src/visier.sdk.api.administration/docs/DeleteUserGroupV2Request.md new file mode 100644 index 000000000..7137c9d4d --- /dev/null +++ b/src/visier.sdk.api.administration/docs/DeleteUserGroupV2Request.md @@ -0,0 +1,29 @@ +# DeleteUserGroupV2Request + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_group_id** | **str** | The ID of user group to delete. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.delete_user_group_v2_request import DeleteUserGroupV2Request + +# TODO update the JSON string below +json = "{}" +# create an instance of DeleteUserGroupV2Request from a JSON string +delete_user_group_v2_request_instance = DeleteUserGroupV2Request.from_json(json) +# print the JSON string representation of the object +print(DeleteUserGroupV2Request.to_json()) + +# convert the object into a dict +delete_user_group_v2_request_dict = delete_user_group_v2_request_instance.to_dict() +# create an instance of DeleteUserGroupV2Request from a dict +delete_user_group_v2_request_from_dict = DeleteUserGroupV2Request.from_dict(delete_user_group_v2_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/DimensionFilterDTO.md b/src/visier.sdk.api.administration/docs/DimensionFilterDTO.md new file mode 100644 index 000000000..f30362151 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/DimensionFilterDTO.md @@ -0,0 +1,30 @@ +# DimensionFilterDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dynamic_dimension_filter** | [**DynamicDimensionFilterDTO**](DynamicDimensionFilterDTO.md) | | [optional] +**static_dimension_filter** | [**StaticDimensionFilterDTO**](StaticDimensionFilterDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.dimension_filter_dto import DimensionFilterDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DimensionFilterDTO from a JSON string +dimension_filter_dto_instance = DimensionFilterDTO.from_json(json) +# print the JSON string representation of the object +print(DimensionFilterDTO.to_json()) + +# convert the object into a dict +dimension_filter_dto_dict = dimension_filter_dto_instance.to_dict() +# create an instance of DimensionFilterDTO from a dict +dimension_filter_dto_from_dict = DimensionFilterDTO.from_dict(dimension_filter_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/DynamicDimensionFilterDTO.md b/src/visier.sdk.api.administration/docs/DynamicDimensionFilterDTO.md new file mode 100644 index 000000000..ee0ca0a97 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/DynamicDimensionFilterDTO.md @@ -0,0 +1,32 @@ +# DynamicDimensionFilterDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension_id** | **str** | The dimension ID associated with the filter. | [optional] +**dimension_status** | **str** | The dimension's validity status. Valid values: Valid, NoData, NotFound. * **Valid**: The object exists and has loaded data. * **NoData**: The object exists but doesn't have loaded data. * **NotFound**: The object doesn't exist. | [optional] +**dynamic_property_mappings** | [**List[DynamicPropertyMappingDTO]**](DynamicPropertyMappingDTO.md) | The properties assigned population access in the dynamic filter. | [optional] +**subject_reference_path** | **List[str]** | The subject reference path. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.dynamic_dimension_filter_dto import DynamicDimensionFilterDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DynamicDimensionFilterDTO from a JSON string +dynamic_dimension_filter_dto_instance = DynamicDimensionFilterDTO.from_json(json) +# print the JSON string representation of the object +print(DynamicDimensionFilterDTO.to_json()) + +# convert the object into a dict +dynamic_dimension_filter_dto_dict = dynamic_dimension_filter_dto_instance.to_dict() +# create an instance of DynamicDimensionFilterDTO from a dict +dynamic_dimension_filter_dto_from_dict = DynamicDimensionFilterDTO.from_dict(dynamic_dimension_filter_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/DynamicPropertyMappingDTO.md b/src/visier.sdk.api.administration/docs/DynamicPropertyMappingDTO.md new file mode 100644 index 000000000..714977fd9 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/DynamicPropertyMappingDTO.md @@ -0,0 +1,31 @@ +# DynamicPropertyMappingDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**hierarchy_property_id** | **str** | The unique ID of the property. | [optional] +**hierarchy_property_status** | **str** | The property's validity status. Valid values: `Valid`, `NotFound`. * **Valid**: The object exists and has loaded data. * **NotFound**: The object doesn't exist. | [optional] +**user_property** | [**UserPropertyDTO**](UserPropertyDTO.md) | The user property that you want to link the name property or organization head to. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.dynamic_property_mapping_dto import DynamicPropertyMappingDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DynamicPropertyMappingDTO from a JSON string +dynamic_property_mapping_dto_instance = DynamicPropertyMappingDTO.from_json(json) +# print the JSON string representation of the object +print(DynamicPropertyMappingDTO.to_json()) + +# convert the object into a dict +dynamic_property_mapping_dto_dict = dynamic_property_mapping_dto_instance.to_dict() +# create an instance of DynamicPropertyMappingDTO from a dict +dynamic_property_mapping_dto_from_dict = DynamicPropertyMappingDTO.from_dict(dynamic_property_mapping_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ElementIDsDTO.md b/src/visier.sdk.api.administration/docs/ElementIDsDTO.md new file mode 100644 index 000000000..61757eee3 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ElementIDsDTO.md @@ -0,0 +1,29 @@ +# ElementIDsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ids** | **List[str]** | The unique identifiers. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.element_ids_dto import ElementIDsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ElementIDsDTO from a JSON string +element_ids_dto_instance = ElementIDsDTO.from_json(json) +# print the JSON string representation of the object +print(ElementIDsDTO.to_json()) + +# convert the object into a dict +element_ids_dto_dict = element_ids_dto_instance.to_dict() +# create an instance of ElementIDsDTO from a dict +element_ids_dto_from_dict = ElementIDsDTO.from_dict(element_ids_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ErrorDTO.md b/src/visier.sdk.api.administration/docs/ErrorDTO.md new file mode 100644 index 000000000..4ce6dc95f --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ErrorDTO.md @@ -0,0 +1,31 @@ +# ErrorDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | A brief identifier of the type of error. | [optional] +**error_message** | **str** | A description of the error that occurred. | [optional] +**root_cause_id** | **str** | The root cause identifier that allows Visier to determine the source of the problem. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.error_dto import ErrorDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ErrorDTO from a JSON string +error_dto_instance = ErrorDTO.from_json(json) +# print the JSON string representation of the object +print(ErrorDTO.to_json()) + +# convert the object into a dict +error_dto_dict = error_dto_instance.to_dict() +# create an instance of ErrorDTO from a dict +error_dto_from_dict = ErrorDTO.from_dict(error_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ExcludedSourcesBody.md b/src/visier.sdk.api.administration/docs/ExcludedSourcesBody.md new file mode 100644 index 000000000..82e1a46ce --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ExcludedSourcesBody.md @@ -0,0 +1,29 @@ +# ExcludedSourcesBody + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**excluded_sources** | **List[str]** | A list of a CA tenant's excluded sources. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.excluded_sources_body import ExcludedSourcesBody + +# TODO update the JSON string below +json = "{}" +# create an instance of ExcludedSourcesBody from a JSON string +excluded_sources_body_instance = ExcludedSourcesBody.from_json(json) +# print the JSON string representation of the object +print(ExcludedSourcesBody.to_json()) + +# convert the object into a dict +excluded_sources_body_dict = excluded_sources_body_instance.to_dict() +# create an instance of ExcludedSourcesBody from a dict +excluded_sources_body_from_dict = ExcludedSourcesBody.from_dict(excluded_sources_body_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ExportProductionVersionsAPIOperationParametersDTO.md b/src/visier.sdk.api.administration/docs/ExportProductionVersionsAPIOperationParametersDTO.md new file mode 100644 index 000000000..a7f76fa7c --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ExportProductionVersionsAPIOperationParametersDTO.md @@ -0,0 +1,31 @@ +# ExportProductionVersionsAPIOperationParametersDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**end_version** | **str** | The unique identifier of the version to stop exporting versions at. The range is inclusive. | [optional] +**excluded_versions** | **List[str]** | A list of versions between `startVersion` and `endVersion` to exclude. | [optional] +**start_version** | **str** | The unique identifier of the version to start exporting versions from. The range is inclusive. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.export_production_versions_api_operation_parameters_dto import ExportProductionVersionsAPIOperationParametersDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ExportProductionVersionsAPIOperationParametersDTO from a JSON string +export_production_versions_api_operation_parameters_dto_instance = ExportProductionVersionsAPIOperationParametersDTO.from_json(json) +# print the JSON string representation of the object +print(ExportProductionVersionsAPIOperationParametersDTO.to_json()) + +# convert the object into a dict +export_production_versions_api_operation_parameters_dto_dict = export_production_versions_api_operation_parameters_dto_instance.to_dict() +# create an instance of ExportProductionVersionsAPIOperationParametersDTO from a dict +export_production_versions_api_operation_parameters_dto_from_dict = ExportProductionVersionsAPIOperationParametersDTO.from_dict(export_production_versions_api_operation_parameters_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/FailedAccessibleTenantProfileAssignmentDTO.md b/src/visier.sdk.api.administration/docs/FailedAccessibleTenantProfileAssignmentDTO.md new file mode 100644 index 000000000..bb3b17248 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/FailedAccessibleTenantProfileAssignmentDTO.md @@ -0,0 +1,32 @@ +# FailedAccessibleTenantProfileAssignmentDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | [**ErrorDTO**](ErrorDTO.md) | The details about the error. | [optional] +**for_all_children** | **bool** | If true, the target assignment is for all analytic tenants. | [optional] +**tenant_code** | **str** | The tenant code. | [optional] +**user_id** | **str** | The impacted user ID. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.failed_accessible_tenant_profile_assignment_dto import FailedAccessibleTenantProfileAssignmentDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of FailedAccessibleTenantProfileAssignmentDTO from a JSON string +failed_accessible_tenant_profile_assignment_dto_instance = FailedAccessibleTenantProfileAssignmentDTO.from_json(json) +# print the JSON string representation of the object +print(FailedAccessibleTenantProfileAssignmentDTO.to_json()) + +# convert the object into a dict +failed_accessible_tenant_profile_assignment_dto_dict = failed_accessible_tenant_profile_assignment_dto_instance.to_dict() +# create an instance of FailedAccessibleTenantProfileAssignmentDTO from a dict +failed_accessible_tenant_profile_assignment_dto_from_dict = FailedAccessibleTenantProfileAssignmentDTO.from_dict(failed_accessible_tenant_profile_assignment_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/FailedLocalTenantProfileAssignmentDTO.md b/src/visier.sdk.api.administration/docs/FailedLocalTenantProfileAssignmentDTO.md new file mode 100644 index 000000000..1b0d3bb95 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/FailedLocalTenantProfileAssignmentDTO.md @@ -0,0 +1,30 @@ +# FailedLocalTenantProfileAssignmentDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | [**ErrorDTO**](ErrorDTO.md) | The details about the error. | [optional] +**user_id** | **str** | The impacted user ID. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.failed_local_tenant_profile_assignment_dto import FailedLocalTenantProfileAssignmentDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of FailedLocalTenantProfileAssignmentDTO from a JSON string +failed_local_tenant_profile_assignment_dto_instance = FailedLocalTenantProfileAssignmentDTO.from_json(json) +# print the JSON string representation of the object +print(FailedLocalTenantProfileAssignmentDTO.to_json()) + +# convert the object into a dict +failed_local_tenant_profile_assignment_dto_dict = failed_local_tenant_profile_assignment_dto_instance.to_dict() +# create an instance of FailedLocalTenantProfileAssignmentDTO from a dict +failed_local_tenant_profile_assignment_dto_from_dict = FailedLocalTenantProfileAssignmentDTO.from_dict(failed_local_tenant_profile_assignment_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/FailedLocalTenantProfileRevokeDTO.md b/src/visier.sdk.api.administration/docs/FailedLocalTenantProfileRevokeDTO.md new file mode 100644 index 000000000..a3b06995f --- /dev/null +++ b/src/visier.sdk.api.administration/docs/FailedLocalTenantProfileRevokeDTO.md @@ -0,0 +1,30 @@ +# FailedLocalTenantProfileRevokeDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **str** | The details about the error. | [optional] +**user_id** | **str** | The impacted user ID. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.failed_local_tenant_profile_revoke_dto import FailedLocalTenantProfileRevokeDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of FailedLocalTenantProfileRevokeDTO from a JSON string +failed_local_tenant_profile_revoke_dto_instance = FailedLocalTenantProfileRevokeDTO.from_json(json) +# print the JSON string representation of the object +print(FailedLocalTenantProfileRevokeDTO.to_json()) + +# convert the object into a dict +failed_local_tenant_profile_revoke_dto_dict = failed_local_tenant_profile_revoke_dto_instance.to_dict() +# create an instance of FailedLocalTenantProfileRevokeDTO from a dict +failed_local_tenant_profile_revoke_dto_from_dict = FailedLocalTenantProfileRevokeDTO.from_dict(failed_local_tenant_profile_revoke_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/GetCapabilitiesAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/GetCapabilitiesAPIResponseDTO.md new file mode 100644 index 000000000..1c4a1b169 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/GetCapabilitiesAPIResponseDTO.md @@ -0,0 +1,29 @@ +# GetCapabilitiesAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**capabilities** | [**List[CapabilityDTO]**](CapabilityDTO.md) | A list of objects representing the available capabilities. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.get_capabilities_api_response_dto import GetCapabilitiesAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of GetCapabilitiesAPIResponseDTO from a JSON string +get_capabilities_api_response_dto_instance = GetCapabilitiesAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(GetCapabilitiesAPIResponseDTO.to_json()) + +# convert the object into a dict +get_capabilities_api_response_dto_dict = get_capabilities_api_response_dto_instance.to_dict() +# create an instance of GetCapabilitiesAPIResponseDTO from a dict +get_capabilities_api_response_dto_from_dict = GetCapabilitiesAPIResponseDTO.from_dict(get_capabilities_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/GetContentPackagesAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/GetContentPackagesAPIResponseDTO.md new file mode 100644 index 000000000..2295d5395 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/GetContentPackagesAPIResponseDTO.md @@ -0,0 +1,29 @@ +# GetContentPackagesAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**content_packages** | [**List[ContentPackageDTO]**](ContentPackageDTO.md) | A list of objects representing the available content packages. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.get_content_packages_api_response_dto import GetContentPackagesAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of GetContentPackagesAPIResponseDTO from a JSON string +get_content_packages_api_response_dto_instance = GetContentPackagesAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(GetContentPackagesAPIResponseDTO.to_json()) + +# convert the object into a dict +get_content_packages_api_response_dto_dict = get_content_packages_api_response_dto_instance.to_dict() +# create an instance of GetContentPackagesAPIResponseDTO from a dict +get_content_packages_api_response_dto_from_dict = GetContentPackagesAPIResponseDTO.from_dict(get_content_packages_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/GetDataAccessSetsAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/GetDataAccessSetsAPIResponseDTO.md new file mode 100644 index 000000000..669f4001b --- /dev/null +++ b/src/visier.sdk.api.administration/docs/GetDataAccessSetsAPIResponseDTO.md @@ -0,0 +1,29 @@ +# GetDataAccessSetsAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_access_sets** | [**List[DataAccessSetDTO]**](DataAccessSetDTO.md) | A list of objects representing the shareable data access sets. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.get_data_access_sets_api_response_dto import GetDataAccessSetsAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of GetDataAccessSetsAPIResponseDTO from a JSON string +get_data_access_sets_api_response_dto_instance = GetDataAccessSetsAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(GetDataAccessSetsAPIResponseDTO.to_json()) + +# convert the object into a dict +get_data_access_sets_api_response_dto_dict = get_data_access_sets_api_response_dto_instance.to_dict() +# create an instance of GetDataAccessSetsAPIResponseDTO from a dict +get_data_access_sets_api_response_dto_from_dict = GetDataAccessSetsAPIResponseDTO.from_dict(get_data_access_sets_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/GetDataSecurityObjectsAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/GetDataSecurityObjectsAPIResponseDTO.md new file mode 100644 index 000000000..5298d5049 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/GetDataSecurityObjectsAPIResponseDTO.md @@ -0,0 +1,29 @@ +# GetDataSecurityObjectsAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_objects** | [**List[AnalyticObjectDTO]**](AnalyticObjectDTO.md) | A list of analytic objects and their related objects that are available to define data access to. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.get_data_security_objects_api_response_dto import GetDataSecurityObjectsAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of GetDataSecurityObjectsAPIResponseDTO from a JSON string +get_data_security_objects_api_response_dto_instance = GetDataSecurityObjectsAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(GetDataSecurityObjectsAPIResponseDTO.to_json()) + +# convert the object into a dict +get_data_security_objects_api_response_dto_dict = get_data_security_objects_api_response_dto_instance.to_dict() +# create an instance of GetDataSecurityObjectsAPIResponseDTO from a dict +get_data_security_objects_api_response_dto_from_dict = GetDataSecurityObjectsAPIResponseDTO.from_dict(get_data_security_objects_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/GetPermissionsAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/GetPermissionsAPIResponseDTO.md new file mode 100644 index 000000000..3670bffbc --- /dev/null +++ b/src/visier.sdk.api.administration/docs/GetPermissionsAPIResponseDTO.md @@ -0,0 +1,30 @@ +# GetPermissionsAPIResponseDTO + +List of available permissions + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | [**List[PermissionDTO]**](PermissionDTO.md) | A list of objects representing the available permissions. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.get_permissions_api_response_dto import GetPermissionsAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of GetPermissionsAPIResponseDTO from a JSON string +get_permissions_api_response_dto_instance = GetPermissionsAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(GetPermissionsAPIResponseDTO.to_json()) + +# convert the object into a dict +get_permissions_api_response_dto_dict = get_permissions_api_response_dto_instance.to_dict() +# create an instance of GetPermissionsAPIResponseDTO from a dict +get_permissions_api_response_dto_from_dict = GetPermissionsAPIResponseDTO.from_dict(get_permissions_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/GetProductionVersionsAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/GetProductionVersionsAPIResponseDTO.md new file mode 100644 index 000000000..73082fc0f --- /dev/null +++ b/src/visier.sdk.api.administration/docs/GetProductionVersionsAPIResponseDTO.md @@ -0,0 +1,29 @@ +# GetProductionVersionsAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**published_versions** | [**List[ProjectDTO]**](ProjectDTO.md) | A list of projects that were published to production. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.get_production_versions_api_response_dto import GetProductionVersionsAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of GetProductionVersionsAPIResponseDTO from a JSON string +get_production_versions_api_response_dto_instance = GetProductionVersionsAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(GetProductionVersionsAPIResponseDTO.to_json()) + +# convert the object into a dict +get_production_versions_api_response_dto_dict = get_production_versions_api_response_dto_instance.to_dict() +# create an instance of GetProductionVersionsAPIResponseDTO from a dict +get_production_versions_api_response_dto_from_dict = GetProductionVersionsAPIResponseDTO.from_dict(get_production_versions_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/GetProjectCommitsAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/GetProjectCommitsAPIResponseDTO.md new file mode 100644 index 000000000..07260edde --- /dev/null +++ b/src/visier.sdk.api.administration/docs/GetProjectCommitsAPIResponseDTO.md @@ -0,0 +1,29 @@ +# GetProjectCommitsAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commits** | [**List[CommitDTO]**](CommitDTO.md) | A list of committed changes in the project. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.get_project_commits_api_response_dto import GetProjectCommitsAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of GetProjectCommitsAPIResponseDTO from a JSON string +get_project_commits_api_response_dto_instance = GetProjectCommitsAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(GetProjectCommitsAPIResponseDTO.to_json()) + +# convert the object into a dict +get_project_commits_api_response_dto_dict = get_project_commits_api_response_dto_instance.to_dict() +# create an instance of GetProjectCommitsAPIResponseDTO from a dict +get_project_commits_api_response_dto_from_dict = GetProjectCommitsAPIResponseDTO.from_dict(get_project_commits_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/GetProjectsAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/GetProjectsAPIResponseDTO.md new file mode 100644 index 000000000..5094647d1 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/GetProjectsAPIResponseDTO.md @@ -0,0 +1,32 @@ +# GetProjectsAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**approval_projects** | [**List[ProjectDTO]**](ProjectDTO.md) | A list of objects representing the accessible approval projects for the user. | [optional] +**archived_projects** | [**List[ProjectDTO]**](ProjectDTO.md) | A list of objects representing the accessible archived projects for the user. | [optional] +**open_projects** | [**List[ProjectDTO]**](ProjectDTO.md) | A list of objects representing the accessible open projects for the user. | [optional] +**rejected_projects** | [**List[ProjectDTO]**](ProjectDTO.md) | A list of objects representing the accessible rejected projects for the user. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.get_projects_api_response_dto import GetProjectsAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of GetProjectsAPIResponseDTO from a JSON string +get_projects_api_response_dto_instance = GetProjectsAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(GetProjectsAPIResponseDTO.to_json()) + +# convert the object into a dict +get_projects_api_response_dto_dict = get_projects_api_response_dto_instance.to_dict() +# create an instance of GetProjectsAPIResponseDTO from a dict +get_projects_api_response_dto_from_dict = GetProjectsAPIResponseDTO.from_dict(get_projects_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/GoogleProtobufAny.md b/src/visier.sdk.api.administration/docs/GoogleProtobufAny.md new file mode 100644 index 000000000..115e98f9b --- /dev/null +++ b/src/visier.sdk.api.administration/docs/GoogleProtobufAny.md @@ -0,0 +1,30 @@ +# GoogleProtobufAny + +Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | The type of the serialized message. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.google_protobuf_any import GoogleProtobufAny + +# TODO update the JSON string below +json = "{}" +# create an instance of GoogleProtobufAny from a JSON string +google_protobuf_any_instance = GoogleProtobufAny.from_json(json) +# print the JSON string representation of the object +print(GoogleProtobufAny.to_json()) + +# convert the object into a dict +google_protobuf_any_dict = google_protobuf_any_instance.to_dict() +# create an instance of GoogleProtobufAny from a dict +google_protobuf_any_from_dict = GoogleProtobufAny.from_dict(google_protobuf_any_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/HierarchyPropertyDTO.md b/src/visier.sdk.api.administration/docs/HierarchyPropertyDTO.md new file mode 100644 index 000000000..b4b74a702 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/HierarchyPropertyDTO.md @@ -0,0 +1,30 @@ +# HierarchyPropertyDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | An identifiable property name to display in Visier, such as \"Name Property\". | [optional] +**hierarchy_property_id** | **str** | The unique ID of the property. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.hierarchy_property_dto import HierarchyPropertyDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of HierarchyPropertyDTO from a JSON string +hierarchy_property_dto_instance = HierarchyPropertyDTO.from_json(json) +# print the JSON string representation of the object +print(HierarchyPropertyDTO.to_json()) + +# convert the object into a dict +hierarchy_property_dto_dict = hierarchy_property_dto_instance.to_dict() +# create an instance of HierarchyPropertyDTO from a dict +hierarchy_property_dto_from_dict = HierarchyPropertyDTO.from_dict(hierarchy_property_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/HomeAnalysisByUserGroupDTO.md b/src/visier.sdk.api.administration/docs/HomeAnalysisByUserGroupDTO.md new file mode 100644 index 000000000..7774b320f --- /dev/null +++ b/src/visier.sdk.api.administration/docs/HomeAnalysisByUserGroupDTO.md @@ -0,0 +1,30 @@ +# HomeAnalysisByUserGroupDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**home_analysis_id** | **str** | The unique ID of the analysis to show for this user group when a user logs in. | [optional] +**user_group_id** | **str** | The user group ID. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.home_analysis_by_user_group_dto import HomeAnalysisByUserGroupDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of HomeAnalysisByUserGroupDTO from a JSON string +home_analysis_by_user_group_dto_instance = HomeAnalysisByUserGroupDTO.from_json(json) +# print the JSON string representation of the object +print(HomeAnalysisByUserGroupDTO.to_json()) + +# convert the object into a dict +home_analysis_by_user_group_dto_dict = home_analysis_by_user_group_dto_instance.to_dict() +# create an instance of HomeAnalysisByUserGroupDTO from a dict +home_analysis_by_user_group_dto_from_dict = HomeAnalysisByUserGroupDTO.from_dict(home_analysis_by_user_group_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/InheritedAccessConfigDTO.md b/src/visier.sdk.api.administration/docs/InheritedAccessConfigDTO.md new file mode 100644 index 000000000..8a78a7f45 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/InheritedAccessConfigDTO.md @@ -0,0 +1,31 @@ +# InheritedAccessConfigDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_object_id** | **str** | The analytic object ID associated with the inherited access configuration. | [optional] +**member_filter_configs** | [**List[MemberFilterConfigDTO]**](MemberFilterConfigDTO.md) | Custom filters that define population access for an inherited analytic object in the permission. | [optional] +**remove_access** | **bool** | The flag for removing access to the inherited analytic object. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.inherited_access_config_dto import InheritedAccessConfigDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of InheritedAccessConfigDTO from a JSON string +inherited_access_config_dto_instance = InheritedAccessConfigDTO.from_json(json) +# print the JSON string representation of the object +print(InheritedAccessConfigDTO.to_json()) + +# convert the object into a dict +inherited_access_config_dto_dict = inherited_access_config_dto_instance.to_dict() +# create an instance of InheritedAccessConfigDTO from a dict +inherited_access_config_dto_from_dict = InheritedAccessConfigDTO.from_dict(inherited_access_config_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/InheritedReferenceMemberFilterConfigDTO.md b/src/visier.sdk.api.administration/docs/InheritedReferenceMemberFilterConfigDTO.md new file mode 100644 index 000000000..a3ee9de96 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/InheritedReferenceMemberFilterConfigDTO.md @@ -0,0 +1,29 @@ +# InheritedReferenceMemberFilterConfigDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**target_analytic_object_id** | **str** | * The unique ID of the analytic object that the source analytic object should inherit filters from. The target analytic object must have a binding (strong) reference from the source analytic object. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.inherited_reference_member_filter_config_dto import InheritedReferenceMemberFilterConfigDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of InheritedReferenceMemberFilterConfigDTO from a JSON string +inherited_reference_member_filter_config_dto_instance = InheritedReferenceMemberFilterConfigDTO.from_json(json) +# print the JSON string representation of the object +print(InheritedReferenceMemberFilterConfigDTO.to_json()) + +# convert the object into a dict +inherited_reference_member_filter_config_dto_dict = inherited_reference_member_filter_config_dto_instance.to_dict() +# create an instance of InheritedReferenceMemberFilterConfigDTO from a dict +inherited_reference_member_filter_config_dto_from_dict = InheritedReferenceMemberFilterConfigDTO.from_dict(inherited_reference_member_filter_config_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/LastLoginDTO.md b/src/visier.sdk.api.administration/docs/LastLoginDTO.md new file mode 100644 index 000000000..3166adef3 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/LastLoginDTO.md @@ -0,0 +1,29 @@ +# LastLoginDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**timestamp** | **str** | The time that the user last logged into Visier. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.last_login_dto import LastLoginDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of LastLoginDTO from a JSON string +last_login_dto_instance = LastLoginDTO.from_json(json) +# print the JSON string representation of the object +print(LastLoginDTO.to_json()) + +# convert the object into a dict +last_login_dto_dict = last_login_dto_instance.to_dict() +# create an instance of LastLoginDTO from a dict +last_login_dto_from_dict = LastLoginDTO.from_dict(last_login_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/LocalTenantProfileAssignmentRequestDTO.md b/src/visier.sdk.api.administration/docs/LocalTenantProfileAssignmentRequestDTO.md new file mode 100644 index 000000000..68a40a12a --- /dev/null +++ b/src/visier.sdk.api.administration/docs/LocalTenantProfileAssignmentRequestDTO.md @@ -0,0 +1,31 @@ +# LocalTenantProfileAssignmentRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**target_user_ids** | **List[str]** | A list of users to assign this profile. | [optional] +**validity_end_time** | **str** | An exclusive date-time when this profile is no longer active. | [optional] +**validity_start_time** | **str** | An inclusive date-time when this profile is active. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.local_tenant_profile_assignment_request_dto import LocalTenantProfileAssignmentRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of LocalTenantProfileAssignmentRequestDTO from a JSON string +local_tenant_profile_assignment_request_dto_instance = LocalTenantProfileAssignmentRequestDTO.from_json(json) +# print the JSON string representation of the object +print(LocalTenantProfileAssignmentRequestDTO.to_json()) + +# convert the object into a dict +local_tenant_profile_assignment_request_dto_dict = local_tenant_profile_assignment_request_dto_instance.to_dict() +# create an instance of LocalTenantProfileAssignmentRequestDTO from a dict +local_tenant_profile_assignment_request_dto_from_dict = LocalTenantProfileAssignmentRequestDTO.from_dict(local_tenant_profile_assignment_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/LocalTenantProfileAssignmentResponseDTO.md b/src/visier.sdk.api.administration/docs/LocalTenantProfileAssignmentResponseDTO.md new file mode 100644 index 000000000..7adeed0f0 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/LocalTenantProfileAssignmentResponseDTO.md @@ -0,0 +1,32 @@ +# LocalTenantProfileAssignmentResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bad_user_ids** | [**List[UserIdErrorDTO]**](UserIdErrorDTO.md) | A list of objects representing the user IDs that may not be valid. | [optional] +**errors** | **bool** | If true, an error was generated by the request. | [optional] +**failed_assignments** | [**List[FailedLocalTenantProfileAssignmentDTO]**](FailedLocalTenantProfileAssignmentDTO.md) | A list of objects representing any errors that occurred during the assignment operation. | [optional] +**successful_assignments** | [**List[SuccessfulLocalTenantProfileAssignmentDTO]**](SuccessfulLocalTenantProfileAssignmentDTO.md) | A list of the user IDs that were successfully assigned the profile. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.local_tenant_profile_assignment_response_dto import LocalTenantProfileAssignmentResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of LocalTenantProfileAssignmentResponseDTO from a JSON string +local_tenant_profile_assignment_response_dto_instance = LocalTenantProfileAssignmentResponseDTO.from_json(json) +# print the JSON string representation of the object +print(LocalTenantProfileAssignmentResponseDTO.to_json()) + +# convert the object into a dict +local_tenant_profile_assignment_response_dto_dict = local_tenant_profile_assignment_response_dto_instance.to_dict() +# create an instance of LocalTenantProfileAssignmentResponseDTO from a dict +local_tenant_profile_assignment_response_dto_from_dict = LocalTenantProfileAssignmentResponseDTO.from_dict(local_tenant_profile_assignment_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/LocalTenantProfileRevokeRequestDTO.md b/src/visier.sdk.api.administration/docs/LocalTenantProfileRevokeRequestDTO.md new file mode 100644 index 000000000..4eb1a8f17 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/LocalTenantProfileRevokeRequestDTO.md @@ -0,0 +1,29 @@ +# LocalTenantProfileRevokeRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**target_user_ids** | **List[str]** | A list of users to remove this profile from. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.local_tenant_profile_revoke_request_dto import LocalTenantProfileRevokeRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of LocalTenantProfileRevokeRequestDTO from a JSON string +local_tenant_profile_revoke_request_dto_instance = LocalTenantProfileRevokeRequestDTO.from_json(json) +# print the JSON string representation of the object +print(LocalTenantProfileRevokeRequestDTO.to_json()) + +# convert the object into a dict +local_tenant_profile_revoke_request_dto_dict = local_tenant_profile_revoke_request_dto_instance.to_dict() +# create an instance of LocalTenantProfileRevokeRequestDTO from a dict +local_tenant_profile_revoke_request_dto_from_dict = LocalTenantProfileRevokeRequestDTO.from_dict(local_tenant_profile_revoke_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/LocalTenantProfileRevokeResponseDTO.md b/src/visier.sdk.api.administration/docs/LocalTenantProfileRevokeResponseDTO.md new file mode 100644 index 000000000..08e54c3e2 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/LocalTenantProfileRevokeResponseDTO.md @@ -0,0 +1,30 @@ +# LocalTenantProfileRevokeResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**failed** | [**List[FailedLocalTenantProfileRevokeDTO]**](FailedLocalTenantProfileRevokeDTO.md) | A list of objects representing any errors that occurred during the assignment operation. | [optional] +**succeeded** | [**List[SuccessfulLocalTenantProfileAssignmentDTO]**](SuccessfulLocalTenantProfileAssignmentDTO.md) | A list of the user IDs that successfully had a profile removed. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.local_tenant_profile_revoke_response_dto import LocalTenantProfileRevokeResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of LocalTenantProfileRevokeResponseDTO from a JSON string +local_tenant_profile_revoke_response_dto_instance = LocalTenantProfileRevokeResponseDTO.from_json(json) +# print the JSON string representation of the object +print(LocalTenantProfileRevokeResponseDTO.to_json()) + +# convert the object into a dict +local_tenant_profile_revoke_response_dto_dict = local_tenant_profile_revoke_response_dto_instance.to_dict() +# create an instance of LocalTenantProfileRevokeResponseDTO from a dict +local_tenant_profile_revoke_response_dto_from_dict = LocalTenantProfileRevokeResponseDTO.from_dict(local_tenant_profile_revoke_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/MaskMessage.md b/src/visier.sdk.api.administration/docs/MaskMessage.md new file mode 100644 index 000000000..169c0dbb0 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/MaskMessage.md @@ -0,0 +1,29 @@ +# MaskMessage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**mask** | **str** | A comma-separated list of strings that specifies which fields to include in the response. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.mask_message import MaskMessage + +# TODO update the JSON string below +json = "{}" +# create an instance of MaskMessage from a JSON string +mask_message_instance = MaskMessage.from_json(json) +# print the JSON string representation of the object +print(MaskMessage.to_json()) + +# convert the object into a dict +mask_message_dict = mask_message_instance.to_dict() +# create an instance of MaskMessage from a dict +mask_message_from_dict = MaskMessage.from_dict(mask_message_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/MemberFilterConfigDTO.md b/src/visier.sdk.api.administration/docs/MemberFilterConfigDTO.md new file mode 100644 index 000000000..2aa45e22c --- /dev/null +++ b/src/visier.sdk.api.administration/docs/MemberFilterConfigDTO.md @@ -0,0 +1,29 @@ +# MemberFilterConfigDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension_filters** | [**List[DimensionFilterDTO]**](DimensionFilterDTO.md) | A list of objects representing the custom filters that define population access for the item. A custom filter can be a \"member filter\" (`staticDimensionFilter`) or a \"dynamic filter\" (`dynamicDimensionFilter`). | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.member_filter_config_dto import MemberFilterConfigDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MemberFilterConfigDTO from a JSON string +member_filter_config_dto_instance = MemberFilterConfigDTO.from_json(json) +# print the JSON string representation of the object +print(MemberFilterConfigDTO.to_json()) + +# convert the object into a dict +member_filter_config_dto_dict = member_filter_config_dto_instance.to_dict() +# create an instance of MemberFilterConfigDTO from a dict +member_filter_config_dto_from_dict = MemberFilterConfigDTO.from_dict(member_filter_config_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/MemberSelectionDTO.md b/src/visier.sdk.api.administration/docs/MemberSelectionDTO.md new file mode 100644 index 000000000..f3300eae9 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/MemberSelectionDTO.md @@ -0,0 +1,31 @@ +# MemberSelectionDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension_member_status** | **str** | The dimension member's validity status. Valid values: Valid, NotFound. * **Valid**: The object exists and has loaded data. * **NotFound**: The object doesn't exist. | [optional] +**excluded** | **bool** | If `true`, population access is granted for all members except this member. | [optional] +**name_path** | **List[str]** | The member name path. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.member_selection_dto import MemberSelectionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MemberSelectionDTO from a JSON string +member_selection_dto_instance = MemberSelectionDTO.from_json(json) +# print the JSON string representation of the object +print(MemberSelectionDTO.to_json()) + +# convert the object into a dict +member_selection_dto_dict = member_selection_dto_instance.to_dict() +# create an instance of MemberSelectionDTO from a dict +member_selection_dto_from_dict = MemberSelectionDTO.from_dict(member_selection_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/MetricValidationSummaryDTO.md b/src/visier.sdk.api.administration/docs/MetricValidationSummaryDTO.md new file mode 100644 index 000000000..6793c8170 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/MetricValidationSummaryDTO.md @@ -0,0 +1,31 @@ +# MetricValidationSummaryDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | An identifiable name that is displayed within Visier. For example, \"Headcount\". | [optional] +**symbol_name** | **str** | The symbol name of the metric. For example, \"employeeCount\". | [optional] +**value** | **float** | The current value of the metric expressed as an integer. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.metric_validation_summary_dto import MetricValidationSummaryDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MetricValidationSummaryDTO from a JSON string +metric_validation_summary_dto_instance = MetricValidationSummaryDTO.from_json(json) +# print the JSON string representation of the object +print(MetricValidationSummaryDTO.to_json()) + +# convert the object into a dict +metric_validation_summary_dto_dict = metric_validation_summary_dto_instance.to_dict() +# create an instance of MetricValidationSummaryDTO from a dict +metric_validation_summary_dto_from_dict = MetricValidationSummaryDTO.from_dict(metric_validation_summary_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ModuleSettingsDTO.md b/src/visier.sdk.api.administration/docs/ModuleSettingsDTO.md new file mode 100644 index 000000000..af97d6000 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ModuleSettingsDTO.md @@ -0,0 +1,31 @@ +# ModuleSettingsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**locale** | **str** | The language of the module. For example, a module that is in English will have the locale \"en\". | [optional] +**special_handling_instruction** | **str** | An instruction message in the module selection dialog. This can be a note for administrators such as \"Don't assign this module\" or \"Assign Module B instead\". | [optional] +**unavailable_for_assignment** | **bool** | If true, the module cannot be assigned to tenants. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.module_settings_dto import ModuleSettingsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ModuleSettingsDTO from a JSON string +module_settings_dto_instance = ModuleSettingsDTO.from_json(json) +# print the JSON string representation of the object +print(ModuleSettingsDTO.to_json()) + +# convert the object into a dict +module_settings_dto_dict = module_settings_dto_instance.to_dict() +# create an instance of ModuleSettingsDTO from a dict +module_settings_dto_from_dict = ModuleSettingsDTO.from_dict(module_settings_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionAssignedByTenantDTO.md b/src/visier.sdk.api.administration/docs/PermissionAssignedByTenantDTO.md new file mode 100644 index 000000000..87d7d96b1 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionAssignedByTenantDTO.md @@ -0,0 +1,31 @@ +# PermissionAssignedByTenantDTO + +The users assigned a specific permission, grouped by tenant. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tenant_code** | **str** | The unique identifier associated with the tenant. | [optional] +**users** | [**List[PermissionAssignedUserDTO]**](PermissionAssignedUserDTO.md) | A list of objects representing the users that the permission is assigned to. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permission_assigned_by_tenant_dto import PermissionAssignedByTenantDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionAssignedByTenantDTO from a JSON string +permission_assigned_by_tenant_dto_instance = PermissionAssignedByTenantDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionAssignedByTenantDTO.to_json()) + +# convert the object into a dict +permission_assigned_by_tenant_dto_dict = permission_assigned_by_tenant_dto_instance.to_dict() +# create an instance of PermissionAssignedByTenantDTO from a dict +permission_assigned_by_tenant_dto_from_dict = PermissionAssignedByTenantDTO.from_dict(permission_assigned_by_tenant_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionAssignedForLocalTenantDTO.md b/src/visier.sdk.api.administration/docs/PermissionAssignedForLocalTenantDTO.md new file mode 100644 index 000000000..ed070bd3d --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionAssignedForLocalTenantDTO.md @@ -0,0 +1,31 @@ +# PermissionAssignedForLocalTenantDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | A user-defined description of the permission. | [optional] +**display_name** | **str** | An identifiable permission name to display in Visier, such as \"Diversity Access\". | [optional] +**permission_id** | **str** | The unique identifier associated with the permission. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permission_assigned_for_local_tenant_dto import PermissionAssignedForLocalTenantDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionAssignedForLocalTenantDTO from a JSON string +permission_assigned_for_local_tenant_dto_instance = PermissionAssignedForLocalTenantDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionAssignedForLocalTenantDTO.to_json()) + +# convert the object into a dict +permission_assigned_for_local_tenant_dto_dict = permission_assigned_for_local_tenant_dto_instance.to_dict() +# create an instance of PermissionAssignedForLocalTenantDTO from a dict +permission_assigned_for_local_tenant_dto_from_dict = PermissionAssignedForLocalTenantDTO.from_dict(permission_assigned_for_local_tenant_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionAssignedUserDTO.md b/src/visier.sdk.api.administration/docs/PermissionAssignedUserDTO.md new file mode 100644 index 000000000..33cc19c43 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionAssignedUserDTO.md @@ -0,0 +1,32 @@ +# PermissionAssignedUserDTO + +The user and the method through which the user was assigned the permission. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permission_from** | **str** | The method through which the user was assigned the permission. The permission may be assigned through the following options: - User: The permission was directly assigned to the user. - UserGroup: The permission was assigned because the user belongs to a user group that is assigned the permission. - UserAndUserGroup: The permission was directly assigned to the user and assigned because the user belongs to a user group that is assigned the permission. | [optional] +**user_id** | **str** | The unique identifier associated with the user. | [optional] +**username** | **str** | The user's username. This is typically the user's email, such as john@visier.com. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permission_assigned_user_dto import PermissionAssignedUserDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionAssignedUserDTO from a JSON string +permission_assigned_user_dto_instance = PermissionAssignedUserDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionAssignedUserDTO.to_json()) + +# convert the object into a dict +permission_assigned_user_dto_dict = permission_assigned_user_dto_instance.to_dict() +# create an instance of PermissionAssignedUserDTO from a dict +permission_assigned_user_dto_from_dict = PermissionAssignedUserDTO.from_dict(permission_assigned_user_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionAssignedUsersDTO.md b/src/visier.sdk.api.administration/docs/PermissionAssignedUsersDTO.md new file mode 100644 index 000000000..0f5288ca5 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionAssignedUsersDTO.md @@ -0,0 +1,32 @@ +# PermissionAssignedUsersDTO + +Users that are assigned a specific permission. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | The number of results to return. The maximum number of tenants to retrieve is 100. | [optional] +**start** | **int** | The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] +**tenants** | [**List[PermissionAssignedByTenantDTO]**](PermissionAssignedByTenantDTO.md) | A list of objects representing the users that are assigned the specific permission, organized by the tenants the users belong to. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permission_assigned_users_dto import PermissionAssignedUsersDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionAssignedUsersDTO from a JSON string +permission_assigned_users_dto_instance = PermissionAssignedUsersDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionAssignedUsersDTO.to_json()) + +# convert the object into a dict +permission_assigned_users_dto_dict = permission_assigned_users_dto_instance.to_dict() +# create an instance of PermissionAssignedUsersDTO from a dict +permission_assigned_users_dto_from_dict = PermissionAssignedUsersDTO.from_dict(permission_assigned_users_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionBulkOperationResponseDTO.md b/src/visier.sdk.api.administration/docs/PermissionBulkOperationResponseDTO.md new file mode 100644 index 000000000..bc7c4496c --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionBulkOperationResponseDTO.md @@ -0,0 +1,30 @@ +# PermissionBulkOperationResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**failures** | [**List[PermissionFailureDTO]**](PermissionFailureDTO.md) | The permissions that did not process and any relevant error information. | [optional] +**successes** | [**List[PermissionSuccessDTO]**](PermissionSuccessDTO.md) | The successfully processed permissions. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permission_bulk_operation_response_dto import PermissionBulkOperationResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionBulkOperationResponseDTO from a JSON string +permission_bulk_operation_response_dto_instance = PermissionBulkOperationResponseDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionBulkOperationResponseDTO.to_json()) + +# convert the object into a dict +permission_bulk_operation_response_dto_dict = permission_bulk_operation_response_dto_instance.to_dict() +# create an instance of PermissionBulkOperationResponseDTO from a dict +permission_bulk_operation_response_dto_from_dict = PermissionBulkOperationResponseDTO.from_dict(permission_bulk_operation_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionDTO.md b/src/visier.sdk.api.administration/docs/PermissionDTO.md new file mode 100644 index 000000000..5561a42a0 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionDTO.md @@ -0,0 +1,34 @@ +# PermissionDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**admin_capability_config** | [**AdminCapabilityConfigDTO**](AdminCapabilityConfigDTO.md) | The capabilities assigned in the permission. | [optional] +**data_security_profiles** | [**List[DataSecurityProfileDTO]**](DataSecurityProfileDTO.md) | A list of objects representing the data security for each item in a permission. | [optional] +**description** | **str** | A user-defined description of the permission. | [optional] +**display_name** | **str** | An identifiable permission name to display in Visier, such as \"Diversity Access\". | [optional] +**permission_id** | **str** | The unique identifier associated with the permission. | [optional] +**role_modules_config** | [**RoleModulesConfigDTO**](RoleModulesConfigDTO.md) | A list of content packages assigned to the permission. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permission_dto import PermissionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionDTO from a JSON string +permission_dto_instance = PermissionDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionDTO.to_json()) + +# convert the object into a dict +permission_dto_dict = permission_dto_instance.to_dict() +# create an instance of PermissionDTO from a dict +permission_dto_from_dict = PermissionDTO.from_dict(permission_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionErrorDTO.md b/src/visier.sdk.api.administration/docs/PermissionErrorDTO.md new file mode 100644 index 000000000..a7188cf12 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionErrorDTO.md @@ -0,0 +1,30 @@ +# PermissionErrorDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **str** | Error message | [optional] +**rci** | **str** | A root cause identifier that allows Visier to determine the source of the problem. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permission_error_dto import PermissionErrorDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionErrorDTO from a JSON string +permission_error_dto_instance = PermissionErrorDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionErrorDTO.to_json()) + +# convert the object into a dict +permission_error_dto_dict = permission_error_dto_instance.to_dict() +# create an instance of PermissionErrorDTO from a dict +permission_error_dto_from_dict = PermissionErrorDTO.from_dict(permission_error_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionFailureDTO.md b/src/visier.sdk.api.administration/docs/PermissionFailureDTO.md new file mode 100644 index 000000000..ce48f3494 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionFailureDTO.md @@ -0,0 +1,31 @@ +# PermissionFailureDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | An identifiable permission name to display in Visier, such as \"Diversity Access\". | [optional] +**error** | [**PermissionErrorDTO**](PermissionErrorDTO.md) | The error associated with the failure. | [optional] +**permission_id** | **str** | The unique identifier associated with the permission. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permission_failure_dto import PermissionFailureDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionFailureDTO from a JSON string +permission_failure_dto_instance = PermissionFailureDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionFailureDTO.to_json()) + +# convert the object into a dict +permission_failure_dto_dict = permission_failure_dto_instance.to_dict() +# create an instance of PermissionFailureDTO from a dict +permission_failure_dto_from_dict = PermissionFailureDTO.from_dict(permission_failure_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionResponseDTO.md b/src/visier.sdk.api.administration/docs/PermissionResponseDTO.md new file mode 100644 index 000000000..d2e5f68ba --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionResponseDTO.md @@ -0,0 +1,30 @@ +# PermissionResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | An identifiable permission name to display in Visier, such as \"Diversity Access\". | [optional] +**permission_id** | **str** | The unique identifier associated with the permission. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permission_response_dto import PermissionResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionResponseDTO from a JSON string +permission_response_dto_instance = PermissionResponseDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionResponseDTO.to_json()) + +# convert the object into a dict +permission_response_dto_dict = permission_response_dto_instance.to_dict() +# create an instance of PermissionResponseDTO from a dict +permission_response_dto_from_dict = PermissionResponseDTO.from_dict(permission_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionSuccessDTO.md b/src/visier.sdk.api.administration/docs/PermissionSuccessDTO.md new file mode 100644 index 000000000..25923e2b3 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionSuccessDTO.md @@ -0,0 +1,30 @@ +# PermissionSuccessDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | An identifiable permission name to display in Visier, such as \"Diversity Access\". | [optional] +**permission_id** | **str** | The unique identifier associated with the permission. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permission_success_dto import PermissionSuccessDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionSuccessDTO from a JSON string +permission_success_dto_instance = PermissionSuccessDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionSuccessDTO.to_json()) + +# convert the object into a dict +permission_success_dto_dict = permission_success_dto_instance.to_dict() +# create an instance of PermissionSuccessDTO from a dict +permission_success_dto_from_dict = PermissionSuccessDTO.from_dict(permission_success_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionsApi.md b/src/visier.sdk.api.administration/docs/PermissionsApi.md new file mode 100644 index 000000000..8113f1807 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionsApi.md @@ -0,0 +1,950 @@ +# visier.sdk.api.administration.PermissionsApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_data_access_sets**](PermissionsApi.md#create_data_access_sets) | **POST** /v1/admin/data-access-sets | Create shareable data access sets +[**create_permissions**](PermissionsApi.md#create_permissions) | **POST** /v1/admin/permissions | Create permissions +[**delete_permissions**](PermissionsApi.md#delete_permissions) | **DELETE** /v1/admin/permissions | Delete permissions +[**get_capabilities**](PermissionsApi.md#get_capabilities) | **GET** /v1/admin/capabilities | Retrieve a list of all permission capabilities +[**get_capability**](PermissionsApi.md#get_capability) | **GET** /v1/admin/capabilities/{capabilityId} | Retrieve a permission capability's details +[**get_content_package**](PermissionsApi.md#get_content_package) | **GET** /v1/admin/content-packages/{contentPackageId} | Retrieve a content package's details +[**get_content_packages**](PermissionsApi.md#get_content_packages) | **GET** /v1/admin/content-packages | Retrieve a list of all content packages +[**get_data_access_set**](PermissionsApi.md#get_data_access_set) | **GET** /v1/admin/data-access-sets/{dataAccessSetId} | Retrieve a data access set's details +[**get_data_access_sets**](PermissionsApi.md#get_data_access_sets) | **GET** /v1/admin/data-access-sets | Retrieve a list of all data access sets +[**get_data_security_objects**](PermissionsApi.md#get_data_security_objects) | **GET** /v1/admin/data-security-objects | Retrieve a list of data security objects +[**get_permission**](PermissionsApi.md#get_permission) | **GET** /v1/admin/permissions/{permissionId} | Retrieve a permission's details +[**get_permissions**](PermissionsApi.md#get_permissions) | **GET** /v1/admin/permissions | Retrieve a list of all permissions +[**update_permissions**](PermissionsApi.md#update_permissions) | **PUT** /v1/admin/permissions | Update permissions + + +# **create_data_access_sets** +> BulkDataAccessSetResponseDTO create_data_access_sets(create_data_access_set_request_dto) + +Create shareable data access sets + +Create shareable data access sets. Shareable data access sets let you reuse common data access configurations in multiple permissions. To specify the project in which to create shareable data access sets, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.bulk_data_access_set_response_dto import BulkDataAccessSetResponseDTO +from visier.sdk.api.administration.models.create_data_access_set_request_dto import CreateDataAccessSetRequestDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.PermissionsApi(api_client) + create_data_access_set_request_dto = visier.sdk.api.administration.CreateDataAccessSetRequestDTO() # CreateDataAccessSetRequestDTO | + + try: + # Create shareable data access sets + api_response = api_instance.create_data_access_sets(create_data_access_set_request_dto) + print("The response of PermissionsApi->create_data_access_sets:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PermissionsApi->create_data_access_sets: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **create_data_access_set_request_dto** | [**CreateDataAccessSetRequestDTO**](CreateDataAccessSetRequestDTO.md)| | + +### Return type + +[**BulkDataAccessSetResponseDTO**](BulkDataAccessSetResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **create_permissions** +> PermissionBulkOperationResponseDTO create_permissions(permissions_list_dto, tenant_code=tenant_code) + +Create permissions + +Create new permissions. Administrating tenant users can specify the tenant in which to add these permissions. To specify the project in which to create permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.permission_bulk_operation_response_dto import PermissionBulkOperationResponseDTO +from visier.sdk.api.administration.models.permissions_list_dto import PermissionsListDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.PermissionsApi(api_client) + permissions_list_dto = visier.sdk.api.administration.PermissionsListDTO() # PermissionsListDTO | + tenant_code = 'tenant_code_example' # str | Specify the tenant to create permissions in. (optional) + + try: + # Create permissions + api_response = api_instance.create_permissions(permissions_list_dto, tenant_code=tenant_code) + print("The response of PermissionsApi->create_permissions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PermissionsApi->create_permissions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **permissions_list_dto** | [**PermissionsListDTO**](PermissionsListDTO.md)| | + **tenant_code** | **str**| Specify the tenant to create permissions in. | [optional] + +### Return type + +[**PermissionBulkOperationResponseDTO**](PermissionBulkOperationResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_permissions** +> PermissionBulkOperationResponseDTO delete_permissions(delete_permissions_request_dto, tenant_code=tenant_code) + +Delete permissions + +Delete existing permissions. To specify the project in which to delete permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.delete_permissions_request_dto import DeletePermissionsRequestDTO +from visier.sdk.api.administration.models.permission_bulk_operation_response_dto import PermissionBulkOperationResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.PermissionsApi(api_client) + delete_permissions_request_dto = visier.sdk.api.administration.DeletePermissionsRequestDTO() # DeletePermissionsRequestDTO | + tenant_code = 'tenant_code_example' # str | Specify the tenant to delete permissions from. (optional) + + try: + # Delete permissions + api_response = api_instance.delete_permissions(delete_permissions_request_dto, tenant_code=tenant_code) + print("The response of PermissionsApi->delete_permissions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PermissionsApi->delete_permissions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **delete_permissions_request_dto** | [**DeletePermissionsRequestDTO**](DeletePermissionsRequestDTO.md)| | + **tenant_code** | **str**| Specify the tenant to delete permissions from. | [optional] + +### Return type + +[**PermissionBulkOperationResponseDTO**](PermissionBulkOperationResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_capabilities** +> GetCapabilitiesAPIResponseDTO get_capabilities(tenant_code=tenant_code) + +Retrieve a list of all permission capabilities + +Retrieve all the permission capabilities in your tenant. You can use the returned capabilities in other API calls when creating or updating permissions to assign the capability to the permission. To specify the project in which to retrieve the permission capabilities, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.get_capabilities_api_response_dto import GetCapabilitiesAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.PermissionsApi(api_client) + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve the capabilities from. (optional) + + try: + # Retrieve a list of all permission capabilities + api_response = api_instance.get_capabilities(tenant_code=tenant_code) + print("The response of PermissionsApi->get_capabilities:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PermissionsApi->get_capabilities: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_code** | **str**| Specify the tenant to retrieve the capabilities from. | [optional] + +### Return type + +[**GetCapabilitiesAPIResponseDTO**](GetCapabilitiesAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_capability** +> CapabilityDTO get_capability(capability_id, tenant_code=tenant_code) + +Retrieve a permission capability's details + +Retrieve the details of a specific capability. To specify the project in which to retrieve the permission capability, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.capability_dto import CapabilityDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.PermissionsApi(api_client) + capability_id = 'capability_id_example' # str | The unique identifier of the capability you want to retrieve. + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve a capability from. (optional) + + try: + # Retrieve a permission capability's details + api_response = api_instance.get_capability(capability_id, tenant_code=tenant_code) + print("The response of PermissionsApi->get_capability:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PermissionsApi->get_capability: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **capability_id** | **str**| The unique identifier of the capability you want to retrieve. | + **tenant_code** | **str**| Specify the tenant to retrieve a capability from. | [optional] + +### Return type + +[**CapabilityDTO**](CapabilityDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_content_package** +> ContentPackageDTO get_content_package(content_package_id, tenant_code=tenant_code) + +Retrieve a content package's details + +Retrieve the details of a specific content package. To specify the project in which to retrieve a content package, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.content_package_dto import ContentPackageDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.PermissionsApi(api_client) + content_package_id = 'content_package_id_example' # str | The unique identifier of the content package you want to retrieve. + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve a content package from. (optional) + + try: + # Retrieve a content package's details + api_response = api_instance.get_content_package(content_package_id, tenant_code=tenant_code) + print("The response of PermissionsApi->get_content_package:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PermissionsApi->get_content_package: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **content_package_id** | **str**| The unique identifier of the content package you want to retrieve. | + **tenant_code** | **str**| Specify the tenant to retrieve a content package from. | [optional] + +### Return type + +[**ContentPackageDTO**](ContentPackageDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_content_packages** +> GetContentPackagesAPIResponseDTO get_content_packages(tenant_code=tenant_code, search_string=search_string) + +Retrieve a list of all content packages + +Retrieve the list of available content packages. You can use the returned content packages in other API calls when creating or updating permissions to add the content package to the permission. To specify the project in which to retrieve the available content packages, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.get_content_packages_api_response_dto import GetContentPackagesAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.PermissionsApi(api_client) + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve the content packages from. (optional) + search_string = 'search_string_example' # str | Optional search string to return only content packages whose display name or description contains that search string. If searchString is empty or not provided, the response returns a list of all content packages. (optional) + + try: + # Retrieve a list of all content packages + api_response = api_instance.get_content_packages(tenant_code=tenant_code, search_string=search_string) + print("The response of PermissionsApi->get_content_packages:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PermissionsApi->get_content_packages: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_code** | **str**| Specify the tenant to retrieve the content packages from. | [optional] + **search_string** | **str**| Optional search string to return only content packages whose display name or description contains that search string. If searchString is empty or not provided, the response returns a list of all content packages. | [optional] + +### Return type + +[**GetContentPackagesAPIResponseDTO**](GetContentPackagesAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_data_access_set** +> DataAccessSetDTO get_data_access_set(data_access_set_id) + +Retrieve a data access set's details + +Retrieve the details of a specific shareable data access set. You must know the ID of the data access set to retrieve its details. To retrieve data access set IDs, see `GET v1/admin/data-access-sets`. To specify the project in which to retrieve the shareable data access set, provide a project UUID in the `ProjectID` request header. **Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.data_access_set_dto import DataAccessSetDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.PermissionsApi(api_client) + data_access_set_id = 'data_access_set_id_example' # str | The unique identifier of the data access set you want to retrieve. + + try: + # Retrieve a data access set's details + api_response = api_instance.get_data_access_set(data_access_set_id) + print("The response of PermissionsApi->get_data_access_set:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PermissionsApi->get_data_access_set: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **data_access_set_id** | **str**| The unique identifier of the data access set you want to retrieve. | + +### Return type + +[**DataAccessSetDTO**](DataAccessSetDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_data_access_sets** +> GetDataAccessSetsAPIResponseDTO get_data_access_sets(analytic_object_id=analytic_object_id, var_with=var_with, limit=limit) + +Retrieve a list of all data access sets + +Retrieve a list of all shareable data access sets. Data access sets define the level of access that users have to properties and property values for the analytic object in a permission. Data access sets also grant access to properties of subjects that are referenced by the analytic object in the permission. You can assign data access sets to a permission when creating or updating permissions. To specify the project in which to retrieve the shareable data access sets, provide a project UUID in the `ProjectID` request header. **Note:** * If the number of valid data access sets exceeds the default limit of 100, the response status code is 206. To retrieve more than 100 data access sets, set `limit` to a higher number. * This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.get_data_access_sets_api_response_dto import GetDataAccessSetsAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.PermissionsApi(api_client) + analytic_object_id = 'analytic_object_id_example' # str | Specify the analytic object ID to retrieve the shareable data access sets for. Default is all analytic objects. (optional) + var_with = ['var_with_example'] # List[str] | The information about the data access set to include in the request response. * If empty, returns basic information for the data access set, including its unique ID, display name, description, and analytic object ID. * If `details`, returns basic information and property data access information (`propertyAccessConfigs`). (optional) + limit = 56 # int | The maximum number of data access sets to return. Default is 100. Maximum is 1000. (optional) + + try: + # Retrieve a list of all data access sets + api_response = api_instance.get_data_access_sets(analytic_object_id=analytic_object_id, var_with=var_with, limit=limit) + print("The response of PermissionsApi->get_data_access_sets:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PermissionsApi->get_data_access_sets: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **analytic_object_id** | **str**| Specify the analytic object ID to retrieve the shareable data access sets for. Default is all analytic objects. | [optional] + **var_with** | [**List[str]**](str.md)| The information about the data access set to include in the request response. * If empty, returns basic information for the data access set, including its unique ID, display name, description, and analytic object ID. * If `details`, returns basic information and property data access information (`propertyAccessConfigs`). | [optional] + **limit** | **int**| The maximum number of data access sets to return. Default is 100. Maximum is 1000. | [optional] + +### Return type + +[**GetDataAccessSetsAPIResponseDTO**](GetDataAccessSetsAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_data_security_objects** +> GetDataSecurityObjectsAPIResponseDTO get_data_security_objects(id=id, include_details=include_details, tenant_code=tenant_code) + +Retrieve a list of data security objects + +Retrieve the list of available data security objects. Data security objects are analytic objects and their related objects that are available to define permissions' data security profiles. To specify the project in which to retrieve the available data security objects, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.get_data_security_objects_api_response_dto import GetDataSecurityObjectsAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.PermissionsApi(api_client) + id = ['id_example'] # List[str] | The unique identifiers of the data security objects (analytic objects) to retrieve. Default is all data security objects. (optional) + include_details = True # bool | If `true`, the response includes the analytic objects (display name, ID, and object type), related objects, securable properties, and securable dimensions. If `false`, the response only includes analytic objects (display name, ID, and object type). Default is `false`. (optional) + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve data security objects from. (optional) + + try: + # Retrieve a list of data security objects + api_response = api_instance.get_data_security_objects(id=id, include_details=include_details, tenant_code=tenant_code) + print("The response of PermissionsApi->get_data_security_objects:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PermissionsApi->get_data_security_objects: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | [**List[str]**](str.md)| The unique identifiers of the data security objects (analytic objects) to retrieve. Default is all data security objects. | [optional] + **include_details** | **bool**| If `true`, the response includes the analytic objects (display name, ID, and object type), related objects, securable properties, and securable dimensions. If `false`, the response only includes analytic objects (display name, ID, and object type). Default is `false`. | [optional] + **tenant_code** | **str**| Specify the tenant to retrieve data security objects from. | [optional] + +### Return type + +[**GetDataSecurityObjectsAPIResponseDTO**](GetDataSecurityObjectsAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_permission** +> PermissionDTO get_permission(permission_id, tenant_code=tenant_code, include_details_with_status=include_details_with_status) + +Retrieve a permission's details + +Retrieve the details for a specified permission. To specify the project in which to retrieve the permission, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.permission_dto import PermissionDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.PermissionsApi(api_client) + permission_id = 'permission_id_example' # str | The unique identifier of the permission you want to retrieve. + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve a permission from. (optional) + include_details_with_status = 'include_details_with_status_example' # str | If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`. (optional) + + try: + # Retrieve a permission's details + api_response = api_instance.get_permission(permission_id, tenant_code=tenant_code, include_details_with_status=include_details_with_status) + print("The response of PermissionsApi->get_permission:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PermissionsApi->get_permission: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **permission_id** | **str**| The unique identifier of the permission you want to retrieve. | + **tenant_code** | **str**| Specify the tenant to retrieve a permission from. | [optional] + **include_details_with_status** | **str**| If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`. | [optional] + +### Return type + +[**PermissionDTO**](PermissionDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_permissions** +> GetPermissionsAPIResponseDTO get_permissions(tenant_code=tenant_code, include_details=include_details, include_details_with_status=include_details_with_status) + +Retrieve a list of all permissions + +Retrieve the full list of user permissions in your tenant. To specify the project in which to retrieve permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.get_permissions_api_response_dto import GetPermissionsAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.PermissionsApi(api_client) + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve the permissions from. (optional) + include_details = True # bool | If `true`, returns the permission's details. If `false`, only returns the permissions' ID, display name, and description. Default is `false`. (optional) + include_details_with_status = True # bool | If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`. (optional) + + try: + # Retrieve a list of all permissions + api_response = api_instance.get_permissions(tenant_code=tenant_code, include_details=include_details, include_details_with_status=include_details_with_status) + print("The response of PermissionsApi->get_permissions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PermissionsApi->get_permissions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_code** | **str**| Specify the tenant to retrieve the permissions from. | [optional] + **include_details** | **bool**| If `true`, returns the permission's details. If `false`, only returns the permissions' ID, display name, and description. Default is `false`. | [optional] + **include_details_with_status** | **bool**| If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`. | [optional] + +### Return type + +[**GetPermissionsAPIResponseDTO**](GetPermissionsAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_permissions** +> PermissionBulkOperationResponseDTO update_permissions(permissions_list_dto, tenant_code=tenant_code) + +Update permissions + +Update existing permissions. To specify the project in which to update permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.permission_bulk_operation_response_dto import PermissionBulkOperationResponseDTO +from visier.sdk.api.administration.models.permissions_list_dto import PermissionsListDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.PermissionsApi(api_client) + permissions_list_dto = visier.sdk.api.administration.PermissionsListDTO() # PermissionsListDTO | + tenant_code = 'tenant_code_example' # str | Specify the tenant to update permissions in. (optional) + + try: + # Update permissions + api_response = api_instance.update_permissions(permissions_list_dto, tenant_code=tenant_code) + print("The response of PermissionsApi->update_permissions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PermissionsApi->update_permissions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **permissions_list_dto** | [**PermissionsListDTO**](PermissionsListDTO.md)| | + **tenant_code** | **str**| Specify the tenant to update permissions in. | [optional] + +### Return type + +[**PermissionBulkOperationResponseDTO**](PermissionBulkOperationResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.administration/docs/PermissionsListDTO.md b/src/visier.sdk.api.administration/docs/PermissionsListDTO.md new file mode 100644 index 000000000..77a10ad1b --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionsListDTO.md @@ -0,0 +1,29 @@ +# PermissionsListDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions** | [**List[PermissionDTO]**](PermissionDTO.md) | The list of permissions that will be created or updated | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permissions_list_dto import PermissionsListDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionsListDTO from a JSON string +permissions_list_dto_instance = PermissionsListDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionsListDTO.to_json()) + +# convert the object into a dict +permissions_list_dto_dict = permissions_list_dto_instance.to_dict() +# create an instance of PermissionsListDTO from a dict +permissions_list_dto_from_dict = PermissionsListDTO.from_dict(permissions_list_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionsToUserGroupForTenantDTO.md b/src/visier.sdk.api.administration/docs/PermissionsToUserGroupForTenantDTO.md new file mode 100644 index 000000000..0c8c8c5c9 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionsToUserGroupForTenantDTO.md @@ -0,0 +1,32 @@ +# PermissionsToUserGroupForTenantDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **str** | A detailed description of the request outcome, if available. | [optional] +**status** | **str** | The state of the permission assignment or removal. Valid values are Succeed or Failed. | [optional] +**tenant_code** | **str** | The unique identifier associated with the tenant. | [optional] +**user_groups** | [**List[UserGroupGetAPIResponseDTO]**](UserGroupGetAPIResponseDTO.md) | A list of objects representing user groups and the permissions to assign to or remove from them. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permissions_to_user_group_for_tenant_dto import PermissionsToUserGroupForTenantDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionsToUserGroupForTenantDTO from a JSON string +permissions_to_user_group_for_tenant_dto_instance = PermissionsToUserGroupForTenantDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionsToUserGroupForTenantDTO.to_json()) + +# convert the object into a dict +permissions_to_user_group_for_tenant_dto_dict = permissions_to_user_group_for_tenant_dto_instance.to_dict() +# create an instance of PermissionsToUserGroupForTenantDTO from a dict +permissions_to_user_group_for_tenant_dto_from_dict = PermissionsToUserGroupForTenantDTO.from_dict(permissions_to_user_group_for_tenant_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionsToUserGroupRequestDTO.md b/src/visier.sdk.api.administration/docs/PermissionsToUserGroupRequestDTO.md new file mode 100644 index 000000000..5b2923494 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionsToUserGroupRequestDTO.md @@ -0,0 +1,30 @@ +# PermissionsToUserGroupRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**permissions_ids** | **List[str]** | A list of strings representing the unique permission IDs to assign. | [optional] +**user_group_id** | **str** | The unique identifier associated with the user group. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permissions_to_user_group_request_dto import PermissionsToUserGroupRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionsToUserGroupRequestDTO from a JSON string +permissions_to_user_group_request_dto_instance = PermissionsToUserGroupRequestDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionsToUserGroupRequestDTO.to_json()) + +# convert the object into a dict +permissions_to_user_group_request_dto_dict = permissions_to_user_group_request_dto_instance.to_dict() +# create an instance of PermissionsToUserGroupRequestDTO from a dict +permissions_to_user_group_request_dto_from_dict = PermissionsToUserGroupRequestDTO.from_dict(permissions_to_user_group_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PermissionsToUserGroupsRequestDTO.md b/src/visier.sdk.api.administration/docs/PermissionsToUserGroupsRequestDTO.md new file mode 100644 index 000000000..82199761e --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PermissionsToUserGroupsRequestDTO.md @@ -0,0 +1,29 @@ +# PermissionsToUserGroupsRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_groups** | [**List[PermissionsToUserGroupRequestDTO]**](PermissionsToUserGroupRequestDTO.md) | A list of objects representing the user groups and permissions to assign or remove. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.permissions_to_user_groups_request_dto import PermissionsToUserGroupsRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PermissionsToUserGroupsRequestDTO from a JSON string +permissions_to_user_groups_request_dto_instance = PermissionsToUserGroupsRequestDTO.from_json(json) +# print the JSON string representation of the object +print(PermissionsToUserGroupsRequestDTO.to_json()) + +# convert the object into a dict +permissions_to_user_groups_request_dto_dict = permissions_to_user_groups_request_dto_instance.to_dict() +# create an instance of PermissionsToUserGroupsRequestDTO from a dict +permissions_to_user_groups_request_dto_from_dict = PermissionsToUserGroupsRequestDTO.from_dict(permissions_to_user_groups_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ProductionVersionsAPIOperationRequestDTO.md b/src/visier.sdk.api.administration/docs/ProductionVersionsAPIOperationRequestDTO.md new file mode 100644 index 000000000..98b41ab09 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ProductionVersionsAPIOperationRequestDTO.md @@ -0,0 +1,30 @@ +# ProductionVersionsAPIOperationRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**export_parameters** | [**ExportProductionVersionsAPIOperationParametersDTO**](ExportProductionVersionsAPIOperationParametersDTO.md) | The parameters for the `export` option, such as the production version to start exporting versions from. Required for `export` operations. | [optional] +**operation** | **str** | The operation to perform. Valid values: * `export`: Export the project changes of the requested production versions and their related files, such as any Guidebook images. If successful, a ZIP file is returned containing any relevant image files and a JSON file with the production project changes. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.production_versions_api_operation_request_dto import ProductionVersionsAPIOperationRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ProductionVersionsAPIOperationRequestDTO from a JSON string +production_versions_api_operation_request_dto_instance = ProductionVersionsAPIOperationRequestDTO.from_json(json) +# print the JSON string representation of the object +print(ProductionVersionsAPIOperationRequestDTO.to_json()) + +# convert the object into a dict +production_versions_api_operation_request_dto_dict = production_versions_api_operation_request_dto_instance.to_dict() +# create an instance of ProductionVersionsAPIOperationRequestDTO from a dict +production_versions_api_operation_request_dto_from_dict = ProductionVersionsAPIOperationRequestDTO.from_dict(production_versions_api_operation_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ProductionVersionsAPIOperationResponseDTO.md b/src/visier.sdk.api.administration/docs/ProductionVersionsAPIOperationResponseDTO.md new file mode 100644 index 000000000..36abd8641 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ProductionVersionsAPIOperationResponseDTO.md @@ -0,0 +1,29 @@ +# ProductionVersionsAPIOperationResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**export** | **object** | The result of the `export` operation. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.production_versions_api_operation_response_dto import ProductionVersionsAPIOperationResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ProductionVersionsAPIOperationResponseDTO from a JSON string +production_versions_api_operation_response_dto_instance = ProductionVersionsAPIOperationResponseDTO.from_json(json) +# print the JSON string representation of the object +print(ProductionVersionsAPIOperationResponseDTO.to_json()) + +# convert the object into a dict +production_versions_api_operation_response_dto_dict = production_versions_api_operation_response_dto_instance.to_dict() +# create an instance of ProductionVersionsAPIOperationResponseDTO from a dict +production_versions_api_operation_response_dto_from_dict = ProductionVersionsAPIOperationResponseDTO.from_dict(production_versions_api_operation_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ProductionVersionsApi.md b/src/visier.sdk.api.administration/docs/ProductionVersionsApi.md new file mode 100644 index 000000000..143797c48 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ProductionVersionsApi.md @@ -0,0 +1,151 @@ +# visier.sdk.api.administration.ProductionVersionsApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_production_versions**](ProductionVersionsApi.md#get_production_versions) | **GET** /v1alpha/admin/production-versions | Retrieve a list of all production versions +[**post_production_versions**](ProductionVersionsApi.md#post_production_versions) | **POST** /v1alpha/admin/production-versions | Perform an operation on production versions + + +# **get_production_versions** +> GetProductionVersionsAPIResponseDTO get_production_versions(limit=limit, start=start) + +Retrieve a list of all production versions + +Retrieve a list of all projects that were published to production, ordered from latest published to earliest published.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.get_production_versions_api_response_dto import GetProductionVersionsAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProductionVersionsApi(api_client) + limit = 56 # int | The maximum number of production versions to return. Default is 400. (optional) + start = 56 # int | The starting index of the first production version to return. Default is 0. (optional) + + try: + # Retrieve a list of all production versions + api_response = api_instance.get_production_versions(limit=limit, start=start) + print("The response of ProductionVersionsApi->get_production_versions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProductionVersionsApi->get_production_versions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **int**| The maximum number of production versions to return. Default is 400. | [optional] + **start** | **int**| The starting index of the first production version to return. Default is 0. | [optional] + +### Return type + +[**GetProductionVersionsAPIResponseDTO**](GetProductionVersionsAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **post_production_versions** +> ProductionVersionsAPIOperationResponseDTO post_production_versions(production_versions_api_operation_request_dto) + +Perform an operation on production versions + +Perform operations on production versions, such as exporting a production project's committed changes. If exporting, please specify `Accept: application/zip, application/json` in the header.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.production_versions_api_operation_request_dto import ProductionVersionsAPIOperationRequestDTO +from visier.sdk.api.administration.models.production_versions_api_operation_response_dto import ProductionVersionsAPIOperationResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProductionVersionsApi(api_client) + production_versions_api_operation_request_dto = visier.sdk.api.administration.ProductionVersionsAPIOperationRequestDTO() # ProductionVersionsAPIOperationRequestDTO | + + try: + # Perform an operation on production versions + api_response = api_instance.post_production_versions(production_versions_api_operation_request_dto) + print("The response of ProductionVersionsApi->post_production_versions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProductionVersionsApi->post_production_versions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **production_versions_api_operation_request_dto** | [**ProductionVersionsAPIOperationRequestDTO**](ProductionVersionsAPIOperationRequestDTO.md)| | + +### Return type + +[**ProductionVersionsAPIOperationResponseDTO**](ProductionVersionsAPIOperationResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.administration/docs/ProfileAssignedForAccessibleTenantDTO.md b/src/visier.sdk.api.administration/docs/ProfileAssignedForAccessibleTenantDTO.md new file mode 100644 index 000000000..d31b735ba --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ProfileAssignedForAccessibleTenantDTO.md @@ -0,0 +1,34 @@ +# ProfileAssignedForAccessibleTenantDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | An identifiable profile name to display in Visier such as \"Partner Service Manager\". | [optional] +**for_all_children** | **bool** | If true, the profile is assigned for all the analytic tenants of the administrating tenant. | [optional] +**profile_id** | **str** | The unique identifier associated with the profile. | [optional] +**tenant_code** | **str** | The tenant code of the analytic tenant on which this profile is assigned. | [optional] +**validity_end_time** | **str** | An exclusive date-time when this profile is no longer active. Note: Long.Max_Value means that endTime is undefined and is equivalent to permanent access. | [optional] +**validity_start_time** | **str** | An inclusive date-time when this profile is active. Note: Long.Min_Value means that startTime is undefined. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.profile_assigned_for_accessible_tenant_dto import ProfileAssignedForAccessibleTenantDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ProfileAssignedForAccessibleTenantDTO from a JSON string +profile_assigned_for_accessible_tenant_dto_instance = ProfileAssignedForAccessibleTenantDTO.from_json(json) +# print the JSON string representation of the object +print(ProfileAssignedForAccessibleTenantDTO.to_json()) + +# convert the object into a dict +profile_assigned_for_accessible_tenant_dto_dict = profile_assigned_for_accessible_tenant_dto_instance.to_dict() +# create an instance of ProfileAssignedForAccessibleTenantDTO from a dict +profile_assigned_for_accessible_tenant_dto_from_dict = ProfileAssignedForAccessibleTenantDTO.from_dict(profile_assigned_for_accessible_tenant_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ProfileAssignedForLocalTenantDTO.md b/src/visier.sdk.api.administration/docs/ProfileAssignedForLocalTenantDTO.md new file mode 100644 index 000000000..77637c5bb --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ProfileAssignedForLocalTenantDTO.md @@ -0,0 +1,34 @@ +# ProfileAssignedForLocalTenantDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**additional_capabilities** | [**AdditionalCapabilitiesDTO**](AdditionalCapabilitiesDTO.md) | A list of the additional capabilities that are assigned to this profile. | [optional] +**capabilities** | [**List[CapabilitiesDTO]**](CapabilitiesDTO.md) | A list of objects representing the access that this profile has for the capabilities of this profile. | [optional] +**display_name** | **str** | An identifiable profile name to display in Visier, such as \"Partner Service Manager\". | [optional] +**profile_id** | **str** | The unique identifier associated with the profile. | [optional] +**validity_end_time** | **str** | An exclusive date-time when this profile is no longer active. | [optional] +**validity_start_time** | **str** | An inclusive date-time when this profile is active. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.profile_assigned_for_local_tenant_dto import ProfileAssignedForLocalTenantDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ProfileAssignedForLocalTenantDTO from a JSON string +profile_assigned_for_local_tenant_dto_instance = ProfileAssignedForLocalTenantDTO.from_json(json) +# print the JSON string representation of the object +print(ProfileAssignedForLocalTenantDTO.to_json()) + +# convert the object into a dict +profile_assigned_for_local_tenant_dto_dict = profile_assigned_for_local_tenant_dto_instance.to_dict() +# create an instance of ProfileAssignedForLocalTenantDTO from a dict +profile_assigned_for_local_tenant_dto_from_dict = ProfileAssignedForLocalTenantDTO.from_dict(profile_assigned_for_local_tenant_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ProfileGetAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/ProfileGetAPIResponseDTO.md new file mode 100644 index 000000000..0a10f5f9c --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ProfileGetAPIResponseDTO.md @@ -0,0 +1,32 @@ +# ProfileGetAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**additional_capabilities** | **List[str]** | A list of the additional capabilities that are assigned to this profile. | [optional] +**capabilities** | [**List[CapabilitiesDTO]**](CapabilitiesDTO.md) | A list of objects representing the access that this profile has for the capabilities of this profile. | [optional] +**display_name** | **str** | An identifiable profile name to display in Visier. For example, \"Partner Service Manager\". | [optional] +**profile_id** | **str** | The unique identifier associated with the profile. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.profile_get_api_response_dto import ProfileGetAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ProfileGetAPIResponseDTO from a JSON string +profile_get_api_response_dto_instance = ProfileGetAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(ProfileGetAPIResponseDTO.to_json()) + +# convert the object into a dict +profile_get_api_response_dto_dict = profile_get_api_response_dto_instance.to_dict() +# create an instance of ProfileGetAPIResponseDTO from a dict +profile_get_api_response_dto_from_dict = ProfileGetAPIResponseDTO.from_dict(profile_get_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ProfilesApi.md b/src/visier.sdk.api.administration/docs/ProfilesApi.md new file mode 100644 index 000000000..ebc41ceb7 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ProfilesApi.md @@ -0,0 +1,712 @@ +# visier.sdk.api.administration.ProfilesApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**assign_analytic_profile**](ProfilesApi.md#assign_analytic_profile) | **PUT** /v1/admin/profiles/accessible-tenants/{profileId}/assign | Assign an analytic tenant profile to administrating tenant users +[**assign_profile**](ProfilesApi.md#assign_profile) | **PUT** /v1/admin/profiles/{profileId}/assign | Assign a profile to a list of users +[**get_all_profiles**](ProfilesApi.md#get_all_profiles) | **GET** /v1/admin/profiles | Retrieve a list of all profiles +[**get_analytic_profile_detail**](ProfilesApi.md#get_analytic_profile_detail) | **GET** /v1/admin/profiles/accessible-tenants/{profileId} | Retrieve the details of an analytic tenant profile +[**get_analytic_profiles**](ProfilesApi.md#get_analytic_profiles) | **GET** /v1/admin/profiles/accessible-tenants | Retrieve a list of analytic tenant profiles +[**get_analytic_user_profile**](ProfilesApi.md#get_analytic_user_profile) | **GET** /v1/admin/users/{userId}/accessible-tenant-profiles | Retrieve an administrating tenant user's analytic tenant profiles +[**get_profile_detail**](ProfilesApi.md#get_profile_detail) | **GET** /v1/admin/profiles/{profileId} | Retrieve the details of a profile +[**get_user_profile**](ProfilesApi.md#get_user_profile) | **GET** /v1/admin/users/{userId}/profiles | Retrieve a user's profiles +[**remove_analytic_profile**](ProfilesApi.md#remove_analytic_profile) | **DELETE** /v1/admin/profiles/accessible-tenants/{profileId}/remove | Remove an analytic tenant profile from administrating tenant users +[**remove_profile**](ProfilesApi.md#remove_profile) | **DELETE** /v1/admin/profiles/{profileId}/remove | Remove a profile from a list of users + + +# **assign_analytic_profile** +> AccessibleTenantProfileAssignmentResponseDTO assign_analytic_profile(profile_id, accessible_tenant_profile_assignment_request_dto) + +Assign an analytic tenant profile to administrating tenant users + +Assign an analytic tenant profile to a list of administrating tenant users for a list of analytic tenants. **Note:** - Administrating tenants only. - You can revoke a profile from a user with this request by updating the validityEndTime to be \"less than\" the current time (that is, in the past). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.accessible_tenant_profile_assignment_request_dto import AccessibleTenantProfileAssignmentRequestDTO +from visier.sdk.api.administration.models.accessible_tenant_profile_assignment_response_dto import AccessibleTenantProfileAssignmentResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProfilesApi(api_client) + profile_id = 'profile_id_example' # str | The ID of the profile to assign. + accessible_tenant_profile_assignment_request_dto = visier.sdk.api.administration.AccessibleTenantProfileAssignmentRequestDTO() # AccessibleTenantProfileAssignmentRequestDTO | + + try: + # Assign an analytic tenant profile to administrating tenant users + api_response = api_instance.assign_analytic_profile(profile_id, accessible_tenant_profile_assignment_request_dto) + print("The response of ProfilesApi->assign_analytic_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfilesApi->assign_analytic_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **profile_id** | **str**| The ID of the profile to assign. | + **accessible_tenant_profile_assignment_request_dto** | [**AccessibleTenantProfileAssignmentRequestDTO**](AccessibleTenantProfileAssignmentRequestDTO.md)| | + +### Return type + +[**AccessibleTenantProfileAssignmentResponseDTO**](AccessibleTenantProfileAssignmentResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **assign_profile** +> LocalTenantProfileAssignmentResponseDTO assign_profile(profile_id, local_tenant_profile_assignment_request_dto) + +Assign a profile to a list of users + +Assign a profile to a list of users. For administrating tenants, this assigns an administrating tenant profile to a list of users. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.local_tenant_profile_assignment_request_dto import LocalTenantProfileAssignmentRequestDTO +from visier.sdk.api.administration.models.local_tenant_profile_assignment_response_dto import LocalTenantProfileAssignmentResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProfilesApi(api_client) + profile_id = 'profile_id_example' # str | The ID of the profile to assign to a list of users. + local_tenant_profile_assignment_request_dto = visier.sdk.api.administration.LocalTenantProfileAssignmentRequestDTO() # LocalTenantProfileAssignmentRequestDTO | + + try: + # Assign a profile to a list of users + api_response = api_instance.assign_profile(profile_id, local_tenant_profile_assignment_request_dto) + print("The response of ProfilesApi->assign_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfilesApi->assign_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **profile_id** | **str**| The ID of the profile to assign to a list of users. | + **local_tenant_profile_assignment_request_dto** | [**LocalTenantProfileAssignmentRequestDTO**](LocalTenantProfileAssignmentRequestDTO.md)| | + +### Return type + +[**LocalTenantProfileAssignmentResponseDTO**](LocalTenantProfileAssignmentResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_all_profiles** +> ProfilesGetAPIResponseDTO get_all_profiles() + +Retrieve a list of all profiles + +Get a list of all available profiles. For administrating tenants, this retrieves all administrating tenant profiles. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.profiles_get_api_response_dto import ProfilesGetAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProfilesApi(api_client) + + try: + # Retrieve a list of all profiles + api_response = api_instance.get_all_profiles() + print("The response of ProfilesApi->get_all_profiles:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfilesApi->get_all_profiles: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**ProfilesGetAPIResponseDTO**](ProfilesGetAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_analytic_profile_detail** +> ProfileGetAPIResponseDTO get_analytic_profile_detail(profile_id) + +Retrieve the details of an analytic tenant profile + +Get the details of an analytic tenant profile. **Note:** Administrating tenants only. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.profile_get_api_response_dto import ProfileGetAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProfilesApi(api_client) + profile_id = 'profile_id_example' # str | The ID of the profile to retrieve details for. + + try: + # Retrieve the details of an analytic tenant profile + api_response = api_instance.get_analytic_profile_detail(profile_id) + print("The response of ProfilesApi->get_analytic_profile_detail:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfilesApi->get_analytic_profile_detail: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **profile_id** | **str**| The ID of the profile to retrieve details for. | + +### Return type + +[**ProfileGetAPIResponseDTO**](ProfileGetAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_analytic_profiles** +> ProfilesGetAPIResponseDTO get_analytic_profiles() + +Retrieve a list of analytic tenant profiles + +Retrieve a list of profiles available for analytic tenants. **Note:** Administrating tenants only. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.profiles_get_api_response_dto import ProfilesGetAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProfilesApi(api_client) + + try: + # Retrieve a list of analytic tenant profiles + api_response = api_instance.get_analytic_profiles() + print("The response of ProfilesApi->get_analytic_profiles:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfilesApi->get_analytic_profiles: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**ProfilesGetAPIResponseDTO**](ProfilesGetAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_analytic_user_profile** +> AllProfileAssignedForAccessibleTenantDTO get_analytic_user_profile(user_id) + +Retrieve an administrating tenant user's analytic tenant profiles + +Retrieve a specified user's assigned profiles for analytic tenants. **Note:** Administrating tenants only. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.all_profile_assigned_for_accessible_tenant_dto import AllProfileAssignedForAccessibleTenantDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProfilesApi(api_client) + user_id = 'user_id_example' # str | The ID of the user you want to retrieve. + + try: + # Retrieve an administrating tenant user's analytic tenant profiles + api_response = api_instance.get_analytic_user_profile(user_id) + print("The response of ProfilesApi->get_analytic_user_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfilesApi->get_analytic_user_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_id** | **str**| The ID of the user you want to retrieve. | + +### Return type + +[**AllProfileAssignedForAccessibleTenantDTO**](AllProfileAssignedForAccessibleTenantDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_profile_detail** +> ProfileGetAPIResponseDTO get_profile_detail(profile_id) + +Retrieve the details of a profile + +Get the details of a specific profile. For administrating tenants, this retrieves the details of administrating tenant profiles. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.profile_get_api_response_dto import ProfileGetAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProfilesApi(api_client) + profile_id = 'profile_id_example' # str | The ID of the profile to retrieve details for. + + try: + # Retrieve the details of a profile + api_response = api_instance.get_profile_detail(profile_id) + print("The response of ProfilesApi->get_profile_detail:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfilesApi->get_profile_detail: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **profile_id** | **str**| The ID of the profile to retrieve details for. | + +### Return type + +[**ProfileGetAPIResponseDTO**](ProfileGetAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_user_profile** +> AllProfileAssignedForLocalTenantDTO get_user_profile(user_id) + +Retrieve a user's profiles + +Retrieve a specified user's assigned profiles. For administrating tenants, this retrieves a user's administrating tenant profiles. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.all_profile_assigned_for_local_tenant_dto import AllProfileAssignedForLocalTenantDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProfilesApi(api_client) + user_id = 'user_id_example' # str | The ID of the user you want to retrieve. + + try: + # Retrieve a user's profiles + api_response = api_instance.get_user_profile(user_id) + print("The response of ProfilesApi->get_user_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfilesApi->get_user_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_id** | **str**| The ID of the user you want to retrieve. | + +### Return type + +[**AllProfileAssignedForLocalTenantDTO**](AllProfileAssignedForLocalTenantDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **remove_analytic_profile** +> AccessibleTenantProfileRevokeResponseDTO remove_analytic_profile(profile_id, accessible_tenant_profile_revoke_request_dto) + +Remove an analytic tenant profile from administrating tenant users + +Remove an analytic tenant profile from a list of administrating tenant users for a list of analytic tenants. **Note:** Administrating tenants only. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.accessible_tenant_profile_revoke_request_dto import AccessibleTenantProfileRevokeRequestDTO +from visier.sdk.api.administration.models.accessible_tenant_profile_revoke_response_dto import AccessibleTenantProfileRevokeResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProfilesApi(api_client) + profile_id = 'profile_id_example' # str | The ID of the profile to remove. + accessible_tenant_profile_revoke_request_dto = visier.sdk.api.administration.AccessibleTenantProfileRevokeRequestDTO() # AccessibleTenantProfileRevokeRequestDTO | + + try: + # Remove an analytic tenant profile from administrating tenant users + api_response = api_instance.remove_analytic_profile(profile_id, accessible_tenant_profile_revoke_request_dto) + print("The response of ProfilesApi->remove_analytic_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfilesApi->remove_analytic_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **profile_id** | **str**| The ID of the profile to remove. | + **accessible_tenant_profile_revoke_request_dto** | [**AccessibleTenantProfileRevokeRequestDTO**](AccessibleTenantProfileRevokeRequestDTO.md)| | + +### Return type + +[**AccessibleTenantProfileRevokeResponseDTO**](AccessibleTenantProfileRevokeResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **remove_profile** +> LocalTenantProfileRevokeResponseDTO remove_profile(profile_id, local_tenant_profile_revoke_request_dto) + +Remove a profile from a list of users + +Remove a profile from a list of users. For administrating tenants, this removes an administrating tenant profile from a list of users. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.local_tenant_profile_revoke_request_dto import LocalTenantProfileRevokeRequestDTO +from visier.sdk.api.administration.models.local_tenant_profile_revoke_response_dto import LocalTenantProfileRevokeResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProfilesApi(api_client) + profile_id = 'profile_id_example' # str | The ID of the profile to remove to a list of users. + local_tenant_profile_revoke_request_dto = visier.sdk.api.administration.LocalTenantProfileRevokeRequestDTO() # LocalTenantProfileRevokeRequestDTO | + + try: + # Remove a profile from a list of users + api_response = api_instance.remove_profile(profile_id, local_tenant_profile_revoke_request_dto) + print("The response of ProfilesApi->remove_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfilesApi->remove_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **profile_id** | **str**| The ID of the profile to remove to a list of users. | + **local_tenant_profile_revoke_request_dto** | [**LocalTenantProfileRevokeRequestDTO**](LocalTenantProfileRevokeRequestDTO.md)| | + +### Return type + +[**LocalTenantProfileRevokeResponseDTO**](LocalTenantProfileRevokeResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.administration/docs/ProfilesGetAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/ProfilesGetAPIResponseDTO.md new file mode 100644 index 000000000..581282709 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ProfilesGetAPIResponseDTO.md @@ -0,0 +1,29 @@ +# ProfilesGetAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**profiles** | [**List[ProfileGetAPIResponseDTO]**](ProfileGetAPIResponseDTO.md) | A list of objects representing the available profiles. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.profiles_get_api_response_dto import ProfilesGetAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ProfilesGetAPIResponseDTO from a JSON string +profiles_get_api_response_dto_instance = ProfilesGetAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(ProfilesGetAPIResponseDTO.to_json()) + +# convert the object into a dict +profiles_get_api_response_dto_dict = profiles_get_api_response_dto_instance.to_dict() +# create an instance of ProfilesGetAPIResponseDTO from a dict +profiles_get_api_response_dto_from_dict = ProfilesGetAPIResponseDTO.from_dict(profiles_get_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ProjectDTO.md b/src/visier.sdk.api.administration/docs/ProjectDTO.md new file mode 100644 index 000000000..485ae9e89 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ProjectDTO.md @@ -0,0 +1,35 @@ +# ProjectDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**capabilities** | **List[str]** | The current user's capabilities for the project. Users with `canWrite`, `canShare`, or `owner` capabilities can add and commit changes to the project. **canRead**: The project has been shared to the user with `View` access. **canWrite**: The project has been shared to the user with `Edit` access. **canShare**: The project has been shared to the user with `Share` access. **owner**: The user is the owner of the project. Omit when creating a new project. | [optional] +**description** | **str** | A description of the project. | [optional] +**id** | **str** | The unique ID of the project. Omit when creating a new project. | [optional] +**name** | **str** | An identifiable project name to display in Visier. | [optional] +**release_version** | **str** | The release version of the project. | [optional] +**ticket_number** | **str** | The change management ticket number of the project. | [optional] +**version_number** | **int** | The version number of the project. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.project_dto import ProjectDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ProjectDTO from a JSON string +project_dto_instance = ProjectDTO.from_json(json) +# print the JSON string representation of the object +print(ProjectDTO.to_json()) + +# convert the object into a dict +project_dto_dict = project_dto_instance.to_dict() +# create an instance of ProjectDTO from a dict +project_dto_from_dict = ProjectDTO.from_dict(project_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ProjectOperationRequestDTO.md b/src/visier.sdk.api.administration/docs/ProjectOperationRequestDTO.md new file mode 100644 index 000000000..4c90727b7 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ProjectOperationRequestDTO.md @@ -0,0 +1,29 @@ +# ProjectOperationRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**operation** | **str** | The operation to perform on a draft project. Valid values: * `commitAndPublish`: Commits the requesting user's changes and publishes the draft project to production. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.project_operation_request_dto import ProjectOperationRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ProjectOperationRequestDTO from a JSON string +project_operation_request_dto_instance = ProjectOperationRequestDTO.from_json(json) +# print the JSON string representation of the object +print(ProjectOperationRequestDTO.to_json()) + +# convert the object into a dict +project_operation_request_dto_dict = project_operation_request_dto_instance.to_dict() +# create an instance of ProjectOperationRequestDTO from a dict +project_operation_request_dto_from_dict = ProjectOperationRequestDTO.from_dict(project_operation_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ProjectOperationResponseDTO.md b/src/visier.sdk.api.administration/docs/ProjectOperationResponseDTO.md new file mode 100644 index 000000000..3f0ec0836 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ProjectOperationResponseDTO.md @@ -0,0 +1,29 @@ +# ProjectOperationResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**commit_and_publish** | [**CommitAndPublishOperationResponseDTO**](CommitAndPublishOperationResponseDTO.md) | The result of the `commitAndPublish` operation. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.project_operation_response_dto import ProjectOperationResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ProjectOperationResponseDTO from a JSON string +project_operation_response_dto_instance = ProjectOperationResponseDTO.from_json(json) +# print the JSON string representation of the object +print(ProjectOperationResponseDTO.to_json()) + +# convert the object into a dict +project_operation_response_dto_dict = project_operation_response_dto_instance.to_dict() +# create an instance of ProjectOperationResponseDTO from a dict +project_operation_response_dto_from_dict = ProjectOperationResponseDTO.from_dict(project_operation_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ProjectsApi.md b/src/visier.sdk.api.administration/docs/ProjectsApi.md new file mode 100644 index 000000000..607d5eaea --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ProjectsApi.md @@ -0,0 +1,441 @@ +# visier.sdk.api.administration.ProjectsApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_project**](ProjectsApi.md#create_project) | **POST** /v1alpha/admin/projects | Create a new draft project +[**delete_project**](ProjectsApi.md#delete_project) | **DELETE** /v1alpha/admin/projects/{projectId} | Delete a draft project +[**get_project**](ProjectsApi.md#get_project) | **GET** /v1alpha/admin/projects/{projectId} | Retrieve a draft project's information +[**get_project_commits**](ProjectsApi.md#get_project_commits) | **GET** /v1alpha/admin/projects/{projectId}/commits | Retrieve a list of all committed changes in a project +[**get_projects**](ProjectsApi.md#get_projects) | **GET** /v1alpha/admin/projects | Retrieve a list of draft projects accessible to the user +[**run_project_operation**](ProjectsApi.md#run_project_operation) | **POST** /v1alpha/admin/projects/{projectId} | Perform an operation on a draft project + + +# **create_project** +> ProjectDTO create_project(project_dto) + +Create a new draft project + +Create a new draft project in the tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.project_dto import ProjectDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProjectsApi(api_client) + project_dto = visier.sdk.api.administration.ProjectDTO() # ProjectDTO | + + try: + # Create a new draft project + api_response = api_instance.create_project(project_dto) + print("The response of ProjectsApi->create_project:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProjectsApi->create_project: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_dto** | [**ProjectDTO**](ProjectDTO.md)| | + +### Return type + +[**ProjectDTO**](ProjectDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_project** +> ProjectDTO delete_project(project_id) + +Delete a draft project + +Delete a draft project in the tenant. The project will first be archived if applicable.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.project_dto import ProjectDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProjectsApi(api_client) + project_id = 'project_id_example' # str | The unique ID of the draft project to be deleted. + + try: + # Delete a draft project + api_response = api_instance.delete_project(project_id) + print("The response of ProjectsApi->delete_project:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProjectsApi->delete_project: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| The unique ID of the draft project to be deleted. | + +### Return type + +[**ProjectDTO**](ProjectDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_project** +> ProjectDTO get_project(project_id, var_with=var_with, limit=limit) + +Retrieve a draft project's information + +Retrieve the details of an accessible draft project. You must know the ID of the project to retrieve its details. To retrieve draft project IDs, see `GET v1alpha/admin/projects`. A project is accessible if it is owned by the user or shared to the user.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.project_dto import ProjectDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProjectsApi(api_client) + project_id = 'project_id_example' # str | + var_with = ['var_with_example'] # List[str] | The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects. (optional) + limit = 56 # int | The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100. (optional) + + try: + # Retrieve a draft project's information + api_response = api_instance.get_project(project_id, var_with=var_with, limit=limit) + print("The response of ProjectsApi->get_project:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProjectsApi->get_project: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| | + **var_with** | [**List[str]**](str.md)| The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects. | [optional] + **limit** | **int**| The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100. | [optional] + +### Return type + +[**ProjectDTO**](ProjectDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_project_commits** +> GetProjectCommitsAPIResponseDTO get_project_commits(project_id, limit=limit, start=start) + +Retrieve a list of all committed changes in a project + +Retrieve the full list of all committed changes in a project.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.get_project_commits_api_response_dto import GetProjectCommitsAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProjectsApi(api_client) + project_id = 'project_id_example' # str | The unique identifier of the draft project you want to retrieve the committed changes for. + limit = 56 # int | The maximum number of committed changes to return. Default is 400. (optional) + start = 56 # int | The starting index of the first committed change to return. Default is 0. (optional) + + try: + # Retrieve a list of all committed changes in a project + api_response = api_instance.get_project_commits(project_id, limit=limit, start=start) + print("The response of ProjectsApi->get_project_commits:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProjectsApi->get_project_commits: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| The unique identifier of the draft project you want to retrieve the committed changes for. | + **limit** | **int**| The maximum number of committed changes to return. Default is 400. | [optional] + **start** | **int**| The starting index of the first committed change to return. Default is 0. | [optional] + +### Return type + +[**GetProjectCommitsAPIResponseDTO**](GetProjectCommitsAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_projects** +> GetProjectsAPIResponseDTO get_projects(var_with=var_with, limit=limit) + +Retrieve a list of draft projects accessible to the user + +Get a list of draft projects accessible to the requesting user in the tenant. A project is accessible if it is owned by the user or shared to the user.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.get_projects_api_response_dto import GetProjectsAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProjectsApi(api_client) + var_with = ['var_with_example'] # List[str] | The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects. (optional) + limit = 56 # int | The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100. (optional) + + try: + # Retrieve a list of draft projects accessible to the user + api_response = api_instance.get_projects(var_with=var_with, limit=limit) + print("The response of ProjectsApi->get_projects:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProjectsApi->get_projects: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **var_with** | [**List[str]**](str.md)| The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects. | [optional] + **limit** | **int**| The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100. | [optional] + +### Return type + +[**GetProjectsAPIResponseDTO**](GetProjectsAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **run_project_operation** +> ProjectOperationResponseDTO run_project_operation(project_id, project_operation_request_dto) + +Perform an operation on a draft project + +Perform operations on a draft project. The following operations are supported: * `commitAndPublish`: Commits project changes and publishes the project to production.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.project_operation_request_dto import ProjectOperationRequestDTO +from visier.sdk.api.administration.models.project_operation_response_dto import ProjectOperationResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.ProjectsApi(api_client) + project_id = 'project_id_example' # str | + project_operation_request_dto = visier.sdk.api.administration.ProjectOperationRequestDTO() # ProjectOperationRequestDTO | + + try: + # Perform an operation on a draft project + api_response = api_instance.run_project_operation(project_id, project_operation_request_dto) + print("The response of ProjectsApi->run_project_operation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProjectsApi->run_project_operation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| | + **project_operation_request_dto** | [**ProjectOperationRequestDTO**](ProjectOperationRequestDTO.md)| | + +### Return type + +[**ProjectOperationResponseDTO**](ProjectOperationResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.administration/docs/PropertyAccessConfigDTO.md b/src/visier.sdk.api.administration/docs/PropertyAccessConfigDTO.md new file mode 100644 index 000000000..a19eb257c --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PropertyAccessConfigDTO.md @@ -0,0 +1,33 @@ +# PropertyAccessConfigDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**access_level** | **str** | The access level of the property. Valid values are: `Aggregate`, `Detailed`. * **Aggregate**: The property can only be accessed as part of an aggregate. * **Detailed**: The property can be accessed at a detailed level. | [optional] +**analytic_object_id** | **str** | The analytic object ID of the property. | [optional] +**analytic_object_reference_paths** | **List[str]** | The path to the analytic object reference. Empty if the configuration is not a reference. | [optional] +**property_id** | **str** | The property ID associated with the property access configuration. | [optional] +**property_status** | **str** | The property's validity status. Valid values: `Valid`, `NoData`, `NotFound`. * **Valid**: The object exists and has loaded data. * **NoData**: The object exists but doesn't have loaded data. * **NotFound**: The object doesn't exist. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.property_access_config_dto import PropertyAccessConfigDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PropertyAccessConfigDTO from a JSON string +property_access_config_dto_instance = PropertyAccessConfigDTO.from_json(json) +# print the JSON string representation of the object +print(PropertyAccessConfigDTO.to_json()) + +# convert the object into a dict +property_access_config_dto_dict = property_access_config_dto_instance.to_dict() +# create an instance of PropertyAccessConfigDTO from a dict +property_access_config_dto_from_dict = PropertyAccessConfigDTO.from_dict(property_access_config_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/PropertySetConfigDTO.md b/src/visier.sdk.api.administration/docs/PropertySetConfigDTO.md new file mode 100644 index 000000000..2661c5de9 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/PropertySetConfigDTO.md @@ -0,0 +1,30 @@ +# PropertySetConfigDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**property_access_configs** | [**List[PropertyAccessConfigDTO]**](PropertyAccessConfigDTO.md) | The data access for a property. | [optional] +**shareable_data_access_set** | [**ShareableDataAccessSet**](ShareableDataAccessSet.md) | A shareable data access set. Shareable data access sets may be linked in multiple permissions. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.property_set_config_dto import PropertySetConfigDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PropertySetConfigDTO from a JSON string +property_set_config_dto_instance = PropertySetConfigDTO.from_json(json) +# print the JSON string representation of the object +print(PropertySetConfigDTO.to_json()) + +# convert the object into a dict +property_set_config_dto_dict = property_set_config_dto_instance.to_dict() +# create an instance of PropertySetConfigDTO from a dict +property_set_config_dto_from_dict = PropertySetConfigDTO.from_dict(property_set_config_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ReducedErrorDTO.md b/src/visier.sdk.api.administration/docs/ReducedErrorDTO.md new file mode 100644 index 000000000..4470e17d6 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ReducedErrorDTO.md @@ -0,0 +1,29 @@ +# ReducedErrorDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_message** | **str** | A meaningful message for the end user. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.reduced_error_dto import ReducedErrorDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ReducedErrorDTO from a JSON string +reduced_error_dto_instance = ReducedErrorDTO.from_json(json) +# print the JSON string representation of the object +print(ReducedErrorDTO.to_json()) + +# convert the object into a dict +reduced_error_dto_dict = reduced_error_dto_instance.to_dict() +# create an instance of ReducedErrorDTO from a dict +reduced_error_dto_from_dict = ReducedErrorDTO.from_dict(reduced_error_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ReducedTenantCodeErrorDTO.md b/src/visier.sdk.api.administration/docs/ReducedTenantCodeErrorDTO.md new file mode 100644 index 000000000..577f42a76 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ReducedTenantCodeErrorDTO.md @@ -0,0 +1,31 @@ +# ReducedTenantCodeErrorDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | [**ReducedErrorDTO**](ReducedErrorDTO.md) | The details about the error. | [optional] +**for_all_children** | **bool** | If true, the assignment is for all the analytic tenants of the specified tenant. | [optional] +**tenant_code** | **str** | The bad tenant code. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.reduced_tenant_code_error_dto import ReducedTenantCodeErrorDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ReducedTenantCodeErrorDTO from a JSON string +reduced_tenant_code_error_dto_instance = ReducedTenantCodeErrorDTO.from_json(json) +# print the JSON string representation of the object +print(ReducedTenantCodeErrorDTO.to_json()) + +# convert the object into a dict +reduced_tenant_code_error_dto_dict = reduced_tenant_code_error_dto_instance.to_dict() +# create an instance of ReducedTenantCodeErrorDTO from a dict +reduced_tenant_code_error_dto_from_dict = ReducedTenantCodeErrorDTO.from_dict(reduced_tenant_code_error_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ReducedUserIdErrorDTO.md b/src/visier.sdk.api.administration/docs/ReducedUserIdErrorDTO.md new file mode 100644 index 000000000..881c0a997 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ReducedUserIdErrorDTO.md @@ -0,0 +1,30 @@ +# ReducedUserIdErrorDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | [**ReducedErrorDTO**](ReducedErrorDTO.md) | The details about the error. | [optional] +**user_id** | **str** | The bad user ID. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.reduced_user_id_error_dto import ReducedUserIdErrorDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ReducedUserIdErrorDTO from a JSON string +reduced_user_id_error_dto_instance = ReducedUserIdErrorDTO.from_json(json) +# print the JSON string representation of the object +print(ReducedUserIdErrorDTO.to_json()) + +# convert the object into a dict +reduced_user_id_error_dto_dict = reduced_user_id_error_dto_instance.to_dict() +# create an instance of ReducedUserIdErrorDTO from a dict +reduced_user_id_error_dto_from_dict = ReducedUserIdErrorDTO.from_dict(reduced_user_id_error_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/RelatedAnalyticObjectDTO.md b/src/visier.sdk.api.administration/docs/RelatedAnalyticObjectDTO.md new file mode 100644 index 000000000..dbd3aa169 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/RelatedAnalyticObjectDTO.md @@ -0,0 +1,30 @@ +# RelatedAnalyticObjectDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_object_id** | **str** | The analytic object ID. | [optional] +**display_name** | **str** | An identifiable analytic object name to display in Visier, such as \"Recognition\". | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.related_analytic_object_dto import RelatedAnalyticObjectDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of RelatedAnalyticObjectDTO from a JSON string +related_analytic_object_dto_instance = RelatedAnalyticObjectDTO.from_json(json) +# print the JSON string representation of the object +print(RelatedAnalyticObjectDTO.to_json()) + +# convert the object into a dict +related_analytic_object_dto_dict = related_analytic_object_dto_instance.to_dict() +# create an instance of RelatedAnalyticObjectDTO from a dict +related_analytic_object_dto_from_dict = RelatedAnalyticObjectDTO.from_dict(related_analytic_object_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/RoleModulesConfigDTO.md b/src/visier.sdk.api.administration/docs/RoleModulesConfigDTO.md new file mode 100644 index 000000000..612910bf4 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/RoleModulesConfigDTO.md @@ -0,0 +1,29 @@ +# RoleModulesConfigDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**content_package_ids** | **List[str]** | The unique IDs of the content packages assigned to the permission. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.role_modules_config_dto import RoleModulesConfigDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of RoleModulesConfigDTO from a JSON string +role_modules_config_dto_instance = RoleModulesConfigDTO.from_json(json) +# print the JSON string representation of the object +print(RoleModulesConfigDTO.to_json()) + +# convert the object into a dict +role_modules_config_dto_dict = role_modules_config_dto_instance.to_dict() +# create an instance of RoleModulesConfigDTO from a dict +role_modules_config_dto_from_dict = RoleModulesConfigDTO.from_dict(role_modules_config_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/SecurableDimensionDTO.md b/src/visier.sdk.api.administration/docs/SecurableDimensionDTO.md new file mode 100644 index 000000000..00e81d543 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/SecurableDimensionDTO.md @@ -0,0 +1,32 @@ +# SecurableDimensionDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_object_ids** | **List[str]** | A list of analytic object IDs. | [optional] +**dimension_id** | **str** | The dimension ID. | [optional] +**display_name** | **str** | An identifiable dimension name to display in Visier, such as \"Contract Type\". | [optional] +**hierarchy_properties** | [**List[HierarchyPropertyDTO]**](HierarchyPropertyDTO.md) | The list of hierarchies you can map to a user in a permission's dynamic filter. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.securable_dimension_dto import SecurableDimensionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SecurableDimensionDTO from a JSON string +securable_dimension_dto_instance = SecurableDimensionDTO.from_json(json) +# print the JSON string representation of the object +print(SecurableDimensionDTO.to_json()) + +# convert the object into a dict +securable_dimension_dto_dict = securable_dimension_dto_instance.to_dict() +# create an instance of SecurableDimensionDTO from a dict +securable_dimension_dto_from_dict = SecurableDimensionDTO.from_dict(securable_dimension_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/SecurablePropertyDTO.md b/src/visier.sdk.api.administration/docs/SecurablePropertyDTO.md new file mode 100644 index 000000000..c7018b132 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/SecurablePropertyDTO.md @@ -0,0 +1,33 @@ +# SecurablePropertyDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_object_id** | **str** | The property's analytic object ID. | [optional] +**display_name** | **str** | An identifiable property name to display in Visier, such as \"Job Pay Level\". | [optional] +**is_primary_key** | **bool** | If true, this property is the analytic object's primary key. | [optional] +**property_id** | **str** | The property ID. | [optional] +**reference_symbol_name** | **str** | The reference symbol name. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.securable_property_dto import SecurablePropertyDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SecurablePropertyDTO from a JSON string +securable_property_dto_instance = SecurablePropertyDTO.from_json(json) +# print the JSON string representation of the object +print(SecurablePropertyDTO.to_json()) + +# convert the object into a dict +securable_property_dto_dict = securable_property_dto_instance.to_dict() +# create an instance of SecurablePropertyDTO from a dict +securable_property_dto_from_dict = SecurablePropertyDTO.from_dict(securable_property_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/SecurityAssignmentResponseDTO.md b/src/visier.sdk.api.administration/docs/SecurityAssignmentResponseDTO.md new file mode 100644 index 000000000..e9ddf777a --- /dev/null +++ b/src/visier.sdk.api.administration/docs/SecurityAssignmentResponseDTO.md @@ -0,0 +1,29 @@ +# SecurityAssignmentResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tenants** | [**List[TenantAssignmentsDTO]**](TenantAssignmentsDTO.md) | A list of objects representing the tenants and users that were assigned to or removed from user groups. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.security_assignment_response_dto import SecurityAssignmentResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SecurityAssignmentResponseDTO from a JSON string +security_assignment_response_dto_instance = SecurityAssignmentResponseDTO.from_json(json) +# print the JSON string representation of the object +print(SecurityAssignmentResponseDTO.to_json()) + +# convert the object into a dict +security_assignment_response_dto_dict = security_assignment_response_dto_instance.to_dict() +# create an instance of SecurityAssignmentResponseDTO from a dict +security_assignment_response_dto_from_dict = SecurityAssignmentResponseDTO.from_dict(security_assignment_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/ShareableDataAccessSet.md b/src/visier.sdk.api.administration/docs/ShareableDataAccessSet.md new file mode 100644 index 000000000..8fc1f61d1 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/ShareableDataAccessSet.md @@ -0,0 +1,29 @@ +# ShareableDataAccessSet + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_access_set_id** | **str** | The unique identifier of the shareable data access set. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.shareable_data_access_set import ShareableDataAccessSet + +# TODO update the JSON string below +json = "{}" +# create an instance of ShareableDataAccessSet from a JSON string +shareable_data_access_set_instance = ShareableDataAccessSet.from_json(json) +# print the JSON string representation of the object +print(ShareableDataAccessSet.to_json()) + +# convert the object into a dict +shareable_data_access_set_dict = shareable_data_access_set_instance.to_dict() +# create an instance of ShareableDataAccessSet from a dict +shareable_data_access_set_from_dict = ShareableDataAccessSet.from_dict(shareable_data_access_set_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/SimpleUserDTO.md b/src/visier.sdk.api.administration/docs/SimpleUserDTO.md new file mode 100644 index 000000000..5dab0978d --- /dev/null +++ b/src/visier.sdk.api.administration/docs/SimpleUserDTO.md @@ -0,0 +1,30 @@ +# SimpleUserDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_id** | **str** | The unique identifier associated with the user. | [optional] +**username** | **str** | The user's username. This is typically the user's email, such as john@visier.com. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.simple_user_dto import SimpleUserDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SimpleUserDTO from a JSON string +simple_user_dto_instance = SimpleUserDTO.from_json(json) +# print the JSON string representation of the object +print(SimpleUserDTO.to_json()) + +# convert the object into a dict +simple_user_dto_dict = simple_user_dto_instance.to_dict() +# create an instance of SimpleUserDTO from a dict +simple_user_dto_from_dict = SimpleUserDTO.from_dict(simple_user_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/StaticDimensionFilterDTO.md b/src/visier.sdk.api.administration/docs/StaticDimensionFilterDTO.md new file mode 100644 index 000000000..ea224ed5b --- /dev/null +++ b/src/visier.sdk.api.administration/docs/StaticDimensionFilterDTO.md @@ -0,0 +1,32 @@ +# StaticDimensionFilterDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension_id** | **str** | The dimension ID associated with the filter. | [optional] +**dimension_status** | **str** | The dimension's validity status. Valid values: Valid, NoData, NotFound. * **Valid**: The object exists and has loaded data. * **NoData**: The object exists but doesn't have loaded data. * **NotFound**: The object doesn't exist. | [optional] +**member_selections** | [**List[MemberSelectionDTO]**](MemberSelectionDTO.md) | A list of objects representing the dimension members assigned population access in the member filter. | [optional] +**subject_reference_path** | **List[str]** | The subject reference path. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.static_dimension_filter_dto import StaticDimensionFilterDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of StaticDimensionFilterDTO from a JSON string +static_dimension_filter_dto_instance = StaticDimensionFilterDTO.from_json(json) +# print the JSON string representation of the object +print(StaticDimensionFilterDTO.to_json()) + +# convert the object into a dict +static_dimension_filter_dto_dict = static_dimension_filter_dto_instance.to_dict() +# create an instance of StaticDimensionFilterDTO from a dict +static_dimension_filter_dto_from_dict = StaticDimensionFilterDTO.from_dict(static_dimension_filter_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/Status.md b/src/visier.sdk.api.administration/docs/Status.md new file mode 100644 index 000000000..b5d83e33f --- /dev/null +++ b/src/visier.sdk.api.administration/docs/Status.md @@ -0,0 +1,32 @@ +# Status + +The response structure for errors. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | Error classification. | [optional] +**message** | **str** | Error message describing the root cause of the error. | [optional] +**rci** | **str** | Optional root cause identifier. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.status import Status + +# TODO update the JSON string below +json = "{}" +# create an instance of Status from a JSON string +status_instance = Status.from_json(json) +# print the JSON string representation of the object +print(Status.to_json()) + +# convert the object into a dict +status_dict = status_instance.to_dict() +# create an instance of Status from a dict +status_from_dict = Status.from_dict(status_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/SuccessfulAccessibleTenantProfileAssignmentDTO.md b/src/visier.sdk.api.administration/docs/SuccessfulAccessibleTenantProfileAssignmentDTO.md new file mode 100644 index 000000000..cd1eee9d9 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/SuccessfulAccessibleTenantProfileAssignmentDTO.md @@ -0,0 +1,31 @@ +# SuccessfulAccessibleTenantProfileAssignmentDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**for_all_children** | **bool** | If true, the target assignment is for all analytic tenants. | [optional] +**tenant_code** | **str** | The tenant code. | [optional] +**user_id** | **str** | The user ID. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.successful_accessible_tenant_profile_assignment_dto import SuccessfulAccessibleTenantProfileAssignmentDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SuccessfulAccessibleTenantProfileAssignmentDTO from a JSON string +successful_accessible_tenant_profile_assignment_dto_instance = SuccessfulAccessibleTenantProfileAssignmentDTO.from_json(json) +# print the JSON string representation of the object +print(SuccessfulAccessibleTenantProfileAssignmentDTO.to_json()) + +# convert the object into a dict +successful_accessible_tenant_profile_assignment_dto_dict = successful_accessible_tenant_profile_assignment_dto_instance.to_dict() +# create an instance of SuccessfulAccessibleTenantProfileAssignmentDTO from a dict +successful_accessible_tenant_profile_assignment_dto_from_dict = SuccessfulAccessibleTenantProfileAssignmentDTO.from_dict(successful_accessible_tenant_profile_assignment_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/SuccessfulLocalTenantProfileAssignmentDTO.md b/src/visier.sdk.api.administration/docs/SuccessfulLocalTenantProfileAssignmentDTO.md new file mode 100644 index 000000000..d5c47f57d --- /dev/null +++ b/src/visier.sdk.api.administration/docs/SuccessfulLocalTenantProfileAssignmentDTO.md @@ -0,0 +1,29 @@ +# SuccessfulLocalTenantProfileAssignmentDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_id** | **str** | The user ID. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.successful_local_tenant_profile_assignment_dto import SuccessfulLocalTenantProfileAssignmentDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SuccessfulLocalTenantProfileAssignmentDTO from a JSON string +successful_local_tenant_profile_assignment_dto_instance = SuccessfulLocalTenantProfileAssignmentDTO.from_json(json) +# print the JSON string representation of the object +print(SuccessfulLocalTenantProfileAssignmentDTO.to_json()) + +# convert the object into a dict +successful_local_tenant_profile_assignment_dto_dict = successful_local_tenant_profile_assignment_dto_instance.to_dict() +# create an instance of SuccessfulLocalTenantProfileAssignmentDTO from a dict +successful_local_tenant_profile_assignment_dto_from_dict = SuccessfulLocalTenantProfileAssignmentDTO.from_dict(successful_local_tenant_profile_assignment_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/SystemStatusApi.md b/src/visier.sdk.api.administration/docs/SystemStatusApi.md new file mode 100644 index 000000000..c1d7d25e8 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/SystemStatusApi.md @@ -0,0 +1,140 @@ +# visier.sdk.api.administration.SystemStatusApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**post_system_status**](SystemStatusApi.md#post_system_status) | **POST** /v1/admin/system-status | Check the overall current status of Visier's systems +[**system_status**](SystemStatusApi.md#system_status) | **GET** /v1/admin/system-status | Check the overall current status of Visier's systems + + +# **post_system_status** +> SystemStatusDTO post_system_status() + +Check the overall current status of Visier's systems + +Check the current overall status of Visier's systems. The overall status is one of: * ``UP`` : All systems are operational. * `DOWN`: At least one system is not fully operational. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.system_status_dto import SystemStatusDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.SystemStatusApi(api_client) + + try: + # Check the overall current status of Visier's systems + api_response = api_instance.post_system_status() + print("The response of SystemStatusApi->post_system_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SystemStatusApi->post_system_status: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**SystemStatusDTO**](SystemStatusDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **system_status** +> SystemStatusDTO system_status() + +Check the overall current status of Visier's systems + +Check the current overall status of Visier's systems. The overall status is one of: * ``UP`` : All systems are operational. * `DOWN`: At least one system is not fully operational. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.system_status_dto import SystemStatusDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.SystemStatusApi(api_client) + + try: + # Check the overall current status of Visier's systems + api_response = api_instance.system_status() + print("The response of SystemStatusApi->system_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SystemStatusApi->system_status: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**SystemStatusDTO**](SystemStatusDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.administration/docs/SystemStatusDTO.md b/src/visier.sdk.api.administration/docs/SystemStatusDTO.md new file mode 100644 index 000000000..d060c64de --- /dev/null +++ b/src/visier.sdk.api.administration/docs/SystemStatusDTO.md @@ -0,0 +1,29 @@ +# SystemStatusDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**overall** | **str** | The overall status of Visier's platform and services. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.system_status_dto import SystemStatusDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SystemStatusDTO from a JSON string +system_status_dto_instance = SystemStatusDTO.from_json(json) +# print the JSON string representation of the object +print(SystemStatusDTO.to_json()) + +# convert the object into a dict +system_status_dto_dict = system_status_dto_instance.to_dict() +# create an instance of SystemStatusDTO from a dict +system_status_dto_from_dict = SystemStatusDTO.from_dict(system_status_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TargetProjectForTenantDTO.md b/src/visier.sdk.api.administration/docs/TargetProjectForTenantDTO.md new file mode 100644 index 000000000..a6b64bed3 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TargetProjectForTenantDTO.md @@ -0,0 +1,30 @@ +# TargetProjectForTenantDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**project_id** | **str** | The project in which to make changes for the tenant. | [optional] +**tenant_code** | **str** | The tenant code. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.target_project_for_tenant_dto import TargetProjectForTenantDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TargetProjectForTenantDTO from a JSON string +target_project_for_tenant_dto_instance = TargetProjectForTenantDTO.from_json(json) +# print the JSON string representation of the object +print(TargetProjectForTenantDTO.to_json()) + +# convert the object into a dict +target_project_for_tenant_dto_dict = target_project_for_tenant_dto_instance.to_dict() +# create an instance of TargetProjectForTenantDTO from a dict +target_project_for_tenant_dto_from_dict = TargetProjectForTenantDTO.from_dict(target_project_for_tenant_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TargetProjectForTenantsListDTO.md b/src/visier.sdk.api.administration/docs/TargetProjectForTenantsListDTO.md new file mode 100644 index 000000000..c3f1508b5 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TargetProjectForTenantsListDTO.md @@ -0,0 +1,29 @@ +# TargetProjectForTenantsListDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**target_project_for_tenants** | [**List[TargetProjectForTenantDTO]**](TargetProjectForTenantDTO.md) | Administrating tenants can specify the tenants and projects in which to make assignments to users. Specify one `projectId` per `tenantCode`. If omitted, the request is immediately published to production or applied to the `ProjectID` in the request header, if available, for the administrating tenant or TargetTenantID, if available. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.target_project_for_tenants_list_dto import TargetProjectForTenantsListDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TargetProjectForTenantsListDTO from a JSON string +target_project_for_tenants_list_dto_instance = TargetProjectForTenantsListDTO.from_json(json) +# print the JSON string representation of the object +print(TargetProjectForTenantsListDTO.to_json()) + +# convert the object into a dict +target_project_for_tenants_list_dto_dict = target_project_for_tenants_list_dto_instance.to_dict() +# create an instance of TargetProjectForTenantsListDTO from a dict +target_project_for_tenants_list_dto_from_dict = TargetProjectForTenantsListDTO.from_dict(target_project_for_tenants_list_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TargetTenantCodeDTO.md b/src/visier.sdk.api.administration/docs/TargetTenantCodeDTO.md new file mode 100644 index 000000000..db394be60 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TargetTenantCodeDTO.md @@ -0,0 +1,30 @@ +# TargetTenantCodeDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**for_all_children** | **bool** | If true, the assignment is for all the analytic tenants of the specified tenant. | [optional] +**tenant_code** | **str** | The tenant code. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.target_tenant_code_dto import TargetTenantCodeDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TargetTenantCodeDTO from a JSON string +target_tenant_code_dto_instance = TargetTenantCodeDTO.from_json(json) +# print the JSON string representation of the object +print(TargetTenantCodeDTO.to_json()) + +# convert the object into a dict +target_tenant_code_dto_dict = target_tenant_code_dto_instance.to_dict() +# create an instance of TargetTenantCodeDTO from a dict +target_tenant_code_dto_from_dict = TargetTenantCodeDTO.from_dict(target_tenant_code_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantAssignmentsDTO.md b/src/visier.sdk.api.administration/docs/TenantAssignmentsDTO.md new file mode 100644 index 000000000..be0fd133e --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantAssignmentsDTO.md @@ -0,0 +1,33 @@ +# TenantAssignmentsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**assignments** | [**List[UserSecurityAssignmentsDTO]**](UserSecurityAssignmentsDTO.md) | A list of objects representing the user group and user assignments. | [optional] +**message** | **str** | A detailed description of the request outcome, if available. | [optional] +**project_id** | **str** | The ID of the project that the change was made in, if applicable. | [optional] +**status** | **str** | The state of the user group assignment. Valid values are Succeed or Failed. | [optional] +**tenant_code** | **str** | The unique identifier associated with the tenant. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.tenant_assignments_dto import TenantAssignmentsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantAssignmentsDTO from a JSON string +tenant_assignments_dto_instance = TenantAssignmentsDTO.from_json(json) +# print the JSON string representation of the object +print(TenantAssignmentsDTO.to_json()) + +# convert the object into a dict +tenant_assignments_dto_dict = tenant_assignments_dto_instance.to_dict() +# create an instance of TenantAssignmentsDTO from a dict +tenant_assignments_dto_from_dict = TenantAssignmentsDTO.from_dict(tenant_assignments_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantCodeBody.md b/src/visier.sdk.api.administration/docs/TenantCodeBody.md new file mode 100644 index 000000000..e671241cd --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantCodeBody.md @@ -0,0 +1,29 @@ +# TenantCodeBody + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tenant_codes** | **List[str]** | A list of a CA tenant's source tenants codes. The maximum length is 1000. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.tenant_code_body import TenantCodeBody + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantCodeBody from a JSON string +tenant_code_body_instance = TenantCodeBody.from_json(json) +# print the JSON string representation of the object +print(TenantCodeBody.to_json()) + +# convert the object into a dict +tenant_code_body_dict = tenant_code_body_instance.to_dict() +# create an instance of TenantCodeBody from a dict +tenant_code_body_from_dict = TenantCodeBody.from_dict(tenant_code_body_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantCodeErrorDTO.md b/src/visier.sdk.api.administration/docs/TenantCodeErrorDTO.md new file mode 100644 index 000000000..2b68d6b3d --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantCodeErrorDTO.md @@ -0,0 +1,31 @@ +# TenantCodeErrorDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | [**ErrorDTO**](ErrorDTO.md) | The details about the error. | [optional] +**for_all_children** | **bool** | If true, the target assignment is for all analytic tenants. | [optional] +**tenant_code** | **str** | The bad tenant code. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.tenant_code_error_dto import TenantCodeErrorDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantCodeErrorDTO from a JSON string +tenant_code_error_dto_instance = TenantCodeErrorDTO.from_json(json) +# print the JSON string representation of the object +print(TenantCodeErrorDTO.to_json()) + +# convert the object into a dict +tenant_code_error_dto_dict = tenant_code_error_dto_instance.to_dict() +# create an instance of TenantCodeErrorDTO from a dict +tenant_code_error_dto_from_dict = TenantCodeErrorDTO.from_dict(tenant_code_error_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantDetailAPIDTO.md b/src/visier.sdk.api.administration/docs/TenantDetailAPIDTO.md new file mode 100644 index 000000000..664e8454c --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantDetailAPIDTO.md @@ -0,0 +1,41 @@ +# TenantDetailAPIDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**can_administer_other_tenants** | **bool** | If true, the tenant is an administrating tenant. | [optional] +**current_data_version** | **str** | The data version ID that the tenant is using. | [optional] +**custom_properties** | [**List[CustomTenantPropertyDTO]**](CustomTenantPropertyDTO.md) | A set of key-value pairs that represent different customizable properties for the analytic tenant. | [optional] +**data_version_date** | **str** | The date that the data version was published to production. | [optional] +**embeddable_domains** | **List[str]** | A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. | [optional] +**industry_code** | **int** | The 6-digit NAICS code for the industry to which the analytic tenant belongs. | [optional] +**modules** | [**List[TenantModuleDTO]**](TenantModuleDTO.md) | The modules assigned to the analytic tenant. | [optional] +**provision_date** | **str** | The date that the tenant was created. | [optional] +**sso_instance_issuers** | **List[str]** | A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant. | [optional] +**status** | **str** | Whether the tenant is enabled or disabled. | [optional] +**tenant_code** | **str** | The tenant code of the analytic tenant. For example, \"WFF_j1r~i1o\". | [optional] +**tenant_display_name** | **str** | An identifiable tenant name that is displayed within Visier. For example, \"Callisto\". | [optional] +**vanity_url_name** | **str** | The name of the administrating tenant used in Visier URLs. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.tenant_detail_apidto import TenantDetailAPIDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantDetailAPIDTO from a JSON string +tenant_detail_apidto_instance = TenantDetailAPIDTO.from_json(json) +# print the JSON string representation of the object +print(TenantDetailAPIDTO.to_json()) + +# convert the object into a dict +tenant_detail_apidto_dict = tenant_detail_apidto_instance.to_dict() +# create an instance of TenantDetailAPIDTO from a dict +tenant_detail_apidto_from_dict = TenantDetailAPIDTO.from_dict(tenant_detail_apidto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantManagementAPIGetResponseDTO.md b/src/visier.sdk.api.administration/docs/TenantManagementAPIGetResponseDTO.md new file mode 100644 index 000000000..436ba8319 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantManagementAPIGetResponseDTO.md @@ -0,0 +1,47 @@ +# TenantManagementAPIGetResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**can_administer_other_tenants** | **bool** | If true, the tenant is an administrating tenant. | [optional] +**click_through_link** | **str** | The custom URL to redirect users into your portal to see the relevant content. This URL is used for links that are shared by and with your users through the sharing capability or email content. | [optional] +**click_through_link_enabled** | **str** | Whether the click-through link is enabled or disabled. | [optional] +**current_data_version** | **str** | The data version ID that the tenant is using. | [optional] +**custom_properties** | [**List[CustomPropertyDTO]**](CustomPropertyDTO.md) | A set of key-value pairs that represent different customizable properties for the analytic tenant. | [optional] +**data_version_date** | **str** | The date that the data version was published to production. | [optional] +**default_currency** | **str** | The default currency to show in the application for the tenant. | [optional] +**embeddable_domains** | **List[str]** | A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. | [optional] +**home_analysis_by_user_group** | [**List[HomeAnalysisByUserGroupDTO]**](HomeAnalysisByUserGroupDTO.md) | A list of objects representing the analysis displayed to specific user groups when users log in. | [optional] +**home_analysis_id** | **str** | The unique ID of the analysis that's displayed for this tenant when a user logs in. | [optional] +**industry_code** | **int** | The 6-digit NAICS code for the industry to which the analytic tenant belongs. | [optional] +**primary_business_location** | [**BusinessLocationDTO**](BusinessLocationDTO.md) | The primary location of operations or where business is performed. If undefined, it is omitted from the response. | [optional] +**provision_date** | **str** | The date that the tenant was created. | [optional] +**purchased_modules** | **List[str]** | The modules assigned to the analytic tenant. | [optional] +**sso_instance_issuers** | **List[str]** | A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant. | [optional] +**status** | **str** | Whether the tenant is enabled or disabled. | [optional] +**tenant_code** | **str** | The tenant code of the analytic tenant. For example, \"WFF_j1r~i1o\" | [optional] +**tenant_display_name** | **str** | An identifiable tenant name that is displayed within Visier. For example, \"Callisto\". | [optional] +**vanity_url_name** | **str** | The name of the administrating tenant used in Visier URLs. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.tenant_management_api_get_response_dto import TenantManagementAPIGetResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantManagementAPIGetResponseDTO from a JSON string +tenant_management_api_get_response_dto_instance = TenantManagementAPIGetResponseDTO.from_json(json) +# print the JSON string representation of the object +print(TenantManagementAPIGetResponseDTO.to_json()) + +# convert the object into a dict +tenant_management_api_get_response_dto_dict = tenant_management_api_get_response_dto_instance.to_dict() +# create an instance of TenantManagementAPIGetResponseDTO from a dict +tenant_management_api_get_response_dto_from_dict = TenantManagementAPIGetResponseDTO.from_dict(tenant_management_api_get_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantManagementAPIListResponseDTO.md b/src/visier.sdk.api.administration/docs/TenantManagementAPIListResponseDTO.md new file mode 100644 index 000000000..0b87f6c41 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantManagementAPIListResponseDTO.md @@ -0,0 +1,31 @@ +# TenantManagementAPIListResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | The limit of analytic tenants to return. The maximum value is 1000. The default is 150. | [optional] +**start** | **int** | The index to start retrieving values from, also known as offset. The index begins at 0. | [optional] +**tenants** | [**List[TenantManagementAPIGetResponseDTO]**](TenantManagementAPIGetResponseDTO.md) | A list of objects representing all the analytic tenants. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.tenant_management_api_list_response_dto import TenantManagementAPIListResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantManagementAPIListResponseDTO from a JSON string +tenant_management_api_list_response_dto_instance = TenantManagementAPIListResponseDTO.from_json(json) +# print the JSON string representation of the object +print(TenantManagementAPIListResponseDTO.to_json()) + +# convert the object into a dict +tenant_management_api_list_response_dto_dict = tenant_management_api_list_response_dto_instance.to_dict() +# create an instance of TenantManagementAPIListResponseDTO from a dict +tenant_management_api_list_response_dto_from_dict = TenantManagementAPIListResponseDTO.from_dict(tenant_management_api_list_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantManagementAPIUpdateRequestDTO.md b/src/visier.sdk.api.administration/docs/TenantManagementAPIUpdateRequestDTO.md new file mode 100644 index 000000000..4846342db --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantManagementAPIUpdateRequestDTO.md @@ -0,0 +1,44 @@ +# TenantManagementAPIUpdateRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**click_through_link** | **str** | A custom URL to redirect users into your portal to see the relevant content. This URL is used for links that are shared by and with your users through the sharing capability or email content. This is optional. Causes the API request to take longer because it must publish a project to production. | [optional] +**custom_properties** | [**List[CustomPropertyDTO]**](CustomPropertyDTO.md) | A list of objects that represent different customizable properties for the analytic tenant. This is optional. | [optional] +**default_currency** | **str** | The default currency to show in the application for the tenant. | [optional] +**embeddable_domains** | **List[str]** | A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. If domains at the administrating tenant level match the domains at the analytic tenant level, you do not need to include a domain for each analytic tenant. This is optional. | [optional] +**enabled** | **bool** | If true, the tenant is enabled. Enabled tenants have access to Visier visualizations. | [optional] +**home_analysis_by_user_group** | [**List[HomeAnalysisByUserGroupDTO]**](HomeAnalysisByUserGroupDTO.md) | A list of objects representing the analysis to display to specific user groups when users log in. This is optional. Causes the API request to take longer because it must publish a project to production. | [optional] +**home_analysis_id** | **str** | The unique ID of the analysis to display for this tenant when a user logs in. This is optional. Causes the API request to take longer because it must publish a project to production. Retrieve the ID by opening an analysis in the production version of a tenant and copying the string after the last forward slash (/) in the URL. For example: https://jupiter.visier.com/hr/prod/appcontainer?previewId=-eZPm8xvo3SUMpD4Q5pdE-6mCj9CQ9K699XgqRGwtOxagH5x2IzDFawlWn3hYqFEfU7nP0YK9ASEzmrNfAihGg..&previewType=Production#/analytics/myanalyses/8a4c1d4f-eb61-4da0-9e5b-55bef757c30e The `homeAnalysisID` is 8a4c1d4f-eb61-4da0-9e5b-55bef757c30e. Alternatively, retrieve the ID by copying the `contentId` found by following the `Embed a visualization` documentation. | [optional] +**industry_code** | **int** | The 6-digit NAICS code for the industry to which the analytic tenant belongs. If the code is unknown, type 000000. For 2-digit codes, add trailing zeros at the end to reach 6 digits, such as 620000. Required if creating new tenants. | [optional] +**primary_business_location** | [**BusinessLocationDTO**](BusinessLocationDTO.md) | The primary location of operations or where business is performed. This field is optional. | [optional] +**purchased_modules** | **List[str]** | A comma-separated collection of strings that represent the Visier modules assigned to the new analytic tenant. Required if creating new tenants. | [optional] +**sso_instance_issuers** | **List[str]** | A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant. This is optional. | [optional] +**tenant_code** | **str** | A unique identifier for the newly created analytic tenant. Required if creating new tenants. | [optional] +**tenant_display_name** | **str** | A new display name to assign to the analytic tenant. Required if creating new tenants. | [optional] +**tenant_short_name** | **str** | A new short name to assign to the tenant. Required for analytic tenants. | [optional] +**update_action** | **str** | Specifies the way you want to update values. Default is MERGE. Valid values: - `MERGE`: Combine the existing values with the new values. - `REPLACE`: Remove existing values and let the new values take their place. | [optional] +**vanity_url_name** | **str** | A new vanity name to assign to the tenant. Required for analytic tenants. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.tenant_management_api_update_request_dto import TenantManagementAPIUpdateRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantManagementAPIUpdateRequestDTO from a JSON string +tenant_management_api_update_request_dto_instance = TenantManagementAPIUpdateRequestDTO.from_json(json) +# print the JSON string representation of the object +print(TenantManagementAPIUpdateRequestDTO.to_json()) + +# convert the object into a dict +tenant_management_api_update_request_dto_dict = tenant_management_api_update_request_dto_instance.to_dict() +# create an instance of TenantManagementAPIUpdateRequestDTO from a dict +tenant_management_api_update_request_dto_from_dict = TenantManagementAPIUpdateRequestDTO.from_dict(tenant_management_api_update_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantManagementAPIUpdateResponseDTO.md b/src/visier.sdk.api.administration/docs/TenantManagementAPIUpdateResponseDTO.md new file mode 100644 index 000000000..32475be62 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantManagementAPIUpdateResponseDTO.md @@ -0,0 +1,42 @@ +# TenantManagementAPIUpdateResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**click_through_link** | **str** | A custom URL to redirect users into your portal to see the relevant content. This URL is used for links that are shared by and with your users through the sharing capability or email content. | [optional] +**custom_properties** | [**List[CustomPropertyDTO]**](CustomPropertyDTO.md) | A list of objects that represent different customizable properties for the analytic tenant. | [optional] +**default_currency** | **str** | The default currency to show in the application for the tenant. | [optional] +**embeddable_domains** | **List[str]** | A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. If domains at the administrating tenant level match the domains at the analytic tenant level, you do not need to include a domain for each analytic tenant. | [optional] +**home_analysis_by_user_group** | [**List[HomeAnalysisByUserGroupDTO]**](HomeAnalysisByUserGroupDTO.md) | A list of objects representing the analysis to display to specific user groups when users log in. | [optional] +**home_analysis_id** | **str** | The unique ID of the analysis to display for this tenant when a user logs in. This is optional. Retrieve the ID by opening an analysis in the production version of a tenant and copying the string after the last forward slash (/) in the URL. For example: https://jupiter.visier.com/hr/prod/appcontainer?previewId=-eZPm8xvo3SUMpD4Q5pdE-6mCj9CQ9K699XgqRGwtOxagH5x2IzDFawlWn3hYqFEfU7nP0YK9ASEzmrNfAihGg..&previewType=Production#/analytics/myanalyses/8a4c1d4f-eb61-4da0-9e5b-55bef757c30e. The `homeAnalysisID` is 8a4c1d4f-eb61-4da0-9e5b-55bef757c30e. Alternatively, retrieve the ID by copying the `contentId` found by following the `Embed a visualization` documentation. | [optional] +**industry_code** | **int** | The 6-digit NAICS code for the industry to which the analytic tenant belongs. | [optional] +**primary_business_location** | [**BusinessLocationDTO**](BusinessLocationDTO.md) | The primary location of operations or where business is performed. If undefined, it is omitted from the response. | [optional] +**purchased_modules** | **List[str]** | A comma-separated collection of strings that represent the Visier modules assigned to the new analytic tenant. | [optional] +**sso_instance_issuers** | **List[str]** | A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant. | [optional] +**status** | **str** | Whether the tenant is enabled or disabled. Enabled tenants have access to Visier visualizations. | [optional] +**tenant_code** | **str** | The unique identifier of the newly created analytic tenant. | [optional] +**tenant_display_name** | **str** | A comma-separated collection of strings that represent the Visier modules assigned to the new analytic tenant. | [optional] +**vanity_url_name** | **str** | The name of the administrating tenant used in Visier URLs. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.tenant_management_api_update_response_dto import TenantManagementAPIUpdateResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantManagementAPIUpdateResponseDTO from a JSON string +tenant_management_api_update_response_dto_instance = TenantManagementAPIUpdateResponseDTO.from_json(json) +# print the JSON string representation of the object +print(TenantManagementAPIUpdateResponseDTO.to_json()) + +# convert the object into a dict +tenant_management_api_update_response_dto_dict = tenant_management_api_update_response_dto_instance.to_dict() +# create an instance of TenantManagementAPIUpdateResponseDTO from a dict +tenant_management_api_update_response_dto_from_dict = TenantManagementAPIUpdateResponseDTO.from_dict(tenant_management_api_update_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantModuleDTO.md b/src/visier.sdk.api.administration/docs/TenantModuleDTO.md new file mode 100644 index 000000000..f1b146362 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantModuleDTO.md @@ -0,0 +1,31 @@ +# TenantModuleDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | An identifiable name that is displayed within Visier. For example, \"TALENT\". | [optional] +**module_settings** | [**ModuleSettingsDTO**](ModuleSettingsDTO.md) | The settings associated with the module. | [optional] +**symbol_name** | **str** | The symbol name of the module. For example, \"Talent_Management\". | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.tenant_module_dto import TenantModuleDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantModuleDTO from a JSON string +tenant_module_dto_instance = TenantModuleDTO.from_json(json) +# print the JSON string representation of the object +print(TenantModuleDTO.to_json()) + +# convert the object into a dict +tenant_module_dto_dict = tenant_module_dto_instance.to_dict() +# create an instance of TenantModuleDTO from a dict +tenant_module_dto_from_dict = TenantModuleDTO.from_dict(tenant_module_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantPreviewEntriesSummaryDTO.md b/src/visier.sdk.api.administration/docs/TenantPreviewEntriesSummaryDTO.md new file mode 100644 index 000000000..8affc8e4e --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantPreviewEntriesSummaryDTO.md @@ -0,0 +1,32 @@ +# TenantPreviewEntriesSummaryDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_version** | **str** | The data version ID. | [optional] +**data_version_date** | **str** | The date that the data version was created. | [optional] +**metrics** | [**List[MetricValidationSummaryDTO]**](MetricValidationSummaryDTO.md) | A list of metrics and their values. | [optional] +**tenant_code** | **str** | The tenant code of the analytic tenant. For example, \"WFF_j1r~i1o\". | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.tenant_preview_entries_summary_dto import TenantPreviewEntriesSummaryDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantPreviewEntriesSummaryDTO from a JSON string +tenant_preview_entries_summary_dto_instance = TenantPreviewEntriesSummaryDTO.from_json(json) +# print the JSON string representation of the object +print(TenantPreviewEntriesSummaryDTO.to_json()) + +# convert the object into a dict +tenant_preview_entries_summary_dto_dict = tenant_preview_entries_summary_dto_instance.to_dict() +# create an instance of TenantPreviewEntriesSummaryDTO from a dict +tenant_preview_entries_summary_dto_from_dict = TenantPreviewEntriesSummaryDTO.from_dict(tenant_preview_entries_summary_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantPreviewEntriesSummaryListDTO.md b/src/visier.sdk.api.administration/docs/TenantPreviewEntriesSummaryListDTO.md new file mode 100644 index 000000000..a3931cf00 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantPreviewEntriesSummaryListDTO.md @@ -0,0 +1,31 @@ +# TenantPreviewEntriesSummaryListDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | The number of analytic tenants to retrieve. The maximum number to retrieve is 1000. | [optional] +**start** | **int** | The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] +**tenants** | [**List[TenantPreviewEntriesSummaryDTO]**](TenantPreviewEntriesSummaryDTO.md) | A list of objects representing all the analytic tenants. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.tenant_preview_entries_summary_list_dto import TenantPreviewEntriesSummaryListDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantPreviewEntriesSummaryListDTO from a JSON string +tenant_preview_entries_summary_list_dto_instance = TenantPreviewEntriesSummaryListDTO.from_json(json) +# print the JSON string representation of the object +print(TenantPreviewEntriesSummaryListDTO.to_json()) + +# convert the object into a dict +tenant_preview_entries_summary_list_dto_dict = tenant_preview_entries_summary_list_dto_instance.to_dict() +# create an instance of TenantPreviewEntriesSummaryListDTO from a dict +tenant_preview_entries_summary_list_dto_from_dict = TenantPreviewEntriesSummaryListDTO.from_dict(tenant_preview_entries_summary_list_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantProvisionAPIDTO.md b/src/visier.sdk.api.administration/docs/TenantProvisionAPIDTO.md new file mode 100644 index 000000000..adafd8352 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantProvisionAPIDTO.md @@ -0,0 +1,35 @@ +# TenantProvisionAPIDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**custom_properties** | [**List[CustomTenantPropertyDTO]**](CustomTenantPropertyDTO.md) | A set of key-value pairs that represent different customizable properties for the analytic tenant. | [optional] +**embeddable_domains** | **List[str]** | A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. If domains at the administrating tenant level match the domains at the analytic tenant level, you do not need to include a domain for each analytic tenant. | [optional] +**industry_code** | **int** | The 6-digit NAICS code for the industry to which the analytic tenant belongs. If the code is unknown, type 000000. For 2-digit codes, add trailing zeros at the end to reach 6 digits, such as 620000. | [optional] +**purchased_modules** | **List[str]** | A comma-separated list of strings that represent the Visier modules assigned to the analytic tenant. | [optional] +**sso_instance_issuers** | **List[str]** | A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant. | [optional] +**tenant_code** | **str** | The unique identifier of the analytic tenant. | [optional] +**tenant_display_name** | **str** | The display name that is assigned to the analytic tenant. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.tenant_provision_apidto import TenantProvisionAPIDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantProvisionAPIDTO from a JSON string +tenant_provision_apidto_instance = TenantProvisionAPIDTO.from_json(json) +# print the JSON string representation of the object +print(TenantProvisionAPIDTO.to_json()) + +# convert the object into a dict +tenant_provision_apidto_dict = tenant_provision_apidto_instance.to_dict() +# create an instance of TenantProvisionAPIDTO from a dict +tenant_provision_apidto_from_dict = TenantProvisionAPIDTO.from_dict(tenant_provision_apidto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantStatusAPIDTO.md b/src/visier.sdk.api.administration/docs/TenantStatusAPIDTO.md new file mode 100644 index 000000000..7ad8ef1bf --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantStatusAPIDTO.md @@ -0,0 +1,32 @@ +# TenantStatusAPIDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**can_administer_other_tenants** | **bool** | If true, the tenant is an administrating tenant. | [optional] +**status** | **str** | Whether the tenant is enabled or disabled. | [optional] +**tenant_code** | **str** | The unique identifier for the analytic tenant. | [optional] +**tenant_display_name** | **str** | The identifiable tenant name that is displayed within Visier. For example, \"Callisto\". | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.tenant_status_apidto import TenantStatusAPIDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantStatusAPIDTO from a JSON string +tenant_status_apidto_instance = TenantStatusAPIDTO.from_json(json) +# print the JSON string representation of the object +print(TenantStatusAPIDTO.to_json()) + +# convert the object into a dict +tenant_status_apidto_dict = tenant_status_apidto_instance.to_dict() +# create an instance of TenantStatusAPIDTO from a dict +tenant_status_apidto_from_dict = TenantStatusAPIDTO.from_dict(tenant_status_apidto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/TenantsV1Api.md b/src/visier.sdk.api.administration/docs/TenantsV1Api.md new file mode 100644 index 000000000..b5fbba344 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantsV1Api.md @@ -0,0 +1,647 @@ +# visier.sdk.api.administration.TenantsV1Api + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**add_tenant**](TenantsV1Api.md#add_tenant) | **POST** /v1/admin/tenants | Add an analytic tenant +[**delete_tenant**](TenantsV1Api.md#delete_tenant) | **DELETE** /v1/admin/tenants/{tenantId} | Deprovision an analytic tenant +[**disable_tenant**](TenantsV1Api.md#disable_tenant) | **PUT** /v1/admin/tenants/{tenantId}/disable | Disable an analytic tenant +[**enable_tenant**](TenantsV1Api.md#enable_tenant) | **PUT** /v1/admin/tenants/{tenantId}/enable | Enable an analytic tenant +[**get_tenant**](TenantsV1Api.md#get_tenant) | **GET** /v1/admin/tenants/{tenantId} | Retrieve an analytic tenant's details +[**get_tenants**](TenantsV1Api.md#get_tenants) | **GET** /v1/admin/tenants | Retrieve a list of all analytic tenants +[**update_tenant**](TenantsV1Api.md#update_tenant) | **PUT** /v1/admin/tenants/{tenantId} | Update an analytic tenant +[**validate_tenant**](TenantsV1Api.md#validate_tenant) | **GET** /v1/op/validation/tenants/{tenantId} | Validate an analytic tenant's metric values +[**validate_tenants**](TenantsV1Api.md#validate_tenants) | **GET** /v1/op/validation/tenants | Validate metric values for all analytic tenants + + +# **add_tenant** +> TenantProvisionAPIDTO add_tenant(tenant_provision_apidto) + +Add an analytic tenant + +Prior to processing and loading an analytic tenant's data files, you must provision, or create, that tenant. A provisioned analytic tenant is automatically enabled. If the tenant's data is loaded after provisioning, that data is immediately accessible by their users. Create an analytic tenant and identify the applications assigned to the tenant. Visier organizes content under a set of modules. Contact Visier Support to determine the list of modules allocated to you. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.tenant_provision_apidto import TenantProvisionAPIDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV1Api(api_client) + tenant_provision_apidto = visier.sdk.api.administration.TenantProvisionAPIDTO() # TenantProvisionAPIDTO | + + try: + # Add an analytic tenant + api_response = api_instance.add_tenant(tenant_provision_apidto) + print("The response of TenantsV1Api->add_tenant:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV1Api->add_tenant: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_provision_apidto** | [**TenantProvisionAPIDTO**](TenantProvisionAPIDTO.md)| | + +### Return type + +[**TenantProvisionAPIDTO**](TenantProvisionAPIDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_tenant** +> TenantStatusAPIDTO delete_tenant(tenant_id) + +Deprovision an analytic tenant + +Warning! Deprovisioning an analytic tenant is not reversible. Before deprovisioning, you must disable an analytic tenant. For more information, see **`/v1/admin/tenants/{tenantId}/disable`**. This API removes an analytic tenant permanently from the Visier system. If you are unsure whether an analytic tenant may be re-enabled on any of the Visier modules at any time, you may instead want to disable the analytic tenant. If successful, the response returns the status \"Deprovisioned\". This indicates that the tenant is scheduled for deprovisioning, which may take several days to complete. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.tenant_status_apidto import TenantStatusAPIDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV1Api(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. + + try: + # Deprovision an analytic tenant + api_response = api_instance.delete_tenant(tenant_id) + print("The response of TenantsV1Api->delete_tenant:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV1Api->delete_tenant: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. | + +### Return type + +[**TenantStatusAPIDTO**](TenantStatusAPIDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **disable_tenant** +> TenantStatusAPIDTO disable_tenant(tenant_id) + +Disable an analytic tenant + +Disable an analytic tenant and remove access to Visier visualizations for the tenant's users. You must disable an analytic tenant before deprovisioning, or removing, it from the system. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.tenant_status_apidto import TenantStatusAPIDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV1Api(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. + + try: + # Disable an analytic tenant + api_response = api_instance.disable_tenant(tenant_id) + print("The response of TenantsV1Api->disable_tenant:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV1Api->disable_tenant: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. | + +### Return type + +[**TenantStatusAPIDTO**](TenantStatusAPIDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **enable_tenant** +> TenantStatusAPIDTO enable_tenant(tenant_id) + +Enable an analytic tenant + +An analytic tenant is enabled when you provision or create the tenant. Use this API to enable a tenant that you have specifically disabled; for example, if you previously did not want that tenant to have access to Visier visualizations, but now do. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.tenant_status_apidto import TenantStatusAPIDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV1Api(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. + + try: + # Enable an analytic tenant + api_response = api_instance.enable_tenant(tenant_id) + print("The response of TenantsV1Api->enable_tenant:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV1Api->enable_tenant: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. | + +### Return type + +[**TenantStatusAPIDTO**](TenantStatusAPIDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_tenant** +> TenantDetailAPIDTO get_tenant(tenant_id) + +Retrieve an analytic tenant's details + +Retrieve all details for a specified analytic tenant. Doing so allows you to see the current state of the tenant, the content modules assigned to it, and all other relevant details for the tenant. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.tenant_detail_apidto import TenantDetailAPIDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV1Api(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. + + try: + # Retrieve an analytic tenant's details + api_response = api_instance.get_tenant(tenant_id) + print("The response of TenantsV1Api->get_tenant:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV1Api->get_tenant: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. | + +### Return type + +[**TenantDetailAPIDTO**](TenantDetailAPIDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_tenants** +> AllTenantsStatusAPIDTO get_tenants(limit=limit, start=start, details=details) + +Retrieve a list of all analytic tenants + +Retrieve the full list of analytic tenants managed by you with their current states and the content modules assigned to them, and all other relevant details for the tenants if requested. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.all_tenants_status_apidto import AllTenantsStatusAPIDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV1Api(api_client) + limit = 56 # int | The limit of analytic tenant details to retrieve. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + details = True # bool | If `true`, the response returns information about the data version and modules. (optional) + + try: + # Retrieve a list of all analytic tenants + api_response = api_instance.get_tenants(limit=limit, start=start, details=details) + print("The response of TenantsV1Api->get_tenants:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV1Api->get_tenants: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **int**| The limit of analytic tenant details to retrieve. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + **details** | **bool**| If `true`, the response returns information about the data version and modules. | [optional] + +### Return type + +[**AllTenantsStatusAPIDTO**](AllTenantsStatusAPIDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_tenant** +> TenantProvisionAPIDTO update_tenant(tenant_id, update_tenant_model) + +Update an analytic tenant + +You may need to update analytic tenants as they grow and as your organization upgrades the content available to them. You may also encounter a scenario where an analytic tenant transitions across different industries. To ensure that the analytic tenant receives accurate benchmarks and predictive functionality, update their industry code in the Visier system. You can use this API to update any field on an analytic tenant, except `tenantCode`. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.tenant_provision_apidto import TenantProvisionAPIDTO +from visier.sdk.api.administration.models.update_tenant_model import UpdateTenantModel +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV1Api(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant to update. + update_tenant_model = visier.sdk.api.administration.UpdateTenantModel() # UpdateTenantModel | + + try: + # Update an analytic tenant + api_response = api_instance.update_tenant(tenant_id, update_tenant_model) + print("The response of TenantsV1Api->update_tenant:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV1Api->update_tenant: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant to update. | + **update_tenant_model** | [**UpdateTenantModel**](UpdateTenantModel.md)| | + +### Return type + +[**TenantProvisionAPIDTO**](TenantProvisionAPIDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **validate_tenant** +> TenantPreviewEntriesSummaryDTO validate_tenant(tenant_id) + +Validate an analytic tenant's metric values + +Retrieve the metric values for an individual analytic tenant. The metric values included in the response are the tenant's configured summary metrics. Administrators can configure summary metrics in a project: - Sign in to Visier as an administrator. - In a project, on the navigation bar, click the **Home button**. - Click **Dashboard**, and then click **Edit Summary Metrics**. - Select the metrics that you want to validate, and then close the **Summary Metrics** dialog. - Publish the project to production. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.tenant_preview_entries_summary_dto import TenantPreviewEntriesSummaryDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV1Api(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. + + try: + # Validate an analytic tenant's metric values + api_response = api_instance.validate_tenant(tenant_id) + print("The response of TenantsV1Api->validate_tenant:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV1Api->validate_tenant: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. | + +### Return type + +[**TenantPreviewEntriesSummaryDTO**](TenantPreviewEntriesSummaryDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **validate_tenants** +> TenantPreviewEntriesSummaryListDTO validate_tenants(limit=limit, start=start) + +Validate metric values for all analytic tenants + +As you onboard more analytic tenants, you can validate the data visible to your users to ensure it matches the source systems from which it was exported and that it matches what your expectations are for this data. The metric values included in the response are the tenant's configured summary metrics. Administrators can configure summary metrics in a project: - Sign in to Visier as an administrator. - In a project, on the navigation bar, click the **Home** button. - Click **Dashboard**, and then click **Edit Summary Metrics**. - Select the metrics that you want to validate, and then close the **Summary Metrics** dialog. - Publish the project to production. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.tenant_preview_entries_summary_list_dto import TenantPreviewEntriesSummaryListDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV1Api(api_client) + limit = 56 # int | The limit of analytic tenant details to retrieve. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + + try: + # Validate metric values for all analytic tenants + api_response = api_instance.validate_tenants(limit=limit, start=start) + print("The response of TenantsV1Api->validate_tenants:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV1Api->validate_tenants: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **int**| The limit of analytic tenant details to retrieve. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + +### Return type + +[**TenantPreviewEntriesSummaryListDTO**](TenantPreviewEntriesSummaryListDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.administration/docs/TenantsV2Api.md b/src/visier.sdk.api.administration/docs/TenantsV2Api.md new file mode 100644 index 000000000..871329f6f --- /dev/null +++ b/src/visier.sdk.api.administration/docs/TenantsV2Api.md @@ -0,0 +1,370 @@ +# visier.sdk.api.administration.TenantsV2Api + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_tenant**](TenantsV2Api.md#create_tenant) | **POST** /v2/admin/tenants | Add an analytic tenant +[**delete_tenant**](TenantsV2Api.md#delete_tenant) | **DELETE** /v2/admin/tenants/{tenantId} | Deprovision an analytic tenant +[**list_tenants**](TenantsV2Api.md#list_tenants) | **GET** /v2/admin/tenants | Retrieve a list of all analytic tenants +[**tenant_info**](TenantsV2Api.md#tenant_info) | **GET** /v2/admin/tenants/{tenantId} | Retrieve an analytic tenant's details +[**update_tenant**](TenantsV2Api.md#update_tenant) | **PUT** /v2/admin/tenants/{tenantId} | Update an analytic tenant + + +# **create_tenant** +> TenantManagementAPIUpdateResponseDTO create_tenant(tenant_management_api_update_request_dto) + +Add an analytic tenant + +Prior to processing and loading an analytic tenant's data files, you must provision, or create, that tenant. A provisioned analytic tenant is automatically enabled. If the tenant's data is loaded after provisioning, that data is immediately accessible by their users. Create an analytic tenant and identify the applications assigned to the tenant. Visier organizes content under a set of modules. Contact Visier Support to determine the list of modules allocated to you. **Note:** API requests that contain `homeAnalysisId`, `homeAnalysisByUserGroup`, `clickThroughLink`, or `defaultCurrency` take longer to run because they require publishing a project to production. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.tenant_management_api_update_request_dto import TenantManagementAPIUpdateRequestDTO +from visier.sdk.api.administration.models.tenant_management_api_update_response_dto import TenantManagementAPIUpdateResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV2Api(api_client) + tenant_management_api_update_request_dto = visier.sdk.api.administration.TenantManagementAPIUpdateRequestDTO() # TenantManagementAPIUpdateRequestDTO | + + try: + # Add an analytic tenant + api_response = api_instance.create_tenant(tenant_management_api_update_request_dto) + print("The response of TenantsV2Api->create_tenant:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV2Api->create_tenant: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_management_api_update_request_dto** | [**TenantManagementAPIUpdateRequestDTO**](TenantManagementAPIUpdateRequestDTO.md)| | + +### Return type + +[**TenantManagementAPIUpdateResponseDTO**](TenantManagementAPIUpdateResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_tenant** +> TenantStatusAPIDTO delete_tenant(tenant_id) + +Deprovision an analytic tenant + +Warning! Deprovisioning an analytic tenant is not reversible. Before deprovisioning, you must disable an analytic tenant. For more information, see **`/v1/admin/tenants/{tenantId}/disable`**. This API removes an analytic tenant permanently from the Visier system. If you are unsure whether an analytic tenant may be re-enabled on any of the Visier modules at any time, you may instead want to disable the analytic tenant. If successful, the response returns the status \"Deprovisioned\". This indicates that the tenant is scheduled for deprovisioning, which may take several days to complete. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.tenant_status_apidto import TenantStatusAPIDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV2Api(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. + + try: + # Deprovision an analytic tenant + api_response = api_instance.delete_tenant(tenant_id) + print("The response of TenantsV2Api->delete_tenant:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV2Api->delete_tenant: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. | + +### Return type + +[**TenantStatusAPIDTO**](TenantStatusAPIDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_tenants** +> TenantManagementAPIListResponseDTO list_tenants(mask_message, limit=limit, start=start) + +Retrieve a list of all analytic tenants + +Retrieve the full list of analytic tenants managed by you with their current states and the content modules assigned to them, and all other relevant details for the tenants if requested. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.mask_message import MaskMessage +from visier.sdk.api.administration.models.tenant_management_api_list_response_dto import TenantManagementAPIListResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV2Api(api_client) + mask_message = visier.sdk.api.administration.MaskMessage() # MaskMessage | + limit = 56 # int | The maximum number of tenants to return. Default is 400. (optional) + start = 56 # int | The starting index of the first tenant to return. Default is 0. (optional) + + try: + # Retrieve a list of all analytic tenants + api_response = api_instance.list_tenants(mask_message, limit=limit, start=start) + print("The response of TenantsV2Api->list_tenants:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV2Api->list_tenants: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **mask_message** | [**MaskMessage**](MaskMessage.md)| | + **limit** | **int**| The maximum number of tenants to return. Default is 400. | [optional] + **start** | **int**| The starting index of the first tenant to return. Default is 0. | [optional] + +### Return type + +[**TenantManagementAPIListResponseDTO**](TenantManagementAPIListResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **tenant_info** +> TenantManagementAPIGetResponseDTO tenant_info(tenant_id, mask_message) + +Retrieve an analytic tenant's details + +Retrieve the details for a specified analytic tenant. Doing so allows you to see the current state of the tenant, the content modules assigned to it, and all other relevant details for the tenant. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.mask_message import MaskMessage +from visier.sdk.api.administration.models.tenant_management_api_get_response_dto import TenantManagementAPIGetResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV2Api(api_client) + tenant_id = 'tenant_id_example' # str | The ID of the tenant to retrieve. + mask_message = visier.sdk.api.administration.MaskMessage() # MaskMessage | + + try: + # Retrieve an analytic tenant's details + api_response = api_instance.tenant_info(tenant_id, mask_message) + print("The response of TenantsV2Api->tenant_info:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV2Api->tenant_info: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| The ID of the tenant to retrieve. | + **mask_message** | [**MaskMessage**](MaskMessage.md)| | + +### Return type + +[**TenantManagementAPIGetResponseDTO**](TenantManagementAPIGetResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_tenant** +> TenantManagementAPIUpdateResponseDTO update_tenant(tenant_id, tenant_management_api_update_request_dto) + +Update an analytic tenant + +You may need to update analytic tenants as they grow and as your organization upgrades the content available to them. You may also encounter a scenario where an analytic tenant transitions across different industries. To make updates to your tenants, use this API. * To ensure that the analytic tenant receives accurate benchmarks and predictive functionality, update their industry code in the Visier system. * To programmatically assign the Home analysis that analytic tenants see at login, use this API to set the default Home analysis for a tenant and specific user groups of that tenant. You can use this API to update any field on an analytic tenant, except `tenantCode`. **Note:** API requests that contain `homeAnalysisId`, `homeAnalysisByUserGroup`, `clickThroughLink`, or `defaultCurrency` take longer to run because they require publishing a project to production. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.tenant_management_api_update_request_dto import TenantManagementAPIUpdateRequestDTO +from visier.sdk.api.administration.models.tenant_management_api_update_response_dto import TenantManagementAPIUpdateResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.TenantsV2Api(api_client) + tenant_id = 'tenant_id_example' # str | + tenant_management_api_update_request_dto = visier.sdk.api.administration.TenantManagementAPIUpdateRequestDTO() # TenantManagementAPIUpdateRequestDTO | + + try: + # Update an analytic tenant + api_response = api_instance.update_tenant(tenant_id, tenant_management_api_update_request_dto) + print("The response of TenantsV2Api->update_tenant:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TenantsV2Api->update_tenant: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_id** | **str**| | + **tenant_management_api_update_request_dto** | [**TenantManagementAPIUpdateRequestDTO**](TenantManagementAPIUpdateRequestDTO.md)| | + +### Return type + +[**TenantManagementAPIUpdateResponseDTO**](TenantManagementAPIUpdateResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.administration/docs/UpdateTenantModel.md b/src/visier.sdk.api.administration/docs/UpdateTenantModel.md new file mode 100644 index 000000000..bbc24405f --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UpdateTenantModel.md @@ -0,0 +1,34 @@ +# UpdateTenantModel + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**custom_properties** | **Dict[str, str]** | A set of key-value pairs that represent different customizable properties for the analytic tenant. | [optional] +**embeddable_domains** | **List[str]** | A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. If domains at the administrating tenant level match the domains at the analytic tenant level, you do not need to include a domain for each analytic tenant. | [optional] +**industry_code** | **int** | The 6-digit NAICS code for the industry to which the analytic tenant belongs. If the code is unknown, type 000000. For 2-digit codes, add trailing zeros at the end to reach 6 digits, such as 620000. | [optional] +**purchased_modules** | **List[str]** | A comma-separated collection of strings that represent the Visier modules assigned to the new analytic tenant. | [optional] +**sso_instance_issuers** | **List[str]** | A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant. | [optional] +**tenant_display_name** | **str** | A display name that is assigned to the new analytic tenant. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.update_tenant_model import UpdateTenantModel + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateTenantModel from a JSON string +update_tenant_model_instance = UpdateTenantModel.from_json(json) +# print the JSON string representation of the object +print(UpdateTenantModel.to_json()) + +# convert the object into a dict +update_tenant_model_dict = update_tenant_model_instance.to_dict() +# create an instance of UpdateTenantModel from a dict +update_tenant_model_from_dict = UpdateTenantModel.from_dict(update_tenant_model_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserCreationAPIRequestDTO.md b/src/visier.sdk.api.administration/docs/UserCreationAPIRequestDTO.md new file mode 100644 index 000000000..d69ce875c --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserCreationAPIRequestDTO.md @@ -0,0 +1,33 @@ +# UserCreationAPIRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_enabled** | **str** | If false, the user account is disabled. | [optional] +**display_name** | **str** | An identifiable name to display within Visier. For example, \"John Smith\". | [optional] +**email** | **str** | The user's email. This is used if the user's email is different from their username. For example, \"john.doe@visier.com\". | [optional] +**employee_id** | **str** | If applicable, and if available, the user employee ID in the data. | [optional] +**username** | **str** | The user's username. This is typically the user's email, such as john@visier.com. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_creation_api_request_dto import UserCreationAPIRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserCreationAPIRequestDTO from a JSON string +user_creation_api_request_dto_instance = UserCreationAPIRequestDTO.from_json(json) +# print the JSON string representation of the object +print(UserCreationAPIRequestDTO.to_json()) + +# convert the object into a dict +user_creation_api_request_dto_dict = user_creation_api_request_dto_instance.to_dict() +# create an instance of UserCreationAPIRequestDTO from a dict +user_creation_api_request_dto_from_dict = UserCreationAPIRequestDTO.from_dict(user_creation_api_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserCreationAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/UserCreationAPIResponseDTO.md new file mode 100644 index 000000000..5756590a8 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserCreationAPIResponseDTO.md @@ -0,0 +1,34 @@ +# UserCreationAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_enabled** | **str** | If true, the user account is enabled. | [optional] +**display_name** | **str** | An identifiable name to display within Visier. For example, \"John Smith\". | [optional] +**email** | **str** | The user's email address. | [optional] +**employee_id** | **str** | If applicable, and if available, the user employee ID in the data. | [optional] +**user_id** | **str** | The unique identifier associated with the user. | [optional] +**username** | **str** | The user's username. This is typically the user's email, such as john@jupiter.com. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_creation_api_response_dto import UserCreationAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserCreationAPIResponseDTO from a JSON string +user_creation_api_response_dto_instance = UserCreationAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(UserCreationAPIResponseDTO.to_json()) + +# convert the object into a dict +user_creation_api_response_dto_dict = user_creation_api_response_dto_instance.to_dict() +# create an instance of UserCreationAPIResponseDTO from a dict +user_creation_api_response_dto_from_dict = UserCreationAPIResponseDTO.from_dict(user_creation_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGetAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/UserGetAPIResponseDTO.md new file mode 100644 index 000000000..7db8929e9 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGetAPIResponseDTO.md @@ -0,0 +1,38 @@ +# UserGetAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_enabled** | **bool** | If false, the user account is disabled. | [optional] +**display_name** | **str** | An identifiable name to display within Visier. For example, \"John Smith\". | [optional] +**email** | **str** | The user's email address. | [optional] +**employee_id** | **str** | If applicable, and if available, the user employee ID in the data. | [optional] +**last_login** | [**LastLoginDTO**](LastLoginDTO.md) | An object that represents the time that the user last logged into Visier. | [optional] +**permissions** | [**AllPermissionsAssignedForLocalTenantDTO**](AllPermissionsAssignedForLocalTenantDTO.md) | A list of objects representing the user's permissions. | [optional] +**profiles** | [**AllProfileAssignedForLocalTenantDTO**](AllProfileAssignedForLocalTenantDTO.md) | A list of objects representing the list of available profiles. | [optional] +**user_groups** | [**AllUserGroupsAssignedForLocalTenantDTO**](AllUserGroupsAssignedForLocalTenantDTO.md) | A list of objects representing the available user groups. | [optional] +**user_id** | **str** | The unique identifier associated with the user. | [optional] +**username** | **str** | The user's username. This is typically the user's email, such as john@jupiter.com. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_get_api_response_dto import UserGetAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGetAPIResponseDTO from a JSON string +user_get_api_response_dto_instance = UserGetAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(UserGetAPIResponseDTO.to_json()) + +# convert the object into a dict +user_get_api_response_dto_dict = user_get_api_response_dto_instance.to_dict() +# create an instance of UserGetAPIResponseDTO from a dict +user_get_api_response_dto_from_dict = UserGetAPIResponseDTO.from_dict(user_get_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupAssignedForLocalTenantDTO.md b/src/visier.sdk.api.administration/docs/UserGroupAssignedForLocalTenantDTO.md new file mode 100644 index 000000000..98f00125d --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupAssignedForLocalTenantDTO.md @@ -0,0 +1,30 @@ +# UserGroupAssignedForLocalTenantDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | An identifiable user group name to display in Visier, such as \"Leadership User Group\". | [optional] +**user_group_id** | **str** | The user group ID. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_assigned_for_local_tenant_dto import UserGroupAssignedForLocalTenantDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupAssignedForLocalTenantDTO from a JSON string +user_group_assigned_for_local_tenant_dto_instance = UserGroupAssignedForLocalTenantDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupAssignedForLocalTenantDTO.to_json()) + +# convert the object into a dict +user_group_assigned_for_local_tenant_dto_dict = user_group_assigned_for_local_tenant_dto_instance.to_dict() +# create an instance of UserGroupAssignedForLocalTenantDTO from a dict +user_group_assigned_for_local_tenant_dto_from_dict = UserGroupAssignedForLocalTenantDTO.from_dict(user_group_assigned_for_local_tenant_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupChangeDefinitionDTO.md b/src/visier.sdk.api.administration/docs/UserGroupChangeDefinitionDTO.md new file mode 100644 index 000000000..52138d811 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupChangeDefinitionDTO.md @@ -0,0 +1,35 @@ +# UserGroupChangeDefinitionDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | A detailed description of the population and purpose of the user group. | [optional] +**display_name** | **str** | An identifiable user group name to display in Visier, such as \"Leadership User Group\". | [optional] +**permission_ids** | [**ElementIDsDTO**](ElementIDsDTO.md) | The unique identifiers of permissions assigned to members of this user group. | [optional] +**project_id** | **str** | The project ID in which to update or create the user group. If omitted and the ProjectID request header is not defined, the change is published to production immediately. | [optional] +**tenant_code** | **str** | The code of the tenant to which the user group belongs or should be created in. Omit if creating or updating user groups in the current tenant. | [optional] +**user_group_id** | **str** | The unique identifier of the user group. Omit if creating a new user group. | [optional] +**users** | [**UserGroupChangeUsersDTO**](UserGroupChangeUsersDTO.md) | The users assigned to the user group. You can define user group members dynamically with `dynamicFilterDefinition` or manually with `includeAllUsers` or `manuallyIncludedIds`. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_change_definition_dto import UserGroupChangeDefinitionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupChangeDefinitionDTO from a JSON string +user_group_change_definition_dto_instance = UserGroupChangeDefinitionDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupChangeDefinitionDTO.to_json()) + +# convert the object into a dict +user_group_change_definition_dto_dict = user_group_change_definition_dto_instance.to_dict() +# create an instance of UserGroupChangeDefinitionDTO from a dict +user_group_change_definition_dto_from_dict = UserGroupChangeDefinitionDTO.from_dict(user_group_change_definition_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupChangeDimensionFilterDTO.md b/src/visier.sdk.api.administration/docs/UserGroupChangeDimensionFilterDTO.md new file mode 100644 index 000000000..981758eca --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupChangeDimensionFilterDTO.md @@ -0,0 +1,31 @@ +# UserGroupChangeDimensionFilterDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension_id** | **str** | The object name of the dimension. | [optional] +**member_selections** | [**List[UserGroupChangeMemberSelectionDTO]**](UserGroupChangeMemberSelectionDTO.md) | The dimension members to select in the dynamic filter. | [optional] +**subject_reference_path** | [**ElementIDsDTO**](ElementIDsDTO.md) | A qualifying path if the dimension is from an analytic object that references Employee. For example, use `subjectReferencePath` to create a filter on the `Employment_Start_Type` dimension from the `Employment_Start` object, which references `Employee`: `{ \"ids\": [ \"Employee\", \"Employment_Start\" ] }`. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_change_dimension_filter_dto import UserGroupChangeDimensionFilterDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupChangeDimensionFilterDTO from a JSON string +user_group_change_dimension_filter_dto_instance = UserGroupChangeDimensionFilterDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupChangeDimensionFilterDTO.to_json()) + +# convert the object into a dict +user_group_change_dimension_filter_dto_dict = user_group_change_dimension_filter_dto_instance.to_dict() +# create an instance of UserGroupChangeDimensionFilterDTO from a dict +user_group_change_dimension_filter_dto_from_dict = UserGroupChangeDimensionFilterDTO.from_dict(user_group_change_dimension_filter_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupChangeFailureDTO.md b/src/visier.sdk.api.administration/docs/UserGroupChangeFailureDTO.md new file mode 100644 index 000000000..0b40be907 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupChangeFailureDTO.md @@ -0,0 +1,33 @@ +# UserGroupChangeFailureDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | The display name of the user group that couldn't be created. | [optional] +**message** | **str** | The error message containing the cause of the failure. | [optional] +**project_id** | **str** | The ID of the project in which the user group could not be created or updated. | [optional] +**rci** | **str** | The root cause identifier to provide to Visier Technical Support if you require further troubleshooting. | [optional] +**tenant_code** | **str** | The code of the tenant for which the user group could not be created or updated. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_change_failure_dto import UserGroupChangeFailureDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupChangeFailureDTO from a JSON string +user_group_change_failure_dto_instance = UserGroupChangeFailureDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupChangeFailureDTO.to_json()) + +# convert the object into a dict +user_group_change_failure_dto_dict = user_group_change_failure_dto_instance.to_dict() +# create an instance of UserGroupChangeFailureDTO from a dict +user_group_change_failure_dto_from_dict = UserGroupChangeFailureDTO.from_dict(user_group_change_failure_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupChangeFilterDTO.md b/src/visier.sdk.api.administration/docs/UserGroupChangeFilterDTO.md new file mode 100644 index 000000000..e262b7d30 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupChangeFilterDTO.md @@ -0,0 +1,31 @@ +# UserGroupChangeFilterDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_object_id** | **str** | The analytic object the filter applies to. Currently, the only supported analytic object is `Employee`. Default is `Employee`. | [optional] +**dimension_filters** | [**List[UserGroupChangeDimensionFilterDTO]**](UserGroupChangeDimensionFilterDTO.md) | The dimensions in the dynamic filter. | [optional] +**filter_id** | **str** | The unique identifier of the filter. Omit if creating a new filter. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_change_filter_dto import UserGroupChangeFilterDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupChangeFilterDTO from a JSON string +user_group_change_filter_dto_instance = UserGroupChangeFilterDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupChangeFilterDTO.to_json()) + +# convert the object into a dict +user_group_change_filter_dto_dict = user_group_change_filter_dto_instance.to_dict() +# create an instance of UserGroupChangeFilterDTO from a dict +user_group_change_filter_dto_from_dict = UserGroupChangeFilterDTO.from_dict(user_group_change_filter_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupChangeMemberSelectionDTO.md b/src/visier.sdk.api.administration/docs/UserGroupChangeMemberSelectionDTO.md new file mode 100644 index 000000000..096270950 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupChangeMemberSelectionDTO.md @@ -0,0 +1,30 @@ +# UserGroupChangeMemberSelectionDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**is_excluded** | **bool** | If `true`, the specified member must not be defined for members of the user group. | [optional] +**name_path** | **List[str]** | The name path for dimension members; for example, `[ \"North America\", \"US\", \"CA\" ]`. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_change_member_selection_dto import UserGroupChangeMemberSelectionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupChangeMemberSelectionDTO from a JSON string +user_group_change_member_selection_dto_instance = UserGroupChangeMemberSelectionDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupChangeMemberSelectionDTO.to_json()) + +# convert the object into a dict +user_group_change_member_selection_dto_dict = user_group_change_member_selection_dto_instance.to_dict() +# create an instance of UserGroupChangeMemberSelectionDTO from a dict +user_group_change_member_selection_dto_from_dict = UserGroupChangeMemberSelectionDTO.from_dict(user_group_change_member_selection_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupChangeResponseDTO.md b/src/visier.sdk.api.administration/docs/UserGroupChangeResponseDTO.md new file mode 100644 index 000000000..0e908115a --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupChangeResponseDTO.md @@ -0,0 +1,30 @@ +# UserGroupChangeResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**failures** | [**List[UserGroupChangeFailureDTO]**](UserGroupChangeFailureDTO.md) | The user groups that were not created. | [optional] +**successes** | [**List[UserGroupChangeSuccessDTO]**](UserGroupChangeSuccessDTO.md) | The user groups that were created. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_change_response_dto import UserGroupChangeResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupChangeResponseDTO from a JSON string +user_group_change_response_dto_instance = UserGroupChangeResponseDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupChangeResponseDTO.to_json()) + +# convert the object into a dict +user_group_change_response_dto_dict = user_group_change_response_dto_instance.to_dict() +# create an instance of UserGroupChangeResponseDTO from a dict +user_group_change_response_dto_from_dict = UserGroupChangeResponseDTO.from_dict(user_group_change_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupChangeSuccessDTO.md b/src/visier.sdk.api.administration/docs/UserGroupChangeSuccessDTO.md new file mode 100644 index 000000000..92fe33df5 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupChangeSuccessDTO.md @@ -0,0 +1,32 @@ +# UserGroupChangeSuccessDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | The display name of the created user group. | [optional] +**project_id** | **str** | The ID of the project the user group was created or updated in. | [optional] +**tenant_code** | **str** | The code of the tenant the user group was created or updated in. | [optional] +**user_group_id** | **str** | The unique identifier of the user group. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_change_success_dto import UserGroupChangeSuccessDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupChangeSuccessDTO from a JSON string +user_group_change_success_dto_instance = UserGroupChangeSuccessDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupChangeSuccessDTO.to_json()) + +# convert the object into a dict +user_group_change_success_dto_dict = user_group_change_success_dto_instance.to_dict() +# create an instance of UserGroupChangeSuccessDTO from a dict +user_group_change_success_dto_from_dict = UserGroupChangeSuccessDTO.from_dict(user_group_change_success_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupChangeUsersDTO.md b/src/visier.sdk.api.administration/docs/UserGroupChangeUsersDTO.md new file mode 100644 index 000000000..e5d89deab --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupChangeUsersDTO.md @@ -0,0 +1,32 @@ +# UserGroupChangeUsersDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dynamic_filter_definition** | [**UserGroupFiltersDTO**](UserGroupFiltersDTO.md) | The filters that dynamically define a population through dimensions or dimensions accessible through references from the analytic object. * Omit if `includeAllUsers` is `true`. * You can combine dynamic filters with manually-assigned users. | [optional] +**include_all_users** | **bool** | If `true`, all users are included in the user group. If `true`: * You can manually exclude users with `manuallyExcludedIds`. * Cannot be combined with `manuallyIncludedIds` or `dynamicFilterDefinition`. | [optional] +**manually_excluded_ids** | [**ElementIDsDTO**](ElementIDsDTO.md) | Excludes specified user IDs from the user group. * You can manually exclude users if `includeAllUsers` is `true` or if `dynamicFilterDefinition` is defined. * Excluded IDs must not overlap with user IDs in `manuallyIncludedIds`. | [optional] +**manually_included_ids** | [**ElementIDsDTO**](ElementIDsDTO.md) | Includes specified user IDs in the user group. * May be combined with `dynamicFilterDefinition`. * Omit if `includeAllUsers` is `true`. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_change_users_dto import UserGroupChangeUsersDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupChangeUsersDTO from a JSON string +user_group_change_users_dto_instance = UserGroupChangeUsersDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupChangeUsersDTO.to_json()) + +# convert the object into a dict +user_group_change_users_dto_dict = user_group_change_users_dto_instance.to_dict() +# create an instance of UserGroupChangeUsersDTO from a dict +user_group_change_users_dto_from_dict = UserGroupChangeUsersDTO.from_dict(user_group_change_users_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupDeleteDTO.md b/src/visier.sdk.api.administration/docs/UserGroupDeleteDTO.md new file mode 100644 index 000000000..fa1e9e2de --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupDeleteDTO.md @@ -0,0 +1,31 @@ +# UserGroupDeleteDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**project_id** | **str** | The project ID in which to delete the user group. If omitted and the `ProjectID` request header is not defined, the change is published to production immediately. | [optional] +**tenant_code** | **str** | The code of the tenant from which to delete the user group. Omit if deleting user groups in the current tenant. | [optional] +**user_group_id** | **str** | Unique identifier for the user group. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_delete_dto import UserGroupDeleteDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupDeleteDTO from a JSON string +user_group_delete_dto_instance = UserGroupDeleteDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupDeleteDTO.to_json()) + +# convert the object into a dict +user_group_delete_dto_dict = user_group_delete_dto_instance.to_dict() +# create an instance of UserGroupDeleteDTO from a dict +user_group_delete_dto_from_dict = UserGroupDeleteDTO.from_dict(user_group_delete_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupDeleteFailureDTO.md b/src/visier.sdk.api.administration/docs/UserGroupDeleteFailureDTO.md new file mode 100644 index 000000000..49b24bc84 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupDeleteFailureDTO.md @@ -0,0 +1,33 @@ +# UserGroupDeleteFailureDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **str** | The error message containing the cause of the failure. | [optional] +**project_id** | **str** | The ID of the project in which the user group could not be deleted. | [optional] +**rci** | **str** | The root cause identifier to provide to Visier Technical Support if you require further troubleshooting. | [optional] +**tenant_code** | **str** | The code of the tenant from which the user group could not be deleted. | [optional] +**user_group_id** | **str** | The unique identifier of the user group that could not be deleted. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_delete_failure_dto import UserGroupDeleteFailureDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupDeleteFailureDTO from a JSON string +user_group_delete_failure_dto_instance = UserGroupDeleteFailureDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupDeleteFailureDTO.to_json()) + +# convert the object into a dict +user_group_delete_failure_dto_dict = user_group_delete_failure_dto_instance.to_dict() +# create an instance of UserGroupDeleteFailureDTO from a dict +user_group_delete_failure_dto_from_dict = UserGroupDeleteFailureDTO.from_dict(user_group_delete_failure_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupDeleteResponseDTO.md b/src/visier.sdk.api.administration/docs/UserGroupDeleteResponseDTO.md new file mode 100644 index 000000000..b8a2d1e87 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupDeleteResponseDTO.md @@ -0,0 +1,30 @@ +# UserGroupDeleteResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**failures** | [**List[UserGroupDeleteFailureDTO]**](UserGroupDeleteFailureDTO.md) | The user groups that were not deleted successfully. | [optional] +**successes** | [**List[UserGroupDeleteSuccessDTO]**](UserGroupDeleteSuccessDTO.md) | The user groups that were successfully deleted. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_delete_response_dto import UserGroupDeleteResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupDeleteResponseDTO from a JSON string +user_group_delete_response_dto_instance = UserGroupDeleteResponseDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupDeleteResponseDTO.to_json()) + +# convert the object into a dict +user_group_delete_response_dto_dict = user_group_delete_response_dto_instance.to_dict() +# create an instance of UserGroupDeleteResponseDTO from a dict +user_group_delete_response_dto_from_dict = UserGroupDeleteResponseDTO.from_dict(user_group_delete_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupDeleteSuccessDTO.md b/src/visier.sdk.api.administration/docs/UserGroupDeleteSuccessDTO.md new file mode 100644 index 000000000..5563331e4 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupDeleteSuccessDTO.md @@ -0,0 +1,31 @@ +# UserGroupDeleteSuccessDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**project_id** | **str** | The ID of the project in which user group was deleted. | [optional] +**tenant_code** | **str** | The code of the tenant the user group was deleted from. | [optional] +**user_group_id** | **str** | The unique identifier of the user group that was deleted. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_delete_success_dto import UserGroupDeleteSuccessDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupDeleteSuccessDTO from a JSON string +user_group_delete_success_dto_instance = UserGroupDeleteSuccessDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupDeleteSuccessDTO.to_json()) + +# convert the object into a dict +user_group_delete_success_dto_dict = user_group_delete_success_dto_instance.to_dict() +# create an instance of UserGroupDeleteSuccessDTO from a dict +user_group_delete_success_dto_from_dict = UserGroupDeleteSuccessDTO.from_dict(user_group_delete_success_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupFiltersDTO.md b/src/visier.sdk.api.administration/docs/UserGroupFiltersDTO.md new file mode 100644 index 000000000..881fac1c8 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupFiltersDTO.md @@ -0,0 +1,29 @@ +# UserGroupFiltersDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filters** | [**List[UserGroupChangeFilterDTO]**](UserGroupChangeFilterDTO.md) | The filters that define user group membership. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_filters_dto import UserGroupFiltersDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupFiltersDTO from a JSON string +user_group_filters_dto_instance = UserGroupFiltersDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupFiltersDTO.to_json()) + +# convert the object into a dict +user_group_filters_dto_dict = user_group_filters_dto_instance.to_dict() +# create an instance of UserGroupFiltersDTO from a dict +user_group_filters_dto_from_dict = UserGroupFiltersDTO.from_dict(user_group_filters_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupGetAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/UserGroupGetAPIResponseDTO.md new file mode 100644 index 000000000..70c6f4882 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupGetAPIResponseDTO.md @@ -0,0 +1,31 @@ +# UserGroupGetAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | An identifiable user group name to display in Visier, such as \"Leadership User Group\". | [optional] +**permissions** | [**List[PermissionResponseDTO]**](PermissionResponseDTO.md) | A list of objects representing the user's permissions. | [optional] +**user_group_id** | **str** | The unique identifier associated with the user group. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_get_api_response_dto import UserGroupGetAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupGetAPIResponseDTO from a JSON string +user_group_get_api_response_dto_instance = UserGroupGetAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupGetAPIResponseDTO.to_json()) + +# convert the object into a dict +user_group_get_api_response_dto_dict = user_group_get_api_response_dto_instance.to_dict() +# create an instance of UserGroupGetAPIResponseDTO from a dict +user_group_get_api_response_dto_from_dict = UserGroupGetAPIResponseDTO.from_dict(user_group_get_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupSingleDeleteResponseDTO.md b/src/visier.sdk.api.administration/docs/UserGroupSingleDeleteResponseDTO.md new file mode 100644 index 000000000..6220ab204 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupSingleDeleteResponseDTO.md @@ -0,0 +1,30 @@ +# UserGroupSingleDeleteResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**failure** | [**UserGroupDeleteFailureDTO**](UserGroupDeleteFailureDTO.md) | The user group was not successfully deleted. | [optional] +**success** | [**UserGroupDeleteSuccessDTO**](UserGroupDeleteSuccessDTO.md) | The user group was successfully deleted. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_group_single_delete_response_dto import UserGroupSingleDeleteResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupSingleDeleteResponseDTO from a JSON string +user_group_single_delete_response_dto_instance = UserGroupSingleDeleteResponseDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupSingleDeleteResponseDTO.to_json()) + +# convert the object into a dict +user_group_single_delete_response_dto_dict = user_group_single_delete_response_dto_instance.to_dict() +# create an instance of UserGroupSingleDeleteResponseDTO from a dict +user_group_single_delete_response_dto_from_dict = UserGroupSingleDeleteResponseDTO.from_dict(user_group_single_delete_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupsChangeDTO.md b/src/visier.sdk.api.administration/docs/UserGroupsChangeDTO.md new file mode 100644 index 000000000..84efe0628 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupsChangeDTO.md @@ -0,0 +1,29 @@ +# UserGroupsChangeDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_groups** | [**List[UserGroupChangeDefinitionDTO]**](UserGroupChangeDefinitionDTO.md) | The user groups and their definitions. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_groups_change_dto import UserGroupsChangeDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupsChangeDTO from a JSON string +user_groups_change_dto_instance = UserGroupsChangeDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupsChangeDTO.to_json()) + +# convert the object into a dict +user_groups_change_dto_dict = user_groups_change_dto_instance.to_dict() +# create an instance of UserGroupsChangeDTO from a dict +user_groups_change_dto_from_dict = UserGroupsChangeDTO.from_dict(user_groups_change_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupsDeleteRequestDTO.md b/src/visier.sdk.api.administration/docs/UserGroupsDeleteRequestDTO.md new file mode 100644 index 000000000..b26cf077c --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupsDeleteRequestDTO.md @@ -0,0 +1,29 @@ +# UserGroupsDeleteRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_groups** | [**List[UserGroupDeleteDTO]**](UserGroupDeleteDTO.md) | The user groups to delete. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_groups_delete_request_dto import UserGroupsDeleteRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupsDeleteRequestDTO from a JSON string +user_groups_delete_request_dto_instance = UserGroupsDeleteRequestDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupsDeleteRequestDTO.to_json()) + +# convert the object into a dict +user_groups_delete_request_dto_dict = user_groups_delete_request_dto_instance.to_dict() +# create an instance of UserGroupsDeleteRequestDTO from a dict +user_groups_delete_request_dto_from_dict = UserGroupsDeleteRequestDTO.from_dict(user_groups_delete_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupsGetAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/UserGroupsGetAPIResponseDTO.md new file mode 100644 index 000000000..fede335b4 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupsGetAPIResponseDTO.md @@ -0,0 +1,31 @@ +# UserGroupsGetAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | The number of results to return. The maximum number of users to retrieve is 1000. | [optional] +**start** | **int** | The index to start retrieving results from, also known as offset. | [optional] +**user_groups** | [**List[UserGroupGetAPIResponseDTO]**](UserGroupGetAPIResponseDTO.md) | A list of user groups. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_groups_get_api_response_dto import UserGroupsGetAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupsGetAPIResponseDTO from a JSON string +user_groups_get_api_response_dto_instance = UserGroupsGetAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupsGetAPIResponseDTO.to_json()) + +# convert the object into a dict +user_groups_get_api_response_dto_dict = user_groups_get_api_response_dto_instance.to_dict() +# create an instance of UserGroupsGetAPIResponseDTO from a dict +user_groups_get_api_response_dto_from_dict = UserGroupsGetAPIResponseDTO.from_dict(user_groups_get_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupsUsersDTO.md b/src/visier.sdk.api.administration/docs/UserGroupsUsersDTO.md new file mode 100644 index 000000000..1366f19e7 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupsUsersDTO.md @@ -0,0 +1,31 @@ +# UserGroupsUsersDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | The limit of results to return. The maximum value is 1000. | [optional] +**start** | **int** | The index to start retrieving values from, also known as offset. The index begins at 0. | [optional] +**tenants** | [**List[UserGroupsUsersForTenantDTO]**](UserGroupsUsersForTenantDTO.md) | A list of objects representing the users that are explicitly assigned to the user group, organized by the tenants the users belong to. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_groups_users_dto import UserGroupsUsersDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupsUsersDTO from a JSON string +user_groups_users_dto_instance = UserGroupsUsersDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupsUsersDTO.to_json()) + +# convert the object into a dict +user_groups_users_dto_dict = user_groups_users_dto_instance.to_dict() +# create an instance of UserGroupsUsersDTO from a dict +user_groups_users_dto_from_dict = UserGroupsUsersDTO.from_dict(user_groups_users_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupsUsersForTenantDTO.md b/src/visier.sdk.api.administration/docs/UserGroupsUsersForTenantDTO.md new file mode 100644 index 000000000..6c6f6dd15 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupsUsersForTenantDTO.md @@ -0,0 +1,30 @@ +# UserGroupsUsersForTenantDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tenant_code** | **str** | The unique identifier associated with the tenant. | [optional] +**users** | [**List[SimpleUserDTO]**](SimpleUserDTO.md) | A list of objects representing the users in the user group. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_groups_users_for_tenant_dto import UserGroupsUsersForTenantDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserGroupsUsersForTenantDTO from a JSON string +user_groups_users_for_tenant_dto_instance = UserGroupsUsersForTenantDTO.from_json(json) +# print the JSON string representation of the object +print(UserGroupsUsersForTenantDTO.to_json()) + +# convert the object into a dict +user_groups_users_for_tenant_dto_dict = user_groups_users_for_tenant_dto_instance.to_dict() +# create an instance of UserGroupsUsersForTenantDTO from a dict +user_groups_users_for_tenant_dto_from_dict = UserGroupsUsersForTenantDTO.from_dict(user_groups_users_for_tenant_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserGroupsV2Api.md b/src/visier.sdk.api.administration/docs/UserGroupsV2Api.md new file mode 100644 index 000000000..999b2bb41 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserGroupsV2Api.md @@ -0,0 +1,509 @@ +# visier.sdk.api.administration.UserGroupsV2Api + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_user_groups**](UserGroupsV2Api.md#create_user_groups) | **POST** /v2beta/admin/user-groups | Create multiple user groups +[**delete_user_group**](UserGroupsV2Api.md#delete_user_group) | **DELETE** /v2beta/admin/user-groups/{userGroupId} | Delete a user group +[**delete_user_groups**](UserGroupsV2Api.md#delete_user_groups) | **DELETE** /v2beta/admin/user-groups | Delete multiple user groups +[**get_user_group**](UserGroupsV2Api.md#get_user_group) | **GET** /v2beta/admin/user-groups/{userGroupId} | Retrieve the details of a user group +[**get_user_groups**](UserGroupsV2Api.md#get_user_groups) | **GET** /v2beta/admin/user-groups | Retrieve a list of user groups +[**patch_user_groups**](UserGroupsV2Api.md#patch_user_groups) | **PATCH** /v2beta/admin/user-groups | Patch multiple user groups +[**put_user_groups**](UserGroupsV2Api.md#put_user_groups) | **PUT** /v2beta/admin/user-groups | Update multiple user groups + + +# **create_user_groups** +> UserGroupChangeResponseDTO create_user_groups(user_groups_change_dto) + +Create multiple user groups + +Create new user groups. To specify the tenant in which to add new user groups, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to create new user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.user_group_change_response_dto import UserGroupChangeResponseDTO +from visier.sdk.api.administration.models.user_groups_change_dto import UserGroupsChangeDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UserGroupsV2Api(api_client) + user_groups_change_dto = visier.sdk.api.administration.UserGroupsChangeDTO() # UserGroupsChangeDTO | + + try: + # Create multiple user groups + api_response = api_instance.create_user_groups(user_groups_change_dto) + print("The response of UserGroupsV2Api->create_user_groups:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UserGroupsV2Api->create_user_groups: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_groups_change_dto** | [**UserGroupsChangeDTO**](UserGroupsChangeDTO.md)| | + +### Return type + +[**UserGroupChangeResponseDTO**](UserGroupChangeResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_user_group** +> UserGroupSingleDeleteResponseDTO delete_user_group(user_group_id, delete_user_group_v2_request) + +Delete a user group + +Delete a specific user group. To specify the tenant in which to delete a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to delete a user group, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.delete_user_group_v2_request import DeleteUserGroupV2Request +from visier.sdk.api.administration.models.user_group_single_delete_response_dto import UserGroupSingleDeleteResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UserGroupsV2Api(api_client) + user_group_id = 'user_group_id_example' # str | The ID of user group to delete. + delete_user_group_v2_request = visier.sdk.api.administration.DeleteUserGroupV2Request() # DeleteUserGroupV2Request | + + try: + # Delete a user group + api_response = api_instance.delete_user_group(user_group_id, delete_user_group_v2_request) + print("The response of UserGroupsV2Api->delete_user_group:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UserGroupsV2Api->delete_user_group: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_group_id** | **str**| The ID of user group to delete. | + **delete_user_group_v2_request** | [**DeleteUserGroupV2Request**](DeleteUserGroupV2Request.md)| | + +### Return type + +[**UserGroupSingleDeleteResponseDTO**](UserGroupSingleDeleteResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_user_groups** +> UserGroupDeleteResponseDTO delete_user_groups(user_groups_delete_request_dto) + +Delete multiple user groups + +Delete user groups in bulk. To specify the tenant in which to delete user groups, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to delete user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.user_group_delete_response_dto import UserGroupDeleteResponseDTO +from visier.sdk.api.administration.models.user_groups_delete_request_dto import UserGroupsDeleteRequestDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UserGroupsV2Api(api_client) + user_groups_delete_request_dto = visier.sdk.api.administration.UserGroupsDeleteRequestDTO() # UserGroupsDeleteRequestDTO | + + try: + # Delete multiple user groups + api_response = api_instance.delete_user_groups(user_groups_delete_request_dto) + print("The response of UserGroupsV2Api->delete_user_groups:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UserGroupsV2Api->delete_user_groups: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_groups_delete_request_dto** | [**UserGroupsDeleteRequestDTO**](UserGroupsDeleteRequestDTO.md)| | + +### Return type + +[**UserGroupDeleteResponseDTO**](UserGroupDeleteResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_user_group** +> UserGroupChangeDefinitionDTO get_user_group(user_group_id, var_with=var_with) + +Retrieve the details of a user group + +Retrieve all available information about a specific user group.
To specify the tenant in which to retrieve a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to return a user group, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.user_group_change_definition_dto import UserGroupChangeDefinitionDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UserGroupsV2Api(api_client) + user_group_id = 'user_group_id_example' # str | The ID of user group. + var_with = 'var_with_example' # str | Controls the amount of detail to return in the response. Omit to return detailed information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. (optional) + + try: + # Retrieve the details of a user group + api_response = api_instance.get_user_group(user_group_id, var_with=var_with) + print("The response of UserGroupsV2Api->get_user_group:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UserGroupsV2Api->get_user_group: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_group_id** | **str**| The ID of user group. | + **var_with** | **str**| Controls the amount of detail to return in the response. Omit to return detailed information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. | [optional] + +### Return type + +[**UserGroupChangeDefinitionDTO**](UserGroupChangeDefinitionDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_user_groups** +> UserGroupsChangeDTO get_user_groups(var_with=var_with, limit=limit) + +Retrieve a list of user groups + +Retrieve a collection of user groups. Use `with` to control the amount of detail returned in the response. `with` supports these values: * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. This API can return a maximum of 1000 user groups. The default number of user groups to return is 100. To specify the project in which to return user groups, provide a project UUID in the `ProjectID` request header.
To specify the tenant in which to retrieve user groups, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.user_groups_change_dto import UserGroupsChangeDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UserGroupsV2Api(api_client) + var_with = 'var_with_example' # str | Controls the amount of detail to return in the response. Omit to return basic information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. (optional) + limit = 56 # int | The number of results to return. The maximum number of user groups to retrieve is 1000. The default is 100. (optional) + + try: + # Retrieve a list of user groups + api_response = api_instance.get_user_groups(var_with=var_with, limit=limit) + print("The response of UserGroupsV2Api->get_user_groups:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UserGroupsV2Api->get_user_groups: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **var_with** | **str**| Controls the amount of detail to return in the response. Omit to return basic information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. | [optional] + **limit** | **int**| The number of results to return. The maximum number of user groups to retrieve is 1000. The default is 100. | [optional] + +### Return type + +[**UserGroupsChangeDTO**](UserGroupsChangeDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **patch_user_groups** +> UserGroupChangeResponseDTO patch_user_groups(user_groups_change_dto) + +Patch multiple user groups + +Make partial changes to user groups. To specify the tenant in which to patch a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header or `tenantCode` for each user group in the request body. Unlike `PUT`, which completely replaces the user group definition, use `PATCH` to change specific fields in the user group without affecting omitted fields. To specify the project in which to patch user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.user_group_change_response_dto import UserGroupChangeResponseDTO +from visier.sdk.api.administration.models.user_groups_change_dto import UserGroupsChangeDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UserGroupsV2Api(api_client) + user_groups_change_dto = visier.sdk.api.administration.UserGroupsChangeDTO() # UserGroupsChangeDTO | + + try: + # Patch multiple user groups + api_response = api_instance.patch_user_groups(user_groups_change_dto) + print("The response of UserGroupsV2Api->patch_user_groups:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UserGroupsV2Api->patch_user_groups: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_groups_change_dto** | [**UserGroupsChangeDTO**](UserGroupsChangeDTO.md)| | + +### Return type + +[**UserGroupChangeResponseDTO**](UserGroupChangeResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **put_user_groups** +> UserGroupChangeResponseDTO put_user_groups(user_groups_change_dto) + +Update multiple user groups + +Update existing user groups. To specify the tenant in which to update a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header or `tenantCode` for each user group in the request body. When updating user groups, the user group definition in your API call replaces the prior definition. You must provide the entire definition in the `PUT` call. If you omit values from the update request, those values are removed from the user group. We recommend that you retrieve a user group's details before you update the user group with new values. To specify the project in which to update user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.user_group_change_response_dto import UserGroupChangeResponseDTO +from visier.sdk.api.administration.models.user_groups_change_dto import UserGroupsChangeDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UserGroupsV2Api(api_client) + user_groups_change_dto = visier.sdk.api.administration.UserGroupsChangeDTO() # UserGroupsChangeDTO | + + try: + # Update multiple user groups + api_response = api_instance.put_user_groups(user_groups_change_dto) + print("The response of UserGroupsV2Api->put_user_groups:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UserGroupsV2Api->put_user_groups: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_groups_change_dto** | [**UserGroupsChangeDTO**](UserGroupsChangeDTO.md)| | + +### Return type + +[**UserGroupChangeResponseDTO**](UserGroupChangeResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.administration/docs/UserIdErrorDTO.md b/src/visier.sdk.api.administration/docs/UserIdErrorDTO.md new file mode 100644 index 000000000..5a3468815 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserIdErrorDTO.md @@ -0,0 +1,30 @@ +# UserIdErrorDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | [**ErrorDTO**](ErrorDTO.md) | The details about the error. | [optional] +**user_id** | **str** | The bad user ID. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_id_error_dto import UserIdErrorDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserIdErrorDTO from a JSON string +user_id_error_dto_instance = UserIdErrorDTO.from_json(json) +# print the JSON string representation of the object +print(UserIdErrorDTO.to_json()) + +# convert the object into a dict +user_id_error_dto_dict = user_id_error_dto_instance.to_dict() +# create an instance of UserIdErrorDTO from a dict +user_id_error_dto_from_dict = UserIdErrorDTO.from_dict(user_id_error_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserPropertyDTO.md b/src/visier.sdk.api.administration/docs/UserPropertyDTO.md new file mode 100644 index 000000000..4010fc5db --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserPropertyDTO.md @@ -0,0 +1,29 @@ +# UserPropertyDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | The name property to map to in the dynamic filter. Valid values are one of `username`, `email`, `employeeId`. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_property_dto import UserPropertyDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserPropertyDTO from a JSON string +user_property_dto_instance = UserPropertyDTO.from_json(json) +# print the JSON string representation of the object +print(UserPropertyDTO.to_json()) + +# convert the object into a dict +user_property_dto_dict = user_property_dto_instance.to_dict() +# create an instance of UserPropertyDTO from a dict +user_property_dto_from_dict = UserPropertyDTO.from_dict(user_property_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserSecurityAssignmentsDTO.md b/src/visier.sdk.api.administration/docs/UserSecurityAssignmentsDTO.md new file mode 100644 index 000000000..45fc916e7 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserSecurityAssignmentsDTO.md @@ -0,0 +1,31 @@ +# UserSecurityAssignmentsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The unique identifier associated with the user group. | [optional] +**name** | **str** | The name of the user group. | [optional] +**users** | [**List[SimpleUserDTO]**](SimpleUserDTO.md) | A list of objects representing the users assigned to or removed from the user group. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_security_assignments_dto import UserSecurityAssignmentsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserSecurityAssignmentsDTO from a JSON string +user_security_assignments_dto_instance = UserSecurityAssignmentsDTO.from_json(json) +# print the JSON string representation of the object +print(UserSecurityAssignmentsDTO.to_json()) + +# convert the object into a dict +user_security_assignments_dto_dict = user_security_assignments_dto_instance.to_dict() +# create an instance of UserSecurityAssignmentsDTO from a dict +user_security_assignments_dto_from_dict = UserSecurityAssignmentsDTO.from_dict(user_security_assignments_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UserUpdateAPIRequestDTO.md b/src/visier.sdk.api.administration/docs/UserUpdateAPIRequestDTO.md new file mode 100644 index 000000000..f0e33b021 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UserUpdateAPIRequestDTO.md @@ -0,0 +1,32 @@ +# UserUpdateAPIRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_enabled** | **str** | If true, the user account is enabled. | [optional] +**display_name** | **str** | An identifiable name to display within Visier. For example, \"John Smith\". | [optional] +**email** | **str** | The user's email address. | [optional] +**employee_id** | **str** | If applicable, and if available, the user employee ID in the data. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.user_update_api_request_dto import UserUpdateAPIRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UserUpdateAPIRequestDTO from a JSON string +user_update_api_request_dto_instance = UserUpdateAPIRequestDTO.from_json(json) +# print the JSON string representation of the object +print(UserUpdateAPIRequestDTO.to_json()) + +# convert the object into a dict +user_update_api_request_dto_dict = user_update_api_request_dto_instance.to_dict() +# create an instance of UserUpdateAPIRequestDTO from a dict +user_update_api_request_dto_from_dict = UserUpdateAPIRequestDTO.from_dict(user_update_api_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UsersAPIErrorMessageDTO.md b/src/visier.sdk.api.administration/docs/UsersAPIErrorMessageDTO.md new file mode 100644 index 000000000..b30e2aacd --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UsersAPIErrorMessageDTO.md @@ -0,0 +1,30 @@ +# UsersAPIErrorMessageDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **str** | Error message | [optional] +**rci** | **str** | The unique identifier associated to this error | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.users_api_error_message_dto import UsersAPIErrorMessageDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UsersAPIErrorMessageDTO from a JSON string +users_api_error_message_dto_instance = UsersAPIErrorMessageDTO.from_json(json) +# print the JSON string representation of the object +print(UsersAPIErrorMessageDTO.to_json()) + +# convert the object into a dict +users_api_error_message_dto_dict = users_api_error_message_dto_instance.to_dict() +# create an instance of UsersAPIErrorMessageDTO from a dict +users_api_error_message_dto_from_dict = UsersAPIErrorMessageDTO.from_dict(users_api_error_message_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UsersAPIFailureDTO.md b/src/visier.sdk.api.administration/docs/UsersAPIFailureDTO.md new file mode 100644 index 000000000..0d3636398 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UsersAPIFailureDTO.md @@ -0,0 +1,32 @@ +# UsersAPIFailureDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | An identifiable name to display within Visier. For example, \"John Smith\". | [optional] +**error** | [**UsersAPIErrorMessageDTO**](UsersAPIErrorMessageDTO.md) | The error thrown during creation. | [optional] +**user_id** | **str** | The unique identifier associated with the user. | [optional] +**user_name** | **str** | The user's username. This is typically the user's email, such as john@jupiter.com. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.users_api_failure_dto import UsersAPIFailureDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UsersAPIFailureDTO from a JSON string +users_api_failure_dto_instance = UsersAPIFailureDTO.from_json(json) +# print the JSON string representation of the object +print(UsersAPIFailureDTO.to_json()) + +# convert the object into a dict +users_api_failure_dto_dict = users_api_failure_dto_instance.to_dict() +# create an instance of UsersAPIFailureDTO from a dict +users_api_failure_dto_from_dict = UsersAPIFailureDTO.from_dict(users_api_failure_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UsersAPIResponseDTO.md b/src/visier.sdk.api.administration/docs/UsersAPIResponseDTO.md new file mode 100644 index 000000000..f119a7250 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UsersAPIResponseDTO.md @@ -0,0 +1,30 @@ +# UsersAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**failures** | [**List[UsersAPIFailureDTO]**](UsersAPIFailureDTO.md) | The users for which the request failed. | [optional] +**successes** | [**List[UsersAPISuccessDTO]**](UsersAPISuccessDTO.md) | The users for which the request succeeded. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.users_api_response_dto import UsersAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UsersAPIResponseDTO from a JSON string +users_api_response_dto_instance = UsersAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(UsersAPIResponseDTO.to_json()) + +# convert the object into a dict +users_api_response_dto_dict = users_api_response_dto_instance.to_dict() +# create an instance of UsersAPIResponseDTO from a dict +users_api_response_dto_from_dict = UsersAPIResponseDTO.from_dict(users_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UsersAPISuccessDTO.md b/src/visier.sdk.api.administration/docs/UsersAPISuccessDTO.md new file mode 100644 index 000000000..16475012e --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UsersAPISuccessDTO.md @@ -0,0 +1,34 @@ +# UsersAPISuccessDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_enabled** | **str** | If true, the user account is enabled. | [optional] +**display_name** | **str** | An identifiable name to display within Visier. For example, \"John Smith\". | [optional] +**email** | **str** | The user's email address. | [optional] +**employee_id** | **str** | If applicable, and if available, the user employee ID in the data. | [optional] +**user_id** | **str** | The unique identifier associated with the user. | [optional] +**username** | **str** | The user's username. This is typically the user's email, such as john@jupiter.com. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.users_api_success_dto import UsersAPISuccessDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UsersAPISuccessDTO from a JSON string +users_api_success_dto_instance = UsersAPISuccessDTO.from_json(json) +# print the JSON string representation of the object +print(UsersAPISuccessDTO.to_json()) + +# convert the object into a dict +users_api_success_dto_dict = users_api_success_dto_instance.to_dict() +# create an instance of UsersAPISuccessDTO from a dict +users_api_success_dto_from_dict = UsersAPISuccessDTO.from_dict(users_api_success_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UsersCreationAPIRequestDTO.md b/src/visier.sdk.api.administration/docs/UsersCreationAPIRequestDTO.md new file mode 100644 index 000000000..8c8bb79da --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UsersCreationAPIRequestDTO.md @@ -0,0 +1,29 @@ +# UsersCreationAPIRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**users** | [**List[UserCreationAPIRequestDTO]**](UserCreationAPIRequestDTO.md) | A list of objects representing users to create. Maximum 100 users can be created in a single request. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.users_creation_api_request_dto import UsersCreationAPIRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UsersCreationAPIRequestDTO from a JSON string +users_creation_api_request_dto_instance = UsersCreationAPIRequestDTO.from_json(json) +# print the JSON string representation of the object +print(UsersCreationAPIRequestDTO.to_json()) + +# convert the object into a dict +users_creation_api_request_dto_dict = users_creation_api_request_dto_instance.to_dict() +# create an instance of UsersCreationAPIRequestDTO from a dict +users_creation_api_request_dto_from_dict = UsersCreationAPIRequestDTO.from_dict(users_creation_api_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UsersDeleteAPIRequestDTO.md b/src/visier.sdk.api.administration/docs/UsersDeleteAPIRequestDTO.md new file mode 100644 index 000000000..711106a76 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UsersDeleteAPIRequestDTO.md @@ -0,0 +1,29 @@ +# UsersDeleteAPIRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_ids** | **List[str]** | A list of objects representing users to delete. Maximum 100 users can be deleted in a single request. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.users_delete_api_request_dto import UsersDeleteAPIRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UsersDeleteAPIRequestDTO from a JSON string +users_delete_api_request_dto_instance = UsersDeleteAPIRequestDTO.from_json(json) +# print the JSON string representation of the object +print(UsersDeleteAPIRequestDTO.to_json()) + +# convert the object into a dict +users_delete_api_request_dto_dict = users_delete_api_request_dto_instance.to_dict() +# create an instance of UsersDeleteAPIRequestDTO from a dict +users_delete_api_request_dto_from_dict = UsersDeleteAPIRequestDTO.from_dict(users_delete_api_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UsersToUserGroupRequestDTO.md b/src/visier.sdk.api.administration/docs/UsersToUserGroupRequestDTO.md new file mode 100644 index 000000000..5a1aa1b10 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UsersToUserGroupRequestDTO.md @@ -0,0 +1,30 @@ +# UsersToUserGroupRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_group_id** | **str** | The unique identifier associated with the user group. | [optional] +**user_ids** | **List[str]** | A list of strings representing unique user IDs to assign to or remove from the user group. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.users_to_user_group_request_dto import UsersToUserGroupRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UsersToUserGroupRequestDTO from a JSON string +users_to_user_group_request_dto_instance = UsersToUserGroupRequestDTO.from_json(json) +# print the JSON string representation of the object +print(UsersToUserGroupRequestDTO.to_json()) + +# convert the object into a dict +users_to_user_group_request_dto_dict = users_to_user_group_request_dto_instance.to_dict() +# create an instance of UsersToUserGroupRequestDTO from a dict +users_to_user_group_request_dto_from_dict = UsersToUserGroupRequestDTO.from_dict(users_to_user_group_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UsersToUserGroupsRequestDTO.md b/src/visier.sdk.api.administration/docs/UsersToUserGroupsRequestDTO.md new file mode 100644 index 000000000..c86be57fe --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UsersToUserGroupsRequestDTO.md @@ -0,0 +1,30 @@ +# UsersToUserGroupsRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**target_project_for_tenants_list** | [**TargetProjectForTenantsListDTO**](TargetProjectForTenantsListDTO.md) | Administrating tenants can specify the tenants and projects in which to assign users to user groups or remove users from user groups. Specify one `projectId` per `tenantCode`. If omitted, the request is immediately published to production or applied to the ProjectID in the request header, if available, for the administrating tenant or TargetTenantID, if available. | [optional] +**user_groups** | [**List[UsersToUserGroupRequestDTO]**](UsersToUserGroupRequestDTO.md) | A list of objects representing the user groups and users to assign or remove. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.users_to_user_groups_request_dto import UsersToUserGroupsRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UsersToUserGroupsRequestDTO from a JSON string +users_to_user_groups_request_dto_instance = UsersToUserGroupsRequestDTO.from_json(json) +# print the JSON string representation of the object +print(UsersToUserGroupsRequestDTO.to_json()) + +# convert the object into a dict +users_to_user_groups_request_dto_dict = users_to_user_groups_request_dto_instance.to_dict() +# create an instance of UsersToUserGroupsRequestDTO from a dict +users_to_user_groups_request_dto_from_dict = UsersToUserGroupsRequestDTO.from_dict(users_to_user_groups_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UsersUpdateAPIRequestDTO.md b/src/visier.sdk.api.administration/docs/UsersUpdateAPIRequestDTO.md new file mode 100644 index 000000000..2bdca7031 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UsersUpdateAPIRequestDTO.md @@ -0,0 +1,29 @@ +# UsersUpdateAPIRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**users** | [**List[UsersUpdateAPIUserDTO]**](UsersUpdateAPIUserDTO.md) | A list of objects representing users to update. Maximum 100 users can be updated in a single request. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.users_update_api_request_dto import UsersUpdateAPIRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UsersUpdateAPIRequestDTO from a JSON string +users_update_api_request_dto_instance = UsersUpdateAPIRequestDTO.from_json(json) +# print the JSON string representation of the object +print(UsersUpdateAPIRequestDTO.to_json()) + +# convert the object into a dict +users_update_api_request_dto_dict = users_update_api_request_dto_instance.to_dict() +# create an instance of UsersUpdateAPIRequestDTO from a dict +users_update_api_request_dto_from_dict = UsersUpdateAPIRequestDTO.from_dict(users_update_api_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UsersUpdateAPIUserDTO.md b/src/visier.sdk.api.administration/docs/UsersUpdateAPIUserDTO.md new file mode 100644 index 000000000..9b1a541f9 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UsersUpdateAPIUserDTO.md @@ -0,0 +1,33 @@ +# UsersUpdateAPIUserDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_enabled** | **str** | If true, the user account is enabled. | [optional] +**display_name** | **str** | An identifiable name to display within Visier. For example, \"John Smith\". | [optional] +**email** | **str** | The user's email address. | [optional] +**employee_id** | **str** | If applicable, and if available, the user employee ID in the data. | [optional] +**user_id** | **str** | The unique identifier associated with the user. | [optional] + +## Example + +```python +from visier.sdk.api.administration.models.users_update_api_user_dto import UsersUpdateAPIUserDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UsersUpdateAPIUserDTO from a JSON string +users_update_api_user_dto_instance = UsersUpdateAPIUserDTO.from_json(json) +# print the JSON string representation of the object +print(UsersUpdateAPIUserDTO.to_json()) + +# convert the object into a dict +users_update_api_user_dto_dict = users_update_api_user_dto_instance.to_dict() +# create an instance of UsersUpdateAPIUserDTO from a dict +users_update_api_user_dto_from_dict = UsersUpdateAPIUserDTO.from_dict(users_update_api_user_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.administration/docs/UsersV1Api.md b/src/visier.sdk.api.administration/docs/UsersV1Api.md new file mode 100644 index 000000000..cf7018c31 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UsersV1Api.md @@ -0,0 +1,1433 @@ +# visier.sdk.api.administration.UsersV1Api + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**add_user**](UsersV1Api.md#add_user) | **POST** /v1/admin/users | Add a user +[**add_users_to_user_group**](UsersV1Api.md#add_users_to_user_group) | **PUT** /v1/admin/user-groups/users | Assign users to user groups +[**assign_permissions**](UsersV1Api.md#assign_permissions) | **PUT** /v1/admin/permissions/users | Assign permissions to users +[**assign_permissions_to_user_groups**](UsersV1Api.md#assign_permissions_to_user_groups) | **PUT** /v1/admin/user-groups/permissions | Assign permissions to user groups +[**delete_user**](UsersV1Api.md#delete_user) | **DELETE** /v1/admin/users/{userId} | Delete a user +[**get_all_permissions_xlsx**](UsersV1Api.md#get_all_permissions_xlsx) | **GET** /v1/admin/users/reports/permissions-list | Retrieve a list of all permissions in XLSX format +[**get_all_user_groups**](UsersV1Api.md#get_all_user_groups) | **GET** /v1/admin/user-groups | Retrieve a list of all user groups +[**get_all_users**](UsersV1Api.md#get_all_users) | **GET** /v1/admin/users | Retrieve a list of all users +[**get_application_logs_xlsx**](UsersV1Api.md#get_application_logs_xlsx) | **GET** /v1/admin/users/reports/application-logs | Retrieve the Application Logs +[**get_data_security_report_xlsx**](UsersV1Api.md#get_data_security_report_xlsx) | **GET** /v1/admin/users/{userId}/reports/data-security | Retrieve the Data Security Report +[**get_permission_assigned_users**](UsersV1Api.md#get_permission_assigned_users) | **GET** /v1/admin/permissions/{permissionId}/users | Retrieve users that are assigned a specific permission +[**get_profile_assignments_xlsx**](UsersV1Api.md#get_profile_assignments_xlsx) | **GET** /v1/admin/users/reports/profile-assignments | Retrieve user profile assignments in XLSX format +[**get_user_detail**](UsersV1Api.md#get_user_detail) | **GET** /v1/admin/users/{userId} | Retrieve a user's details +[**get_user_group_users**](UsersV1Api.md#get_user_group_users) | **GET** /v1/admin/user-groups/{userGroupId}/users | Retrieve a list of user group users +[**get_user_permissions_xlsx**](UsersV1Api.md#get_user_permissions_xlsx) | **GET** /v1/admin/users/reports/permission-assignments | Retrieve user permissions in XLSX format +[**remove_permissions**](UsersV1Api.md#remove_permissions) | **DELETE** /v1/admin/permissions/users | Remove permissions from users +[**remove_users_from_user_group**](UsersV1Api.md#remove_users_from_user_group) | **DELETE** /v1/admin/user-groups/users | Remove users from user groups +[**revoke_permissions_from_user_groups**](UsersV1Api.md#revoke_permissions_from_user_groups) | **DELETE** /v1/admin/user-groups/permissions | Remove permissions from user groups +[**update_user**](UsersV1Api.md#update_user) | **PUT** /v1/admin/users/{userId} | Update a user + + +# **add_user** +> UserCreationAPIResponseDTO add_user(user_creation_api_request_dto, tenant_code=tenant_code) + +Add a user + +Create a new user. Administrating tenant users can specify the tenant in which to add a user. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.user_creation_api_request_dto import UserCreationAPIRequestDTO +from visier.sdk.api.administration.models.user_creation_api_response_dto import UserCreationAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + user_creation_api_request_dto = visier.sdk.api.administration.UserCreationAPIRequestDTO() # UserCreationAPIRequestDTO | + tenant_code = 'tenant_code_example' # str | Specify the tenant to create a user in. (optional) + + try: + # Add a user + api_response = api_instance.add_user(user_creation_api_request_dto, tenant_code=tenant_code) + print("The response of UsersV1Api->add_user:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->add_user: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_creation_api_request_dto** | [**UserCreationAPIRequestDTO**](UserCreationAPIRequestDTO.md)| | + **tenant_code** | **str**| Specify the tenant to create a user in. | [optional] + +### Return type + +[**UserCreationAPIResponseDTO**](UserCreationAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **add_users_to_user_group** +> SecurityAssignmentResponseDTO add_users_to_user_group(users_to_user_groups_request_dto, project_id=project_id, target_tenant_id=target_tenant_id) + +Assign users to user groups + +This API allows you to assign users to specific user groups. To assign users to user groups in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can assign users to user groups in analytic tenants by providing a tenant code and project ID in the request body. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.security_assignment_response_dto import SecurityAssignmentResponseDTO +from visier.sdk.api.administration.models.users_to_user_groups_request_dto import UsersToUserGroupsRequestDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + users_to_user_groups_request_dto = visier.sdk.api.administration.UsersToUserGroupsRequestDTO() # UsersToUserGroupsRequestDTO | + project_id = 'project_id_example' # str | Optionally, specify a project in which to make the request. If omitted, the request uses the production version. (optional) + target_tenant_id = 'target_tenant_id_example' # str | Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. (optional) + + try: + # Assign users to user groups + api_response = api_instance.add_users_to_user_group(users_to_user_groups_request_dto, project_id=project_id, target_tenant_id=target_tenant_id) + print("The response of UsersV1Api->add_users_to_user_group:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->add_users_to_user_group: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **users_to_user_groups_request_dto** | [**UsersToUserGroupsRequestDTO**](UsersToUserGroupsRequestDTO.md)| | + **project_id** | **str**| Optionally, specify a project in which to make the request. If omitted, the request uses the production version. | [optional] + **target_tenant_id** | **str**| Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. | [optional] + +### Return type + +[**SecurityAssignmentResponseDTO**](SecurityAssignmentResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **assign_permissions** +> AssignRevokePermissionsResponseDTO assign_permissions(assign_revoke_permissions_request_dto, project_id=project_id, target_tenant_id=target_tenant_id) + +Assign permissions to users + +This API allows you to assign a permission to specific users. Administrating tenant users can assign permissions to users in the administrating tenant and in the analytic tenants those users belong to. To assign permissions to users in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can assign permissions to users in analytic tenants by providing a tenant code and project ID in the request body. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.assign_revoke_permissions_request_dto import AssignRevokePermissionsRequestDTO +from visier.sdk.api.administration.models.assign_revoke_permissions_response_dto import AssignRevokePermissionsResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + assign_revoke_permissions_request_dto = visier.sdk.api.administration.AssignRevokePermissionsRequestDTO() # AssignRevokePermissionsRequestDTO | + project_id = 'project_id_example' # str | Optionally, specify a project in which to make the request. If omitted, the request uses the production version. (optional) + target_tenant_id = 'target_tenant_id_example' # str | Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. (optional) + + try: + # Assign permissions to users + api_response = api_instance.assign_permissions(assign_revoke_permissions_request_dto, project_id=project_id, target_tenant_id=target_tenant_id) + print("The response of UsersV1Api->assign_permissions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->assign_permissions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **assign_revoke_permissions_request_dto** | [**AssignRevokePermissionsRequestDTO**](AssignRevokePermissionsRequestDTO.md)| | + **project_id** | **str**| Optionally, specify a project in which to make the request. If omitted, the request uses the production version. | [optional] + **target_tenant_id** | **str**| Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. | [optional] + +### Return type + +[**AssignRevokePermissionsResponseDTO**](AssignRevokePermissionsResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **assign_permissions_to_user_groups** +> PermissionsToUserGroupForTenantDTO assign_permissions_to_user_groups(permissions_to_user_groups_request_dto, project_id=project_id, target_tenant_id=target_tenant_id) + +Assign permissions to user groups + +This API allows you to assign a permission to specific user groups. This assigns the permission to all users in the user group. To assign permissions to user groups in a project, provide a project UUID in the `ProjectID` request header. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.permissions_to_user_group_for_tenant_dto import PermissionsToUserGroupForTenantDTO +from visier.sdk.api.administration.models.permissions_to_user_groups_request_dto import PermissionsToUserGroupsRequestDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + permissions_to_user_groups_request_dto = visier.sdk.api.administration.PermissionsToUserGroupsRequestDTO() # PermissionsToUserGroupsRequestDTO | + project_id = 'project_id_example' # str | Optionally, specify a project in which to make the request. If omitted, the request uses the production version. (optional) + target_tenant_id = 'target_tenant_id_example' # str | Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. (optional) + + try: + # Assign permissions to user groups + api_response = api_instance.assign_permissions_to_user_groups(permissions_to_user_groups_request_dto, project_id=project_id, target_tenant_id=target_tenant_id) + print("The response of UsersV1Api->assign_permissions_to_user_groups:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->assign_permissions_to_user_groups: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **permissions_to_user_groups_request_dto** | [**PermissionsToUserGroupsRequestDTO**](PermissionsToUserGroupsRequestDTO.md)| | + **project_id** | **str**| Optionally, specify a project in which to make the request. If omitted, the request uses the production version. | [optional] + **target_tenant_id** | **str**| Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. | [optional] + +### Return type + +[**PermissionsToUserGroupForTenantDTO**](PermissionsToUserGroupForTenantDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_user** +> object delete_user(user_id, tenant_code=tenant_code) + +Delete a user + +Delete an existing user. Administrating tenant users can specify the tenant from which to delete a user. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + user_id = 'user_id_example' # str | The ID of the user you want to delete. + tenant_code = 'tenant_code_example' # str | Specify the tenant to delete a user in. (optional) + + try: + # Delete a user + api_response = api_instance.delete_user(user_id, tenant_code=tenant_code) + print("The response of UsersV1Api->delete_user:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->delete_user: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_id** | **str**| The ID of the user you want to delete. | + **tenant_code** | **str**| Specify the tenant to delete a user in. | [optional] + +### Return type + +**object** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_all_permissions_xlsx** +> bytearray get_all_permissions_xlsx(tenant_code=tenant_code) + +Retrieve a list of all permissions in XLSX format + +This API allows you to export the list of permissions in a tenant. This report includes the permission name, permission description, and permission ID for all permissions in the tenant. Administrating tenant users can export permissions lists for the administrating tenant and the analytic tenants those users belong to. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve permissions from. (optional) + + try: + # Retrieve a list of all permissions in XLSX format + api_response = api_instance.get_all_permissions_xlsx(tenant_code=tenant_code) + print("The response of UsersV1Api->get_all_permissions_xlsx:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->get_all_permissions_xlsx: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_code** | **str**| Specify the tenant to retrieve permissions from. | [optional] + +### Return type + +**bytearray** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.ms-excel, application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | An XLSX file. | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_all_user_groups** +> UserGroupsGetAPIResponseDTO get_all_user_groups(tenant_code=tenant_code, limit=limit, start=start, project_id=project_id, target_tenant_id=target_tenant_id) + +Retrieve a list of all user groups + +This API allows you to retrieve the full list of user groups in a tenant. To specify the project in which to retrieve user groups for a tenant, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user information from production. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.user_groups_get_api_response_dto import UserGroupsGetAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve the list of user groups from. (optional) + limit = 56 # int | The number of results to return. The maximum number of users to retrieve is 1000. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. (optional) + project_id = 'project_id_example' # str | Optionally, specify a project in which to make the request. If omitted, the request uses the production version. (optional) + target_tenant_id = 'target_tenant_id_example' # str | Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. (optional) + + try: + # Retrieve a list of all user groups + api_response = api_instance.get_all_user_groups(tenant_code=tenant_code, limit=limit, start=start, project_id=project_id, target_tenant_id=target_tenant_id) + print("The response of UsersV1Api->get_all_user_groups:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->get_all_user_groups: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_code** | **str**| Specify the tenant to retrieve the list of user groups from. | [optional] + **limit** | **int**| The number of results to return. The maximum number of users to retrieve is 1000. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. | [optional] + **project_id** | **str**| Optionally, specify a project in which to make the request. If omitted, the request uses the production version. | [optional] + **target_tenant_id** | **str**| Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. | [optional] + +### Return type + +[**UserGroupsGetAPIResponseDTO**](UserGroupsGetAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_all_users** +> AllUsersGetAPIResponseDTO get_all_users(tenant_code=tenant_code, assigned_profiles=assigned_profiles, assigned_permissions=assigned_permissions, assigned_user_groups=assigned_user_groups, limit=limit, start=start, project_id=project_id, target_tenant_id=target_tenant_id) + +Retrieve a list of all users + +This API allows you to retrieve the full list of users and their current states. To specify the project in which to retrieve user information, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user information from production. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.all_users_get_api_response_dto import AllUsersGetAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve a list of users from. (optional) + assigned_profiles = True # bool | If true, the response returns a list of the user's assigned profiles. (optional) + assigned_permissions = True # bool | If true, the response returns the user's assigned permissions. (optional) + assigned_user_groups = True # bool | If true, the response returns the user's assigned user groups. (optional) + limit = 56 # int | The number of results to return. The maximum number of users to retrieve is 1000. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + project_id = 'project_id_example' # str | Optionally, specify a project in which to make the request. If omitted, the request uses the production version. (optional) + target_tenant_id = 'target_tenant_id_example' # str | Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. (optional) + + try: + # Retrieve a list of all users + api_response = api_instance.get_all_users(tenant_code=tenant_code, assigned_profiles=assigned_profiles, assigned_permissions=assigned_permissions, assigned_user_groups=assigned_user_groups, limit=limit, start=start, project_id=project_id, target_tenant_id=target_tenant_id) + print("The response of UsersV1Api->get_all_users:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->get_all_users: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_code** | **str**| Specify the tenant to retrieve a list of users from. | [optional] + **assigned_profiles** | **bool**| If true, the response returns a list of the user's assigned profiles. | [optional] + **assigned_permissions** | **bool**| If true, the response returns the user's assigned permissions. | [optional] + **assigned_user_groups** | **bool**| If true, the response returns the user's assigned user groups. | [optional] + **limit** | **int**| The number of results to return. The maximum number of users to retrieve is 1000. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + **project_id** | **str**| Optionally, specify a project in which to make the request. If omitted, the request uses the production version. | [optional] + **target_tenant_id** | **str**| Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. | [optional] + +### Return type + +[**AllUsersGetAPIResponseDTO**](AllUsersGetAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_application_logs_xlsx** +> bytearray get_application_logs_xlsx(start_time=start_time, end_time=end_time, tenant_code=tenant_code) + +Retrieve the Application Logs + +This API allows you to export the Application Logs for a tenant. The Application Logs track information about your users and how they are using the application. Performing regular audits will help you identify potential security issues and keep your data safe. As part of user management, download the Application Logs to monitor user activity and logon events to ensure your users are performing authorized activities. Administrating tenant users can export application logs for the administrating tenant and the analytic tenants those users belong to. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + start_time = 'start_time_example' # str | An inclusive date-time to start retrieving Application Logs from. (optional) + end_time = 'end_time_example' # str | An exclusive date-time to stop retrieving Application Logs from. (optional) + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve Application Logs from. (optional) + + try: + # Retrieve the Application Logs + api_response = api_instance.get_application_logs_xlsx(start_time=start_time, end_time=end_time, tenant_code=tenant_code) + print("The response of UsersV1Api->get_application_logs_xlsx:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->get_application_logs_xlsx: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **start_time** | **str**| An inclusive date-time to start retrieving Application Logs from. | [optional] + **end_time** | **str**| An exclusive date-time to stop retrieving Application Logs from. | [optional] + **tenant_code** | **str**| Specify the tenant to retrieve Application Logs from. | [optional] + +### Return type + +**bytearray** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.ms-excel, application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | An XLSX file. | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_data_security_report_xlsx** +> bytearray get_data_security_report_xlsx(user_id, tenant_code=tenant_code) + +Retrieve the Data Security Report + +This API allows you to export the data security report of a user. The Data Security Report provides information about a specific user to see which populations and properties that user has access to as a result of the permissions assigned to them. Administrating tenant users can export the report for users in the administrating tenant and the analytic tenants those users belong to. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + user_id = 'user_id_example' # str | The ID of the user to retrieve the report for. + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve the Data Security Report from. (optional) + + try: + # Retrieve the Data Security Report + api_response = api_instance.get_data_security_report_xlsx(user_id, tenant_code=tenant_code) + print("The response of UsersV1Api->get_data_security_report_xlsx:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->get_data_security_report_xlsx: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_id** | **str**| The ID of the user to retrieve the report for. | + **tenant_code** | **str**| Specify the tenant to retrieve the Data Security Report from. | [optional] + +### Return type + +**bytearray** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.ms-excel, application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | An XLSX file. | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_permission_assigned_users** +> PermissionAssignedUsersDTO get_permission_assigned_users(permission_id, include_user_groups=include_user_groups, tenant_filter=tenant_filter, limit=limit, start=start, project_id=project_id, target_tenant_id=target_tenant_id) + +Retrieve users that are assigned a specific permission + +This API allows you to retrieve all the users that are assigned a specified permission. You must know the ID of the permission you want to retrieve users for. To specify the project in which to retrieve users assigned to a specific permission for the login tenant, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves users assigned to a specific permission from production. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.permission_assigned_users_dto import PermissionAssignedUsersDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + permission_id = 'permission_id_example' # str | The unique identifier of the permission you want to retrieve users for. + include_user_groups = True # bool | If `true`, the response returns a list of all users that are assigned the permission, including users that are assigned the permission through a user group. If `false`, the response returns a list of the users that are directly assigned the permission. (optional) + tenant_filter = 'tenant_filter_example' # str | Specify the tenant to retrieve the list of users from. (optional) + limit = 56 # int | The number of results to return. The maximum number of tenants to retrieve is 100. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + project_id = 'project_id_example' # str | Optionally, specify a project in which to make the request. If omitted, the request uses the production version. (optional) + target_tenant_id = 'target_tenant_id_example' # str | Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. (optional) + + try: + # Retrieve users that are assigned a specific permission + api_response = api_instance.get_permission_assigned_users(permission_id, include_user_groups=include_user_groups, tenant_filter=tenant_filter, limit=limit, start=start, project_id=project_id, target_tenant_id=target_tenant_id) + print("The response of UsersV1Api->get_permission_assigned_users:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->get_permission_assigned_users: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **permission_id** | **str**| The unique identifier of the permission you want to retrieve users for. | + **include_user_groups** | **bool**| If `true`, the response returns a list of all users that are assigned the permission, including users that are assigned the permission through a user group. If `false`, the response returns a list of the users that are directly assigned the permission. | [optional] + **tenant_filter** | **str**| Specify the tenant to retrieve the list of users from. | [optional] + **limit** | **int**| The number of results to return. The maximum number of tenants to retrieve is 100. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + **project_id** | **str**| Optionally, specify a project in which to make the request. If omitted, the request uses the production version. | [optional] + **target_tenant_id** | **str**| Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. | [optional] + +### Return type + +[**PermissionAssignedUsersDTO**](PermissionAssignedUsersDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_profile_assignments_xlsx** +> bytearray get_profile_assignments_xlsx(tenant_code=tenant_code) + +Retrieve user profile assignments in XLSX format + +This API allows you to export the profiles assigned to each user. This report details the profiles assigned to each user and the profile validity period. Administrating tenant users can export profile assignments for the administrating tenant and the analytic tenants those users belong to. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve profile assignments from. (optional) + + try: + # Retrieve user profile assignments in XLSX format + api_response = api_instance.get_profile_assignments_xlsx(tenant_code=tenant_code) + print("The response of UsersV1Api->get_profile_assignments_xlsx:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->get_profile_assignments_xlsx: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_code** | **str**| Specify the tenant to retrieve profile assignments from. | [optional] + +### Return type + +**bytearray** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.ms-excel, application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | An XLSX file. | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_user_detail** +> UserGetAPIResponseDTO get_user_detail(user_id, tenant_code=tenant_code, assigned_profiles=assigned_profiles, assigned_permissions=assigned_permissions, assigned_user_groups=assigned_user_groups, project_id=project_id, target_tenant_id=target_tenant_id) + +Retrieve a user's details + +This API allows you to retrieve all details for a specified user. To specify the project in which to retrieve user information, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user information from production. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.user_get_api_response_dto import UserGetAPIResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + user_id = 'user_id_example' # str | The ID of the user you want to retrieve. + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve a user from. (optional) + assigned_profiles = True # bool | If true, the response returns a list of the user's assigned profiles. (optional) + assigned_permissions = True # bool | If true, the response returns the user's assigned permissions. (optional) + assigned_user_groups = True # bool | If true, the response returns the user's assigned user groups. (optional) + project_id = 'project_id_example' # str | Optionally, specify a project in which to make the request. If omitted, the request uses the production version. (optional) + target_tenant_id = 'target_tenant_id_example' # str | Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. (optional) + + try: + # Retrieve a user's details + api_response = api_instance.get_user_detail(user_id, tenant_code=tenant_code, assigned_profiles=assigned_profiles, assigned_permissions=assigned_permissions, assigned_user_groups=assigned_user_groups, project_id=project_id, target_tenant_id=target_tenant_id) + print("The response of UsersV1Api->get_user_detail:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->get_user_detail: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_id** | **str**| The ID of the user you want to retrieve. | + **tenant_code** | **str**| Specify the tenant to retrieve a user from. | [optional] + **assigned_profiles** | **bool**| If true, the response returns a list of the user's assigned profiles. | [optional] + **assigned_permissions** | **bool**| If true, the response returns the user's assigned permissions. | [optional] + **assigned_user_groups** | **bool**| If true, the response returns the user's assigned user groups. | [optional] + **project_id** | **str**| Optionally, specify a project in which to make the request. If omitted, the request uses the production version. | [optional] + **target_tenant_id** | **str**| Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. | [optional] + +### Return type + +[**UserGetAPIResponseDTO**](UserGetAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_user_group_users** +> UserGroupsUsersDTO get_user_group_users(user_group_id, tenant_filter=tenant_filter, limit=limit, start=start, project_id=project_id, target_tenant_id=target_tenant_id) + +Retrieve a list of user group users + +This API allows you to retrieve the list of users explicitly assigned to a user group. Users that are implicitly included in the user group through the user group's dynamic filters are not returned by this endpoint. To specify the project in which to retrieve user group users for the login tenant, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user group users from production. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.user_groups_users_dto import UserGroupsUsersDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + user_group_id = 'user_group_id_example' # str | The ID of user group. + tenant_filter = 'tenant_filter_example' # str | Specifies the tenant to retrieve the list of users from. (optional) + limit = 56 # int | The number of results to return. The maximum number of tenants to retrieve is 100. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + project_id = 'project_id_example' # str | Optionally, specify a project in which to make the request. If omitted, the request uses the production version. (optional) + target_tenant_id = 'target_tenant_id_example' # str | Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. (optional) + + try: + # Retrieve a list of user group users + api_response = api_instance.get_user_group_users(user_group_id, tenant_filter=tenant_filter, limit=limit, start=start, project_id=project_id, target_tenant_id=target_tenant_id) + print("The response of UsersV1Api->get_user_group_users:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->get_user_group_users: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_group_id** | **str**| The ID of user group. | + **tenant_filter** | **str**| Specifies the tenant to retrieve the list of users from. | [optional] + **limit** | **int**| The number of results to return. The maximum number of tenants to retrieve is 100. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + **project_id** | **str**| Optionally, specify a project in which to make the request. If omitted, the request uses the production version. | [optional] + **target_tenant_id** | **str**| Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. | [optional] + +### Return type + +[**UserGroupsUsersDTO**](UserGroupsUsersDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_user_permissions_xlsx** +> bytearray get_user_permissions_xlsx(tenant_code=tenant_code) + +Retrieve user permissions in XLSX format + +This API allows you to export the user permission assignments for a tenant. The permission assignments report provides a summary of the permissions your users have been assigned and how each permission is being used across your user base, as well as the users that do not have any permissions assigned to them. Administrating tenant users can export permission assignments for the administrating tenant and the analytic tenants those users belong to. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + tenant_code = 'tenant_code_example' # str | Specify the tenant to retrieve the permission assignments report from. (optional) + + try: + # Retrieve user permissions in XLSX format + api_response = api_instance.get_user_permissions_xlsx(tenant_code=tenant_code) + print("The response of UsersV1Api->get_user_permissions_xlsx:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->get_user_permissions_xlsx: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_code** | **str**| Specify the tenant to retrieve the permission assignments report from. | [optional] + +### Return type + +**bytearray** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.ms-excel, application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | An XLSX file. | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **remove_permissions** +> AssignRevokePermissionsResponseDTO remove_permissions(assign_revoke_permissions_request_dto, project_id=project_id, target_tenant_id=target_tenant_id) + +Remove permissions from users + +This API allows you to remove a permission from specific users. Administrating tenant users can remove permissions from users in the administrating tenant and in the analytic tenants those users belong to. To remove permission from users in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can remove permissions from users in analytic tenants by providing a tenant code and project ID in the request body. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.assign_revoke_permissions_request_dto import AssignRevokePermissionsRequestDTO +from visier.sdk.api.administration.models.assign_revoke_permissions_response_dto import AssignRevokePermissionsResponseDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + assign_revoke_permissions_request_dto = visier.sdk.api.administration.AssignRevokePermissionsRequestDTO() # AssignRevokePermissionsRequestDTO | + project_id = 'project_id_example' # str | Optionally, specify a project in which to make the request. If omitted, the request uses the production version. (optional) + target_tenant_id = 'target_tenant_id_example' # str | Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. (optional) + + try: + # Remove permissions from users + api_response = api_instance.remove_permissions(assign_revoke_permissions_request_dto, project_id=project_id, target_tenant_id=target_tenant_id) + print("The response of UsersV1Api->remove_permissions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->remove_permissions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **assign_revoke_permissions_request_dto** | [**AssignRevokePermissionsRequestDTO**](AssignRevokePermissionsRequestDTO.md)| | + **project_id** | **str**| Optionally, specify a project in which to make the request. If omitted, the request uses the production version. | [optional] + **target_tenant_id** | **str**| Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. | [optional] + +### Return type + +[**AssignRevokePermissionsResponseDTO**](AssignRevokePermissionsResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **remove_users_from_user_group** +> SecurityAssignmentResponseDTO remove_users_from_user_group(users_to_user_groups_request_dto, project_id=project_id, target_tenant_id=target_tenant_id) + +Remove users from user groups + +This API allows you to remove users from specific user groups. To remove users from user groups in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can remove users to user groups in analytic tenants by providing a tenant code and project ID in the request body. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.security_assignment_response_dto import SecurityAssignmentResponseDTO +from visier.sdk.api.administration.models.users_to_user_groups_request_dto import UsersToUserGroupsRequestDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + users_to_user_groups_request_dto = visier.sdk.api.administration.UsersToUserGroupsRequestDTO() # UsersToUserGroupsRequestDTO | + project_id = 'project_id_example' # str | Optionally, specify a project in which to make the request. If omitted, the request uses the production version. (optional) + target_tenant_id = 'target_tenant_id_example' # str | Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. (optional) + + try: + # Remove users from user groups + api_response = api_instance.remove_users_from_user_group(users_to_user_groups_request_dto, project_id=project_id, target_tenant_id=target_tenant_id) + print("The response of UsersV1Api->remove_users_from_user_group:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->remove_users_from_user_group: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **users_to_user_groups_request_dto** | [**UsersToUserGroupsRequestDTO**](UsersToUserGroupsRequestDTO.md)| | + **project_id** | **str**| Optionally, specify a project in which to make the request. If omitted, the request uses the production version. | [optional] + **target_tenant_id** | **str**| Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. | [optional] + +### Return type + +[**SecurityAssignmentResponseDTO**](SecurityAssignmentResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **revoke_permissions_from_user_groups** +> PermissionsToUserGroupForTenantDTO revoke_permissions_from_user_groups(permissions_to_user_groups_request_dto, project_id=project_id, target_tenant_id=target_tenant_id) + +Remove permissions from user groups + +This API allows you to remove a permission from specific user groups. To remove permissions from user groups in a project, provide a project UUID in the `ProjectID` request header. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.permissions_to_user_group_for_tenant_dto import PermissionsToUserGroupForTenantDTO +from visier.sdk.api.administration.models.permissions_to_user_groups_request_dto import PermissionsToUserGroupsRequestDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + permissions_to_user_groups_request_dto = visier.sdk.api.administration.PermissionsToUserGroupsRequestDTO() # PermissionsToUserGroupsRequestDTO | + project_id = 'project_id_example' # str | Optionally, specify a project in which to make the request. If omitted, the request uses the production version. (optional) + target_tenant_id = 'target_tenant_id_example' # str | Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. (optional) + + try: + # Remove permissions from user groups + api_response = api_instance.revoke_permissions_from_user_groups(permissions_to_user_groups_request_dto, project_id=project_id, target_tenant_id=target_tenant_id) + print("The response of UsersV1Api->revoke_permissions_from_user_groups:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->revoke_permissions_from_user_groups: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **permissions_to_user_groups_request_dto** | [**PermissionsToUserGroupsRequestDTO**](PermissionsToUserGroupsRequestDTO.md)| | + **project_id** | **str**| Optionally, specify a project in which to make the request. If omitted, the request uses the production version. | [optional] + **target_tenant_id** | **str**| Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. | [optional] + +### Return type + +[**PermissionsToUserGroupForTenantDTO**](PermissionsToUserGroupForTenantDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_user** +> UserUpdateAPIRequestDTO update_user(user_id, user_update_api_request_dto, tenant_code=tenant_code) + +Update a user + +Update an existing user's information, such as their display name or if the user is enabled in Visier. + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.user_update_api_request_dto import UserUpdateAPIRequestDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV1Api(api_client) + user_id = 'user_id_example' # str | The ID of the user you want to update. + user_update_api_request_dto = visier.sdk.api.administration.UserUpdateAPIRequestDTO() # UserUpdateAPIRequestDTO | + tenant_code = 'tenant_code_example' # str | Specify the tenant to update a user in. (optional) + + try: + # Update a user + api_response = api_instance.update_user(user_id, user_update_api_request_dto, tenant_code=tenant_code) + print("The response of UsersV1Api->update_user:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV1Api->update_user: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_id** | **str**| The ID of the user you want to update. | + **user_update_api_request_dto** | [**UserUpdateAPIRequestDTO**](UserUpdateAPIRequestDTO.md)| | + **tenant_code** | **str**| Specify the tenant to update a user in. | [optional] + +### Return type + +[**UserUpdateAPIRequestDTO**](UserUpdateAPIRequestDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.administration/docs/UsersV2Api.md b/src/visier.sdk.api.administration/docs/UsersV2Api.md new file mode 100644 index 000000000..6ab8bb264 --- /dev/null +++ b/src/visier.sdk.api.administration/docs/UsersV2Api.md @@ -0,0 +1,227 @@ +# visier.sdk.api.administration.UsersV2Api + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**add_users**](UsersV2Api.md#add_users) | **POST** /v2/admin/users | Add users +[**delete_users**](UsersV2Api.md#delete_users) | **DELETE** /v2/admin/users | Delete users +[**update_users**](UsersV2Api.md#update_users) | **PUT** /v2/admin/users | Update users + + +# **add_users** +> UsersAPIResponseDTO add_users(users_creation_api_request_dto, tenant_code=tenant_code) + +Add users + +Create new users. Administrating tenant users can specify the tenant in which to add these users.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.users_api_response_dto import UsersAPIResponseDTO +from visier.sdk.api.administration.models.users_creation_api_request_dto import UsersCreationAPIRequestDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV2Api(api_client) + users_creation_api_request_dto = visier.sdk.api.administration.UsersCreationAPIRequestDTO() # UsersCreationAPIRequestDTO | + tenant_code = 'tenant_code_example' # str | Specify the tenant to create a user in. (optional) + + try: + # Add users + api_response = api_instance.add_users(users_creation_api_request_dto, tenant_code=tenant_code) + print("The response of UsersV2Api->add_users:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV2Api->add_users: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **users_creation_api_request_dto** | [**UsersCreationAPIRequestDTO**](UsersCreationAPIRequestDTO.md)| | + **tenant_code** | **str**| Specify the tenant to create a user in. | [optional] + +### Return type + +[**UsersAPIResponseDTO**](UsersAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_users** +> UsersAPIResponseDTO delete_users(users_delete_api_request_dto, tenant_code=tenant_code) + +Delete users + +Delete an existing user. Administrating tenant users can specify the tenant from which to delete a user.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.users_api_response_dto import UsersAPIResponseDTO +from visier.sdk.api.administration.models.users_delete_api_request_dto import UsersDeleteAPIRequestDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV2Api(api_client) + users_delete_api_request_dto = visier.sdk.api.administration.UsersDeleteAPIRequestDTO() # UsersDeleteAPIRequestDTO | + tenant_code = 'tenant_code_example' # str | Specify the tenant to delete a user in. (optional) + + try: + # Delete users + api_response = api_instance.delete_users(users_delete_api_request_dto, tenant_code=tenant_code) + print("The response of UsersV2Api->delete_users:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV2Api->delete_users: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **users_delete_api_request_dto** | [**UsersDeleteAPIRequestDTO**](UsersDeleteAPIRequestDTO.md)| | + **tenant_code** | **str**| Specify the tenant to delete a user in. | [optional] + +### Return type + +[**UsersAPIResponseDTO**](UsersAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_users** +> UsersAPIResponseDTO update_users(users_update_api_request_dto, tenant_code=tenant_code) + +Update users + +Update an existing user's information, such as their display name or if the user is enabled in Visier.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + +### Example + + +```python +import visier.sdk.api.administration +from visier.sdk.api.administration.models.users_api_response_dto import UsersAPIResponseDTO +from visier.sdk.api.administration.models.users_update_api_request_dto import UsersUpdateAPIRequestDTO +from visier.sdk.api.administration.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.administration.Configuration( + host = "http://localhost" +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.administration.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.administration.UsersV2Api(api_client) + users_update_api_request_dto = visier.sdk.api.administration.UsersUpdateAPIRequestDTO() # UsersUpdateAPIRequestDTO | + tenant_code = 'tenant_code_example' # str | Specify the tenant to update a user in. (optional) + + try: + # Update users + api_response = api_instance.update_users(users_update_api_request_dto, tenant_code=tenant_code) + print("The response of UsersV2Api->update_users:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersV2Api->update_users: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **users_update_api_request_dto** | [**UsersUpdateAPIRequestDTO**](UsersUpdateAPIRequestDTO.md)| | + **tenant_code** | **str**| Specify the tenant to update a user in. | [optional] + +### Return type + +[**UsersAPIResponseDTO**](UsersAPIResponseDTO.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.administration/git_push.sh b/src/visier.sdk.api.administration/git_push.sh new file mode 100644 index 000000000..f53a75d4f --- /dev/null +++ b/src/visier.sdk.api.administration/git_push.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 +git_host=$4 + +if [ "$git_host" = "" ]; then + git_host="github.com" + echo "[INFO] No command line input provided. Set \$git_host to $git_host" +fi + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=$(git remote) +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' diff --git a/src/visier.sdk.api.administration/pyproject.toml b/src/visier.sdk.api.administration/pyproject.toml new file mode 100644 index 000000000..c29593853 --- /dev/null +++ b/src/visier.sdk.api.administration/pyproject.toml @@ -0,0 +1,71 @@ +[tool.poetry] +name = "visier.sdk.api.administration" +version = "0.0.1" +description = "Visier Administration APIs" +authors = ["OpenAPI Generator Community "] +license = "Apache License, Version 2.0" +readme = "README.md" +repository = "https://github.com/GIT_USER_ID/GIT_REPO_ID" +keywords = ["OpenAPI", "OpenAPI-Generator", "Visier Administration APIs"] +include = ["visier.sdk.api.administration/py.typed"] + +[tool.poetry.dependencies] +python = "^3.7" + +urllib3 = ">= 1.25.3" +python-dateutil = ">=2.8.2" +pydantic = ">=2" +typing-extensions = ">=4.7.1" + +[tool.poetry.dev-dependencies] +pytest = ">=7.2.1" +tox = ">=3.9.0" +flake8 = ">=4.0.0" +types-python-dateutil = ">=2.8.19.14" +mypy = "1.4.1" + + +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[tool.pylint.'MESSAGES CONTROL'] +extension-pkg-whitelist = "pydantic" + +[tool.mypy] +files = [ + "visier.sdk.api.administration", + #"test", # auto-generated tests + "tests", # hand-written tests +] +# TODO: enable "strict" once all these individual checks are passing +# strict = true + +# List from: https://mypy.readthedocs.io/en/stable/existing_code.html#introduce-stricter-options +warn_unused_configs = true +warn_redundant_casts = true +warn_unused_ignores = true + +## Getting these passing should be easy +strict_equality = true +strict_concatenate = true + +## Strongly recommend enabling this one as soon as you can +check_untyped_defs = true + +## These shouldn't be too much additional work, but may be tricky to +## get passing if you use a lot of untyped libraries +disallow_subclassing_any = true +disallow_untyped_decorators = true +disallow_any_generics = true + +### These next few are various gradations of forcing use of type annotations +#disallow_untyped_calls = true +#disallow_incomplete_defs = true +#disallow_untyped_defs = true +# +### This one isn't too hard to get passing, but return on investment is lower +#no_implicit_reexport = true +# +### This one can be tricky to get passing if you use a lot of untyped libraries +#warn_return_any = true diff --git a/src/visier.sdk.api.administration/requirements.txt b/src/visier.sdk.api.administration/requirements.txt new file mode 100644 index 000000000..931b4e384 --- /dev/null +++ b/src/visier.sdk.api.administration/requirements.txt @@ -0,0 +1,6 @@ +python_dateutil >= 2.5.3 +setuptools >= 21.0.0 +urllib3 >= 1.25.3, < 2.1.0 +pydantic >= 2 +typing-extensions >= 4.7.1 +Flask >= 3.0.0 \ No newline at end of file diff --git a/src/visier.sdk.api.administration/setup.cfg b/src/visier.sdk.api.administration/setup.cfg new file mode 100644 index 000000000..11433ee87 --- /dev/null +++ b/src/visier.sdk.api.administration/setup.cfg @@ -0,0 +1,2 @@ +[flake8] +max-line-length=99 diff --git a/src/visier.sdk.api.administration/setup.py b/src/visier.sdk.api.administration/setup.py new file mode 100644 index 000000000..e4c42d01e --- /dev/null +++ b/src/visier.sdk.api.administration/setup.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from setuptools import setup, find_packages # noqa: H301 + +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools +NAME = "visier.sdk.api.administration" +VERSION = "0.0.1" +PYTHON_REQUIRES = ">=3.7" +REQUIRES = [ + "urllib3 >= 1.25.3, < 2.1.0", + "python-dateutil", + "pydantic >= 2", + "typing-extensions >= 4.7.1", +] + +setup( + name=NAME, + version=VERSION, + description="Visier Administration APIs", + author="OpenAPI Generator community", + author_email="team@openapitools.org", + url="", + keywords=["OpenAPI", "OpenAPI-Generator", "Visier Administration APIs"], + install_requires=REQUIRES, + packages=find_packages(exclude=["test", "tests"]), + include_package_data=True, + license="Apache License, Version 2.0", + long_description_content_type='text/markdown', + long_description="""\ + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.<br>**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + """, # noqa: E501 + package_data={"visier.sdk.api.administration": ["py.typed"]}, +) diff --git a/src/visier.sdk.api.administration/test-requirements.txt b/src/visier.sdk.api.administration/test-requirements.txt new file mode 100644 index 000000000..8e6d8cb13 --- /dev/null +++ b/src/visier.sdk.api.administration/test-requirements.txt @@ -0,0 +1,5 @@ +pytest~=7.1.3 +pytest-cov>=2.8.1 +pytest-randomly>=3.12.0 +mypy>=1.4.1 +types-python-dateutil>=2.8.19 diff --git a/src/visier.sdk.api.administration/test/__init__.py b/src/visier.sdk.api.administration/test/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.administration/test/test_accessible_tenant_profile_assignment_request_dto.py b/src/visier.sdk.api.administration/test/test_accessible_tenant_profile_assignment_request_dto.py new file mode 100644 index 000000000..92ca34b75 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_accessible_tenant_profile_assignment_request_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.accessible_tenant_profile_assignment_request_dto import AccessibleTenantProfileAssignmentRequestDTO + +class TestAccessibleTenantProfileAssignmentRequestDTO(unittest.TestCase): + """AccessibleTenantProfileAssignmentRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AccessibleTenantProfileAssignmentRequestDTO: + """Test AccessibleTenantProfileAssignmentRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AccessibleTenantProfileAssignmentRequestDTO` + """ + model = AccessibleTenantProfileAssignmentRequestDTO() + if include_optional: + return AccessibleTenantProfileAssignmentRequestDTO( + target_tenant_codes = [ + visier.sdk.api.administration.models.target_tenant_code_dto.TargetTenantCodeDTO( + for_all_children = True, + tenant_code = '', ) + ], + target_user_ids = [ + '' + ], + validity_end_time = '', + validity_start_time = '' + ) + else: + return AccessibleTenantProfileAssignmentRequestDTO( + ) + """ + + def testAccessibleTenantProfileAssignmentRequestDTO(self): + """Test AccessibleTenantProfileAssignmentRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_accessible_tenant_profile_assignment_response_dto.py b/src/visier.sdk.api.administration/test/test_accessible_tenant_profile_assignment_response_dto.py new file mode 100644 index 000000000..feab1e1b9 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_accessible_tenant_profile_assignment_response_dto.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.accessible_tenant_profile_assignment_response_dto import AccessibleTenantProfileAssignmentResponseDTO + +class TestAccessibleTenantProfileAssignmentResponseDTO(unittest.TestCase): + """AccessibleTenantProfileAssignmentResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AccessibleTenantProfileAssignmentResponseDTO: + """Test AccessibleTenantProfileAssignmentResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AccessibleTenantProfileAssignmentResponseDTO` + """ + model = AccessibleTenantProfileAssignmentResponseDTO() + if include_optional: + return AccessibleTenantProfileAssignmentResponseDTO( + bad_tenant_codes = [ + visier.sdk.api.administration.models.tenant_code_error_dto.TenantCodeErrorDTO( + error = null, + for_all_children = True, + tenant_code = '', ) + ], + bad_user_ids = [ + visier.sdk.api.administration.models.user_id_error_dto.UserIdErrorDTO( + error = null, + user_id = '', ) + ], + errors = True, + failed_assignments = [ + visier.sdk.api.administration.models.failed_accessible_tenant_profile_assignment_dto.FailedAccessibleTenantProfileAssignmentDTO( + error = null, + for_all_children = True, + tenant_code = '', + user_id = '', ) + ], + successful_assignments = [ + visier.sdk.api.administration.models.successful_accessible_tenant_profile_assignment_dto.SuccessfulAccessibleTenantProfileAssignmentDTO( + for_all_children = True, + tenant_code = '', + user_id = '', ) + ] + ) + else: + return AccessibleTenantProfileAssignmentResponseDTO( + ) + """ + + def testAccessibleTenantProfileAssignmentResponseDTO(self): + """Test AccessibleTenantProfileAssignmentResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_accessible_tenant_profile_revoke_request_dto.py b/src/visier.sdk.api.administration/test/test_accessible_tenant_profile_revoke_request_dto.py new file mode 100644 index 000000000..6cbd1c632 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_accessible_tenant_profile_revoke_request_dto.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.accessible_tenant_profile_revoke_request_dto import AccessibleTenantProfileRevokeRequestDTO + +class TestAccessibleTenantProfileRevokeRequestDTO(unittest.TestCase): + """AccessibleTenantProfileRevokeRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AccessibleTenantProfileRevokeRequestDTO: + """Test AccessibleTenantProfileRevokeRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AccessibleTenantProfileRevokeRequestDTO` + """ + model = AccessibleTenantProfileRevokeRequestDTO() + if include_optional: + return AccessibleTenantProfileRevokeRequestDTO( + target_tenant_codes = [ + visier.sdk.api.administration.models.target_tenant_code_dto.TargetTenantCodeDTO( + for_all_children = True, + tenant_code = '', ) + ], + target_user_ids = [ + '' + ] + ) + else: + return AccessibleTenantProfileRevokeRequestDTO( + ) + """ + + def testAccessibleTenantProfileRevokeRequestDTO(self): + """Test AccessibleTenantProfileRevokeRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_accessible_tenant_profile_revoke_response_dto.py b/src/visier.sdk.api.administration/test/test_accessible_tenant_profile_revoke_response_dto.py new file mode 100644 index 000000000..8d0bc920a --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_accessible_tenant_profile_revoke_response_dto.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.accessible_tenant_profile_revoke_response_dto import AccessibleTenantProfileRevokeResponseDTO + +class TestAccessibleTenantProfileRevokeResponseDTO(unittest.TestCase): + """AccessibleTenantProfileRevokeResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AccessibleTenantProfileRevokeResponseDTO: + """Test AccessibleTenantProfileRevokeResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AccessibleTenantProfileRevokeResponseDTO` + """ + model = AccessibleTenantProfileRevokeResponseDTO() + if include_optional: + return AccessibleTenantProfileRevokeResponseDTO( + bad_tenant_codes = [ + visier.sdk.api.administration.models.reduced_tenant_code_error_dto.ReducedTenantCodeErrorDTO( + error = null, + for_all_children = True, + tenant_code = '', ) + ], + bad_user_ids = [ + visier.sdk.api.administration.models.reduced_user_id_error_dto.ReducedUserIdErrorDTO( + error = null, + user_id = '', ) + ], + succeeded = [ + visier.sdk.api.administration.models.successful_local_tenant_profile_assignment_dto.SuccessfulLocalTenantProfileAssignmentDTO( + user_id = '', ) + ], + unaffected_users = [ + visier.sdk.api.administration.models.successful_local_tenant_profile_assignment_dto.SuccessfulLocalTenantProfileAssignmentDTO( + user_id = '', ) + ] + ) + else: + return AccessibleTenantProfileRevokeResponseDTO( + ) + """ + + def testAccessibleTenantProfileRevokeResponseDTO(self): + """Test AccessibleTenantProfileRevokeResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_additional_capabilities_dto.py b/src/visier.sdk.api.administration/test/test_additional_capabilities_dto.py new file mode 100644 index 000000000..13ccc26f5 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_additional_capabilities_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.additional_capabilities_dto import AdditionalCapabilitiesDTO + +class TestAdditionalCapabilitiesDTO(unittest.TestCase): + """AdditionalCapabilitiesDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AdditionalCapabilitiesDTO: + """Test AdditionalCapabilitiesDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AdditionalCapabilitiesDTO` + """ + model = AdditionalCapabilitiesDTO() + if include_optional: + return AdditionalCapabilitiesDTO( + additional_capabilities = [ + '' + ] + ) + else: + return AdditionalCapabilitiesDTO( + ) + """ + + def testAdditionalCapabilitiesDTO(self): + """Test AdditionalCapabilitiesDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_admin_capability_config_dto.py b/src/visier.sdk.api.administration/test/test_admin_capability_config_dto.py new file mode 100644 index 000000000..bf02eedef --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_admin_capability_config_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.admin_capability_config_dto import AdminCapabilityConfigDTO + +class TestAdminCapabilityConfigDTO(unittest.TestCase): + """AdminCapabilityConfigDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AdminCapabilityConfigDTO: + """Test AdminCapabilityConfigDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AdminCapabilityConfigDTO` + """ + model = AdminCapabilityConfigDTO() + if include_optional: + return AdminCapabilityConfigDTO( + all_capabilities_access = True, + capabilities = [ + '' + ] + ) + else: + return AdminCapabilityConfigDTO( + ) + """ + + def testAdminCapabilityConfigDTO(self): + """Test AdminCapabilityConfigDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_all_permissions_assigned_for_local_tenant_dto.py b/src/visier.sdk.api.administration/test/test_all_permissions_assigned_for_local_tenant_dto.py new file mode 100644 index 000000000..199a27379 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_all_permissions_assigned_for_local_tenant_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.all_permissions_assigned_for_local_tenant_dto import AllPermissionsAssignedForLocalTenantDTO + +class TestAllPermissionsAssignedForLocalTenantDTO(unittest.TestCase): + """AllPermissionsAssignedForLocalTenantDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AllPermissionsAssignedForLocalTenantDTO: + """Test AllPermissionsAssignedForLocalTenantDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AllPermissionsAssignedForLocalTenantDTO` + """ + model = AllPermissionsAssignedForLocalTenantDTO() + if include_optional: + return AllPermissionsAssignedForLocalTenantDTO( + assigned_permissions = [ + visier.sdk.api.administration.models.permission_assigned_for_local_tenant_dto.PermissionAssignedForLocalTenantDTO( + description = '', + display_name = '', + permission_id = '', ) + ] + ) + else: + return AllPermissionsAssignedForLocalTenantDTO( + ) + """ + + def testAllPermissionsAssignedForLocalTenantDTO(self): + """Test AllPermissionsAssignedForLocalTenantDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_all_profile_assigned_for_accessible_tenant_dto.py b/src/visier.sdk.api.administration/test/test_all_profile_assigned_for_accessible_tenant_dto.py new file mode 100644 index 000000000..2e304d841 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_all_profile_assigned_for_accessible_tenant_dto.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.all_profile_assigned_for_accessible_tenant_dto import AllProfileAssignedForAccessibleTenantDTO + +class TestAllProfileAssignedForAccessibleTenantDTO(unittest.TestCase): + """AllProfileAssignedForAccessibleTenantDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AllProfileAssignedForAccessibleTenantDTO: + """Test AllProfileAssignedForAccessibleTenantDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AllProfileAssignedForAccessibleTenantDTO` + """ + model = AllProfileAssignedForAccessibleTenantDTO() + if include_optional: + return AllProfileAssignedForAccessibleTenantDTO( + assigned_profiles_for_accessible_tenant = [ + visier.sdk.api.administration.models.profile_assigned_for_accessible_tenant_dto.ProfileAssignedForAccessibleTenantDTO( + display_name = '', + for_all_children = True, + profile_id = '', + tenant_code = '', + validity_end_time = '', + validity_start_time = '', ) + ] + ) + else: + return AllProfileAssignedForAccessibleTenantDTO( + ) + """ + + def testAllProfileAssignedForAccessibleTenantDTO(self): + """Test AllProfileAssignedForAccessibleTenantDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_all_profile_assigned_for_local_tenant_dto.py b/src/visier.sdk.api.administration/test/test_all_profile_assigned_for_local_tenant_dto.py new file mode 100644 index 000000000..0a18f90c8 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_all_profile_assigned_for_local_tenant_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.all_profile_assigned_for_local_tenant_dto import AllProfileAssignedForLocalTenantDTO + +class TestAllProfileAssignedForLocalTenantDTO(unittest.TestCase): + """AllProfileAssignedForLocalTenantDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AllProfileAssignedForLocalTenantDTO: + """Test AllProfileAssignedForLocalTenantDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AllProfileAssignedForLocalTenantDTO` + """ + model = AllProfileAssignedForLocalTenantDTO() + if include_optional: + return AllProfileAssignedForLocalTenantDTO( + assigned_profiles = [ + visier.sdk.api.administration.models.profile_assigned_for_local_tenant_dto.ProfileAssignedForLocalTenantDTO( + additional_capabilities = null, + capabilities = [ + visier.sdk.api.administration.models.capabilities_dto.CapabilitiesDTO( + access_level = '', + capability = '', + view_level = '', ) + ], + display_name = '', + profile_id = '', + validity_end_time = '', + validity_start_time = '', ) + ] + ) + else: + return AllProfileAssignedForLocalTenantDTO( + ) + """ + + def testAllProfileAssignedForLocalTenantDTO(self): + """Test AllProfileAssignedForLocalTenantDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_all_tenants_status_apidto.py b/src/visier.sdk.api.administration/test/test_all_tenants_status_apidto.py new file mode 100644 index 000000000..d0f417d62 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_all_tenants_status_apidto.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.all_tenants_status_apidto import AllTenantsStatusAPIDTO + +class TestAllTenantsStatusAPIDTO(unittest.TestCase): + """AllTenantsStatusAPIDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AllTenantsStatusAPIDTO: + """Test AllTenantsStatusAPIDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AllTenantsStatusAPIDTO` + """ + model = AllTenantsStatusAPIDTO() + if include_optional: + return AllTenantsStatusAPIDTO( + limit = 56, + start = 56, + tenants = [ + visier.sdk.api.administration.models.tenant_detail_apidto.TenantDetailAPIDTO( + can_administer_other_tenants = True, + current_data_version = '', + custom_properties = [ + visier.sdk.api.administration.models.custom_tenant_property_dto.CustomTenantPropertyDTO( + key = '', + value = '', ) + ], + data_version_date = '', + embeddable_domains = [ + '' + ], + industry_code = 56, + modules = [ + visier.sdk.api.administration.models.tenant_module_dto.TenantModuleDTO( + display_name = '', + module_settings = null, + symbol_name = '', ) + ], + provision_date = '', + sso_instance_issuers = [ + '' + ], + status = '', + tenant_code = '', + tenant_display_name = '', + vanity_url_name = '', ) + ] + ) + else: + return AllTenantsStatusAPIDTO( + ) + """ + + def testAllTenantsStatusAPIDTO(self): + """Test AllTenantsStatusAPIDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_all_user_groups_assigned_for_local_tenant_dto.py b/src/visier.sdk.api.administration/test/test_all_user_groups_assigned_for_local_tenant_dto.py new file mode 100644 index 000000000..eb871dfff --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_all_user_groups_assigned_for_local_tenant_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.all_user_groups_assigned_for_local_tenant_dto import AllUserGroupsAssignedForLocalTenantDTO + +class TestAllUserGroupsAssignedForLocalTenantDTO(unittest.TestCase): + """AllUserGroupsAssignedForLocalTenantDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AllUserGroupsAssignedForLocalTenantDTO: + """Test AllUserGroupsAssignedForLocalTenantDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AllUserGroupsAssignedForLocalTenantDTO` + """ + model = AllUserGroupsAssignedForLocalTenantDTO() + if include_optional: + return AllUserGroupsAssignedForLocalTenantDTO( + assigned_user_groups = [ + visier.sdk.api.administration.models.user_group_assigned_for_local_tenant_dto.UserGroupAssignedForLocalTenantDTO( + display_name = '', + user_group_id = '', ) + ] + ) + else: + return AllUserGroupsAssignedForLocalTenantDTO( + ) + """ + + def testAllUserGroupsAssignedForLocalTenantDTO(self): + """Test AllUserGroupsAssignedForLocalTenantDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_all_users_get_api_response_dto.py b/src/visier.sdk.api.administration/test/test_all_users_get_api_response_dto.py new file mode 100644 index 000000000..349e29a1c --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_all_users_get_api_response_dto.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.all_users_get_api_response_dto import AllUsersGetAPIResponseDTO + +class TestAllUsersGetAPIResponseDTO(unittest.TestCase): + """AllUsersGetAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AllUsersGetAPIResponseDTO: + """Test AllUsersGetAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AllUsersGetAPIResponseDTO` + """ + model = AllUsersGetAPIResponseDTO() + if include_optional: + return AllUsersGetAPIResponseDTO( + limit = 56, + start = 56, + users = [ + visier.sdk.api.administration.models.user_get_api_response_dto.UserGetAPIResponseDTO( + account_enabled = True, + display_name = '', + email = '', + employee_id = '', + last_login = null, + permissions = null, + profiles = null, + user_groups = null, + user_id = '', + username = '', ) + ] + ) + else: + return AllUsersGetAPIResponseDTO( + ) + """ + + def testAllUsersGetAPIResponseDTO(self): + """Test AllUsersGetAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_analytic_object_dto.py b/src/visier.sdk.api.administration/test/test_analytic_object_dto.py new file mode 100644 index 000000000..c526fa4c7 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_analytic_object_dto.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.analytic_object_dto import AnalyticObjectDTO + +class TestAnalyticObjectDTO(unittest.TestCase): + """AnalyticObjectDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AnalyticObjectDTO: + """Test AnalyticObjectDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AnalyticObjectDTO` + """ + model = AnalyticObjectDTO() + if include_optional: + return AnalyticObjectDTO( + analytic_object_id = '', + display_name = '', + object_type = 'Event', + related_objects = [ + visier.sdk.api.administration.models.related_analytic_object_dto.RelatedAnalyticObjectDTO( + analytic_object_id = '', + display_name = '', ) + ], + securable_dimensions = [ + visier.sdk.api.administration.models.securable_dimension_dto.SecurableDimensionDTO( + analytic_object_ids = [ + '' + ], + dimension_id = '', + display_name = '', + hierarchy_properties = [ + visier.sdk.api.administration.models.hierarchy_property_dto.HierarchyPropertyDTO( + display_name = '', + hierarchy_property_id = '', ) + ], ) + ], + securable_properties = [ + visier.sdk.api.administration.models.securable_property_dto.SecurablePropertyDTO( + analytic_object_id = '', + display_name = '', + is_primary_key = True, + property_id = '', + reference_symbol_name = '', ) + ] + ) + else: + return AnalyticObjectDTO( + ) + """ + + def testAnalyticObjectDTO(self): + """Test AnalyticObjectDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_assign_revoke_permission_by_permission_dto.py b/src/visier.sdk.api.administration/test/test_assign_revoke_permission_by_permission_dto.py new file mode 100644 index 000000000..90814276c --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_assign_revoke_permission_by_permission_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.assign_revoke_permission_by_permission_dto import AssignRevokePermissionByPermissionDTO + +class TestAssignRevokePermissionByPermissionDTO(unittest.TestCase): + """AssignRevokePermissionByPermissionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AssignRevokePermissionByPermissionDTO: + """Test AssignRevokePermissionByPermissionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AssignRevokePermissionByPermissionDTO` + """ + model = AssignRevokePermissionByPermissionDTO() + if include_optional: + return AssignRevokePermissionByPermissionDTO( + permission = visier.sdk.api.administration.models.permission_assigned_for_local_tenant_dto.PermissionAssignedForLocalTenantDTO( + description = '', + display_name = '', + permission_id = '', ), + users = [ + visier.sdk.api.administration.models.assign_revoke_permission_by_user_dto.AssignRevokePermissionByUserDTO( + message = '', + user_id = '', + username = '', ) + ] + ) + else: + return AssignRevokePermissionByPermissionDTO( + ) + """ + + def testAssignRevokePermissionByPermissionDTO(self): + """Test AssignRevokePermissionByPermissionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_assign_revoke_permission_by_tenant_dto.py b/src/visier.sdk.api.administration/test/test_assign_revoke_permission_by_tenant_dto.py new file mode 100644 index 000000000..a4cac031c --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_assign_revoke_permission_by_tenant_dto.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.assign_revoke_permission_by_tenant_dto import AssignRevokePermissionByTenantDTO + +class TestAssignRevokePermissionByTenantDTO(unittest.TestCase): + """AssignRevokePermissionByTenantDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AssignRevokePermissionByTenantDTO: + """Test AssignRevokePermissionByTenantDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AssignRevokePermissionByTenantDTO` + """ + model = AssignRevokePermissionByTenantDTO() + if include_optional: + return AssignRevokePermissionByTenantDTO( + message = '', + permissions = [ + visier.sdk.api.administration.models.assign_revoke_permission_by_permission_dto.AssignRevokePermissionByPermissionDTO( + permission = visier.sdk.api.administration.models.permission_assigned_for_local_tenant_dto.PermissionAssignedForLocalTenantDTO( + description = '', + display_name = '', + permission_id = '', ), + users = [ + visier.sdk.api.administration.models.assign_revoke_permission_by_user_dto.AssignRevokePermissionByUserDTO( + message = '', + user_id = '', + username = '', ) + ], ) + ], + project_id = '', + status = 'Unknown', + tenant_code = '' + ) + else: + return AssignRevokePermissionByTenantDTO( + ) + """ + + def testAssignRevokePermissionByTenantDTO(self): + """Test AssignRevokePermissionByTenantDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_assign_revoke_permission_by_user_dto.py b/src/visier.sdk.api.administration/test/test_assign_revoke_permission_by_user_dto.py new file mode 100644 index 000000000..3fe75374e --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_assign_revoke_permission_by_user_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.assign_revoke_permission_by_user_dto import AssignRevokePermissionByUserDTO + +class TestAssignRevokePermissionByUserDTO(unittest.TestCase): + """AssignRevokePermissionByUserDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AssignRevokePermissionByUserDTO: + """Test AssignRevokePermissionByUserDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AssignRevokePermissionByUserDTO` + """ + model = AssignRevokePermissionByUserDTO() + if include_optional: + return AssignRevokePermissionByUserDTO( + message = '', + user_id = '', + username = '' + ) + else: + return AssignRevokePermissionByUserDTO( + ) + """ + + def testAssignRevokePermissionByUserDTO(self): + """Test AssignRevokePermissionByUserDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_assign_revoke_permission_request_dto.py b/src/visier.sdk.api.administration/test/test_assign_revoke_permission_request_dto.py new file mode 100644 index 000000000..98eab6333 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_assign_revoke_permission_request_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.assign_revoke_permission_request_dto import AssignRevokePermissionRequestDTO + +class TestAssignRevokePermissionRequestDTO(unittest.TestCase): + """AssignRevokePermissionRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AssignRevokePermissionRequestDTO: + """Test AssignRevokePermissionRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AssignRevokePermissionRequestDTO` + """ + model = AssignRevokePermissionRequestDTO() + if include_optional: + return AssignRevokePermissionRequestDTO( + permission_id = '', + user_ids = [ + '' + ] + ) + else: + return AssignRevokePermissionRequestDTO( + ) + """ + + def testAssignRevokePermissionRequestDTO(self): + """Test AssignRevokePermissionRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_assign_revoke_permissions_request_dto.py b/src/visier.sdk.api.administration/test/test_assign_revoke_permissions_request_dto.py new file mode 100644 index 000000000..629d08679 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_assign_revoke_permissions_request_dto.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.assign_revoke_permissions_request_dto import AssignRevokePermissionsRequestDTO + +class TestAssignRevokePermissionsRequestDTO(unittest.TestCase): + """AssignRevokePermissionsRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AssignRevokePermissionsRequestDTO: + """Test AssignRevokePermissionsRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AssignRevokePermissionsRequestDTO` + """ + model = AssignRevokePermissionsRequestDTO() + if include_optional: + return AssignRevokePermissionsRequestDTO( + permissions = [ + visier.sdk.api.administration.models.assign_revoke_permission_request_dto.AssignRevokePermissionRequestDTO( + permission_id = '', + user_ids = [ + '' + ], ) + ], + target_project_for_tenants_list = visier.sdk.api.administration.models.target_project_for_tenants_list_dto.TargetProjectForTenantsListDTO( + target_project_for_tenants = [ + visier.sdk.api.administration.models.target_project_for_tenant_dto.TargetProjectForTenantDTO( + project_id = '', + tenant_code = '', ) + ], ) + ) + else: + return AssignRevokePermissionsRequestDTO( + ) + """ + + def testAssignRevokePermissionsRequestDTO(self): + """Test AssignRevokePermissionsRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_assign_revoke_permissions_response_dto.py b/src/visier.sdk.api.administration/test/test_assign_revoke_permissions_response_dto.py new file mode 100644 index 000000000..6f03d4d01 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_assign_revoke_permissions_response_dto.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.assign_revoke_permissions_response_dto import AssignRevokePermissionsResponseDTO + +class TestAssignRevokePermissionsResponseDTO(unittest.TestCase): + """AssignRevokePermissionsResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AssignRevokePermissionsResponseDTO: + """Test AssignRevokePermissionsResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AssignRevokePermissionsResponseDTO` + """ + model = AssignRevokePermissionsResponseDTO() + if include_optional: + return AssignRevokePermissionsResponseDTO( + tenants = [ + visier.sdk.api.administration.models.assign_revoke_permission_by_tenant_dto.AssignRevokePermissionByTenantDTO( + message = '', + permissions = [ + visier.sdk.api.administration.models.assign_revoke_permission_by_permission_dto.AssignRevokePermissionByPermissionDTO( + permission = visier.sdk.api.administration.models.permission_assigned_for_local_tenant_dto.PermissionAssignedForLocalTenantDTO( + description = '', + display_name = '', + permission_id = '', ), + users = [ + visier.sdk.api.administration.models.assign_revoke_permission_by_user_dto.AssignRevokePermissionByUserDTO( + message = '', + user_id = '', + username = '', ) + ], ) + ], + project_id = '', + status = 'Unknown', + tenant_code = '', ) + ] + ) + else: + return AssignRevokePermissionsResponseDTO( + ) + """ + + def testAssignRevokePermissionsResponseDTO(self): + """Test AssignRevokePermissionsResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_bulk_data_access_set_response_dto.py b/src/visier.sdk.api.administration/test/test_bulk_data_access_set_response_dto.py new file mode 100644 index 000000000..904a73a52 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_bulk_data_access_set_response_dto.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.bulk_data_access_set_response_dto import BulkDataAccessSetResponseDTO + +class TestBulkDataAccessSetResponseDTO(unittest.TestCase): + """BulkDataAccessSetResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BulkDataAccessSetResponseDTO: + """Test BulkDataAccessSetResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BulkDataAccessSetResponseDTO` + """ + model = BulkDataAccessSetResponseDTO() + if include_optional: + return BulkDataAccessSetResponseDTO( + failures = [ + visier.sdk.api.administration.models.data_access_set_failure_dto.DataAccessSetFailureDTO( + data_access_set_id = '', + display_name = '', + error = null, ) + ], + successes = [ + visier.sdk.api.administration.models.data_access_set_success_dto.DataAccessSetSuccessDTO( + data_access_set_id = '', + display_name = '', ) + ] + ) + else: + return BulkDataAccessSetResponseDTO( + ) + """ + + def testBulkDataAccessSetResponseDTO(self): + """Test BulkDataAccessSetResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_business_location_dto.py b/src/visier.sdk.api.administration/test/test_business_location_dto.py new file mode 100644 index 000000000..251923983 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_business_location_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.business_location_dto import BusinessLocationDTO + +class TestBusinessLocationDTO(unittest.TestCase): + """BusinessLocationDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BusinessLocationDTO: + """Test BusinessLocationDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BusinessLocationDTO` + """ + model = BusinessLocationDTO() + if include_optional: + return BusinessLocationDTO( + country_code = '', + postal_code = '' + ) + else: + return BusinessLocationDTO( + ) + """ + + def testBusinessLocationDTO(self): + """Test BusinessLocationDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_capabilities_dto.py b/src/visier.sdk.api.administration/test/test_capabilities_dto.py new file mode 100644 index 000000000..634fdee48 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_capabilities_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.capabilities_dto import CapabilitiesDTO + +class TestCapabilitiesDTO(unittest.TestCase): + """CapabilitiesDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CapabilitiesDTO: + """Test CapabilitiesDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CapabilitiesDTO` + """ + model = CapabilitiesDTO() + if include_optional: + return CapabilitiesDTO( + access_level = '', + capability = '', + view_level = '' + ) + else: + return CapabilitiesDTO( + ) + """ + + def testCapabilitiesDTO(self): + """Test CapabilitiesDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_capability_dto.py b/src/visier.sdk.api.administration/test/test_capability_dto.py new file mode 100644 index 000000000..10583f15e --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_capability_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.capability_dto import CapabilityDTO + +class TestCapabilityDTO(unittest.TestCase): + """CapabilityDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CapabilityDTO: + """Test CapabilityDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CapabilityDTO` + """ + model = CapabilityDTO() + if include_optional: + return CapabilityDTO( + description = '', + display_name = '', + name = '' + ) + else: + return CapabilityDTO( + ) + """ + + def testCapabilityDTO(self): + """Test CapabilityDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_commit_and_publish_operation_response_dto.py b/src/visier.sdk.api.administration/test/test_commit_and_publish_operation_response_dto.py new file mode 100644 index 000000000..89075cf1a --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_commit_and_publish_operation_response_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.commit_and_publish_operation_response_dto import CommitAndPublishOperationResponseDTO + +class TestCommitAndPublishOperationResponseDTO(unittest.TestCase): + """CommitAndPublishOperationResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CommitAndPublishOperationResponseDTO: + """Test CommitAndPublishOperationResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CommitAndPublishOperationResponseDTO` + """ + model = CommitAndPublishOperationResponseDTO() + if include_optional: + return CommitAndPublishOperationResponseDTO( + published_version = visier.sdk.api.administration.models.project_dto.ProjectDTO( + capabilities = [ + 'canRead' + ], + description = '', + id = '', + name = '', + release_version = '', + ticket_number = '', + version_number = 56, ) + ) + else: + return CommitAndPublishOperationResponseDTO( + ) + """ + + def testCommitAndPublishOperationResponseDTO(self): + """Test CommitAndPublishOperationResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_commit_dto.py b/src/visier.sdk.api.administration/test/test_commit_dto.py new file mode 100644 index 000000000..d2bf47e68 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_commit_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.commit_dto import CommitDTO + +class TestCommitDTO(unittest.TestCase): + """CommitDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CommitDTO: + """Test CommitDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CommitDTO` + """ + model = CommitDTO() + if include_optional: + return CommitDTO( + description = '', + id = '', + name = '' + ) + else: + return CommitDTO( + ) + """ + + def testCommitDTO(self): + """Test CommitDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_consolidated_analytics_api.py b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api.py new file mode 100644 index 000000000..f79d52f49 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.api.consolidated_analytics_api import ConsolidatedAnalyticsApi + + +class TestConsolidatedAnalyticsApi(unittest.TestCase): + """ConsolidatedAnalyticsApi unit test stubs""" + + def setUp(self) -> None: + self.api = ConsolidatedAnalyticsApi() + + def tearDown(self) -> None: + pass + + def test_add_excluded_sources(self) -> None: + """Test case for add_excluded_sources + + Add excluded sources to a consolidated analytics tenant + """ + pass + + def test_add_source_tenants(self) -> None: + """Test case for add_source_tenants + + Add source tenants to a consolidated analytics tenant + """ + pass + + def test_create_tenant(self) -> None: + """Test case for create_tenant + + Create a consolidated analytics tenant + """ + pass + + def test_list_excluded_sources(self) -> None: + """Test case for list_excluded_sources + + Retrieve a consolidated analytics tenant's excluded sources + """ + pass + + def test_list_source_tenants(self) -> None: + """Test case for list_source_tenants + + Retrieve a consolidated analytics tenant's source tenants + """ + pass + + def test_list_tenants(self) -> None: + """Test case for list_tenants + + Retrieve a list of all consolidated analytics tenants + """ + pass + + def test_list_tenants_with_details(self) -> None: + """Test case for list_tenants_with_details + + Retrieve the details of all consolidated analytics tenants + """ + pass + + def test_remove_excluded_sources(self) -> None: + """Test case for remove_excluded_sources + + Remove excluded sources from a consolidated analytics tenants + """ + pass + + def test_remove_source_tenants(self) -> None: + """Test case for remove_source_tenants + + Remove source tenants from a consolidated analytics tenants + """ + pass + + def test_set_excluded_sources(self) -> None: + """Test case for set_excluded_sources + + Set a consolidated analytics tenant's excluded sources + """ + pass + + def test_set_source_tenants(self) -> None: + """Test case for set_source_tenants + + Set a consolidated analytics tenant's source tenants + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_excluded_source_list_dto.py b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_excluded_source_list_dto.py new file mode 100644 index 000000000..a54879c83 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_excluded_source_list_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.consolidated_analytics_api_excluded_source_list_dto import ConsolidatedAnalyticsAPIExcludedSourceListDTO + +class TestConsolidatedAnalyticsAPIExcludedSourceListDTO(unittest.TestCase): + """ConsolidatedAnalyticsAPIExcludedSourceListDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConsolidatedAnalyticsAPIExcludedSourceListDTO: + """Test ConsolidatedAnalyticsAPIExcludedSourceListDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConsolidatedAnalyticsAPIExcludedSourceListDTO` + """ + model = ConsolidatedAnalyticsAPIExcludedSourceListDTO() + if include_optional: + return ConsolidatedAnalyticsAPIExcludedSourceListDTO( + excluded_sources = [ + '' + ] + ) + else: + return ConsolidatedAnalyticsAPIExcludedSourceListDTO( + ) + """ + + def testConsolidatedAnalyticsAPIExcludedSourceListDTO(self): + """Test ConsolidatedAnalyticsAPIExcludedSourceListDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_source_tenant_list_dto.py b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_source_tenant_list_dto.py new file mode 100644 index 000000000..8d9659dc2 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_source_tenant_list_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.consolidated_analytics_api_source_tenant_list_dto import ConsolidatedAnalyticsAPISourceTenantListDTO + +class TestConsolidatedAnalyticsAPISourceTenantListDTO(unittest.TestCase): + """ConsolidatedAnalyticsAPISourceTenantListDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConsolidatedAnalyticsAPISourceTenantListDTO: + """Test ConsolidatedAnalyticsAPISourceTenantListDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConsolidatedAnalyticsAPISourceTenantListDTO` + """ + model = ConsolidatedAnalyticsAPISourceTenantListDTO() + if include_optional: + return ConsolidatedAnalyticsAPISourceTenantListDTO( + tenant_codes = [ + '' + ] + ) + else: + return ConsolidatedAnalyticsAPISourceTenantListDTO( + ) + """ + + def testConsolidatedAnalyticsAPISourceTenantListDTO(self): + """Test ConsolidatedAnalyticsAPISourceTenantListDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_create_request_dto.py b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_create_request_dto.py new file mode 100644 index 000000000..af89832ee --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_create_request_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_create_request_dto import ConsolidatedAnalyticsAPITenantCreateRequestDTO + +class TestConsolidatedAnalyticsAPITenantCreateRequestDTO(unittest.TestCase): + """ConsolidatedAnalyticsAPITenantCreateRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConsolidatedAnalyticsAPITenantCreateRequestDTO: + """Test ConsolidatedAnalyticsAPITenantCreateRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConsolidatedAnalyticsAPITenantCreateRequestDTO` + """ + model = ConsolidatedAnalyticsAPITenantCreateRequestDTO() + if include_optional: + return ConsolidatedAnalyticsAPITenantCreateRequestDTO( + tenant_code = '' + ) + else: + return ConsolidatedAnalyticsAPITenantCreateRequestDTO( + ) + """ + + def testConsolidatedAnalyticsAPITenantCreateRequestDTO(self): + """Test ConsolidatedAnalyticsAPITenantCreateRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_list_response_dto.py b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_list_response_dto.py new file mode 100644 index 000000000..d421fb55a --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_list_response_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_list_response_dto import ConsolidatedAnalyticsAPITenantListResponseDTO + +class TestConsolidatedAnalyticsAPITenantListResponseDTO(unittest.TestCase): + """ConsolidatedAnalyticsAPITenantListResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConsolidatedAnalyticsAPITenantListResponseDTO: + """Test ConsolidatedAnalyticsAPITenantListResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConsolidatedAnalyticsAPITenantListResponseDTO` + """ + model = ConsolidatedAnalyticsAPITenantListResponseDTO() + if include_optional: + return ConsolidatedAnalyticsAPITenantListResponseDTO( + tenant_codes = [ + '' + ] + ) + else: + return ConsolidatedAnalyticsAPITenantListResponseDTO( + ) + """ + + def testConsolidatedAnalyticsAPITenantListResponseDTO(self): + """Test ConsolidatedAnalyticsAPITenantListResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_with_details.py b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_with_details.py new file mode 100644 index 000000000..f3d9d6fad --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_with_details.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_with_details import ConsolidatedAnalyticsAPITenantWithDetails + +class TestConsolidatedAnalyticsAPITenantWithDetails(unittest.TestCase): + """ConsolidatedAnalyticsAPITenantWithDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConsolidatedAnalyticsAPITenantWithDetails: + """Test ConsolidatedAnalyticsAPITenantWithDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConsolidatedAnalyticsAPITenantWithDetails` + """ + model = ConsolidatedAnalyticsAPITenantWithDetails() + if include_optional: + return ConsolidatedAnalyticsAPITenantWithDetails( + excluded_sources_list = [ + '' + ], + source_tenants_list = [ + '' + ], + tenant_code = '' + ) + else: + return ConsolidatedAnalyticsAPITenantWithDetails( + ) + """ + + def testConsolidatedAnalyticsAPITenantWithDetails(self): + """Test ConsolidatedAnalyticsAPITenantWithDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_with_details_list_response_dto.py b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_with_details_list_response_dto.py new file mode 100644 index 000000000..8d24cf28b --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_consolidated_analytics_api_tenant_with_details_list_response_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_with_details_list_response_dto import ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO + +class TestConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO(unittest.TestCase): + """ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO: + """Test ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO` + """ + model = ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO() + if include_optional: + return ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO( + tenants = [ + visier.sdk.api.administration.models.consolidated_analytics_api_tenant_with_details.ConsolidatedAnalyticsAPITenantWithDetails( + excluded_sources_list = [ + '' + ], + source_tenants_list = [ + '' + ], + tenant_code = '', ) + ] + ) + else: + return ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO( + ) + """ + + def testConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO(self): + """Test ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_content_package_dto.py b/src/visier.sdk.api.administration/test/test_content_package_dto.py new file mode 100644 index 000000000..419ba4719 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_content_package_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.content_package_dto import ContentPackageDTO + +class TestContentPackageDTO(unittest.TestCase): + """ContentPackageDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ContentPackageDTO: + """Test ContentPackageDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ContentPackageDTO` + """ + model = ContentPackageDTO() + if include_optional: + return ContentPackageDTO( + content_package_id = '', + description = '', + display_name = '' + ) + else: + return ContentPackageDTO( + ) + """ + + def testContentPackageDTO(self): + """Test ContentPackageDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_create_data_access_set_request_dto.py b/src/visier.sdk.api.administration/test/test_create_data_access_set_request_dto.py new file mode 100644 index 000000000..be706ae13 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_create_data_access_set_request_dto.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.create_data_access_set_request_dto import CreateDataAccessSetRequestDTO + +class TestCreateDataAccessSetRequestDTO(unittest.TestCase): + """CreateDataAccessSetRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateDataAccessSetRequestDTO: + """Test CreateDataAccessSetRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateDataAccessSetRequestDTO` + """ + model = CreateDataAccessSetRequestDTO() + if include_optional: + return CreateDataAccessSetRequestDTO( + shareable_property_access_configs = [ + visier.sdk.api.administration.models.data_access_set_dto.DataAccessSetDTO( + analytic_object_id = '', + description = '', + display_name = '', + id = '', + property_access_configs = [ + visier.sdk.api.administration.models.property_access_config_dto.PropertyAccessConfigDTO( + access_level = 'None', + analytic_object_id = '', + analytic_object_reference_paths = [ + '' + ], + property_id = '', + property_status = 'Unset', ) + ], ) + ] + ) + else: + return CreateDataAccessSetRequestDTO( + ) + """ + + def testCreateDataAccessSetRequestDTO(self): + """Test CreateDataAccessSetRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_custom_property_dto.py b/src/visier.sdk.api.administration/test/test_custom_property_dto.py new file mode 100644 index 000000000..93bf74f44 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_custom_property_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.custom_property_dto import CustomPropertyDTO + +class TestCustomPropertyDTO(unittest.TestCase): + """CustomPropertyDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CustomPropertyDTO: + """Test CustomPropertyDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CustomPropertyDTO` + """ + model = CustomPropertyDTO() + if include_optional: + return CustomPropertyDTO( + key = '', + value = '' + ) + else: + return CustomPropertyDTO( + ) + """ + + def testCustomPropertyDTO(self): + """Test CustomPropertyDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_custom_tenant_property_dto.py b/src/visier.sdk.api.administration/test/test_custom_tenant_property_dto.py new file mode 100644 index 000000000..84a647670 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_custom_tenant_property_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.custom_tenant_property_dto import CustomTenantPropertyDTO + +class TestCustomTenantPropertyDTO(unittest.TestCase): + """CustomTenantPropertyDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CustomTenantPropertyDTO: + """Test CustomTenantPropertyDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CustomTenantPropertyDTO` + """ + model = CustomTenantPropertyDTO() + if include_optional: + return CustomTenantPropertyDTO( + key = '', + value = '' + ) + else: + return CustomTenantPropertyDTO( + ) + """ + + def testCustomTenantPropertyDTO(self): + """Test CustomTenantPropertyDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_data_access_set_dto.py b/src/visier.sdk.api.administration/test/test_data_access_set_dto.py new file mode 100644 index 000000000..ba25d8e3f --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_data_access_set_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.data_access_set_dto import DataAccessSetDTO + +class TestDataAccessSetDTO(unittest.TestCase): + """DataAccessSetDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataAccessSetDTO: + """Test DataAccessSetDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataAccessSetDTO` + """ + model = DataAccessSetDTO() + if include_optional: + return DataAccessSetDTO( + analytic_object_id = '', + description = '', + display_name = '', + id = '', + property_access_configs = [ + visier.sdk.api.administration.models.property_access_config_dto.PropertyAccessConfigDTO( + access_level = 'None', + analytic_object_id = '', + analytic_object_reference_paths = [ + '' + ], + property_id = '', + property_status = 'Unset', ) + ] + ) + else: + return DataAccessSetDTO( + ) + """ + + def testDataAccessSetDTO(self): + """Test DataAccessSetDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_data_access_set_error_dto.py b/src/visier.sdk.api.administration/test/test_data_access_set_error_dto.py new file mode 100644 index 000000000..c080cb854 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_data_access_set_error_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.data_access_set_error_dto import DataAccessSetErrorDTO + +class TestDataAccessSetErrorDTO(unittest.TestCase): + """DataAccessSetErrorDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataAccessSetErrorDTO: + """Test DataAccessSetErrorDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataAccessSetErrorDTO` + """ + model = DataAccessSetErrorDTO() + if include_optional: + return DataAccessSetErrorDTO( + message = '', + rci = '' + ) + else: + return DataAccessSetErrorDTO( + ) + """ + + def testDataAccessSetErrorDTO(self): + """Test DataAccessSetErrorDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_data_access_set_failure_dto.py b/src/visier.sdk.api.administration/test/test_data_access_set_failure_dto.py new file mode 100644 index 000000000..e1924d047 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_data_access_set_failure_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.data_access_set_failure_dto import DataAccessSetFailureDTO + +class TestDataAccessSetFailureDTO(unittest.TestCase): + """DataAccessSetFailureDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataAccessSetFailureDTO: + """Test DataAccessSetFailureDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataAccessSetFailureDTO` + """ + model = DataAccessSetFailureDTO() + if include_optional: + return DataAccessSetFailureDTO( + data_access_set_id = '', + display_name = '', + error = visier.sdk.api.administration.models.data_access_set_error_dto.DataAccessSetErrorDTO( + message = '', + rci = '', ) + ) + else: + return DataAccessSetFailureDTO( + ) + """ + + def testDataAccessSetFailureDTO(self): + """Test DataAccessSetFailureDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_data_access_set_success_dto.py b/src/visier.sdk.api.administration/test/test_data_access_set_success_dto.py new file mode 100644 index 000000000..46548360e --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_data_access_set_success_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.data_access_set_success_dto import DataAccessSetSuccessDTO + +class TestDataAccessSetSuccessDTO(unittest.TestCase): + """DataAccessSetSuccessDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataAccessSetSuccessDTO: + """Test DataAccessSetSuccessDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataAccessSetSuccessDTO` + """ + model = DataAccessSetSuccessDTO() + if include_optional: + return DataAccessSetSuccessDTO( + data_access_set_id = '', + display_name = '' + ) + else: + return DataAccessSetSuccessDTO( + ) + """ + + def testDataAccessSetSuccessDTO(self): + """Test DataAccessSetSuccessDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_data_security_profile_dto.py b/src/visier.sdk.api.administration/test/test_data_security_profile_dto.py new file mode 100644 index 000000000..93925c45b --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_data_security_profile_dto.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.data_security_profile_dto import DataSecurityProfileDTO + +class TestDataSecurityProfileDTO(unittest.TestCase): + """DataSecurityProfileDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataSecurityProfileDTO: + """Test DataSecurityProfileDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataSecurityProfileDTO` + """ + model = DataSecurityProfileDTO() + if include_optional: + return DataSecurityProfileDTO( + all_data_point_access = True, + analytic_object_id = '', + inherited_access_configs = [ + visier.sdk.api.administration.models.inherited_access_config_dto.InheritedAccessConfigDTO( + analytic_object_id = '', + member_filter_configs = [ + visier.sdk.api.administration.models.member_filter_config_dto.MemberFilterConfigDTO( + dimension_filters = [ + visier.sdk.api.administration.models.dimension_filter_dto.DimensionFilterDTO( + dynamic_dimension_filter = visier.sdk.api.administration.models.dynamic_dimension_filter_dto.DynamicDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + dynamic_property_mappings = [ + visier.sdk.api.administration.models.dynamic_property_mapping_dto.DynamicPropertyMappingDTO( + hierarchy_property_id = '', + hierarchy_property_status = 'Unset', + user_property = null, ) + ], + subject_reference_path = [ + '' + ], ), + static_dimension_filter = visier.sdk.api.administration.models.static_dimension_filter_dto.StaticDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + member_selections = [ + visier.sdk.api.administration.models.member_selection_dto.MemberSelectionDTO( + dimension_member_status = 'Unset', + excluded = True, + name_path = [ + '' + ], ) + ], ), ) + ], ) + ], + remove_access = True, ) + ], + inherited_reference_member_filter_config = visier.sdk.api.administration.models.inherited_reference_member_filter_config_dto.InheritedReferenceMemberFilterConfigDTO( + target_analytic_object_id = '', ), + member_filter_configs = [ + visier.sdk.api.administration.models.member_filter_config_dto.MemberFilterConfigDTO( + dimension_filters = [ + visier.sdk.api.administration.models.dimension_filter_dto.DimensionFilterDTO( + dynamic_dimension_filter = visier.sdk.api.administration.models.dynamic_dimension_filter_dto.DynamicDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + dynamic_property_mappings = [ + visier.sdk.api.administration.models.dynamic_property_mapping_dto.DynamicPropertyMappingDTO( + hierarchy_property_id = '', + hierarchy_property_status = 'Unset', + user_property = null, ) + ], + subject_reference_path = [ + '' + ], ), + static_dimension_filter = visier.sdk.api.administration.models.static_dimension_filter_dto.StaticDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + member_selections = [ + visier.sdk.api.administration.models.member_selection_dto.MemberSelectionDTO( + dimension_member_status = 'Unset', + excluded = True, + name_path = [ + '' + ], ) + ], ), ) + ], ) + ], + property_set_config = visier.sdk.api.administration.models.property_set_config_dto.PropertySetConfigDTO( + property_access_configs = [ + visier.sdk.api.administration.models.property_access_config_dto.PropertyAccessConfigDTO( + access_level = 'None', + analytic_object_id = '', + analytic_object_reference_paths = [ + '' + ], + property_id = '', + property_status = 'Unset', ) + ], + shareable_data_access_set = null, ) + ) + else: + return DataSecurityProfileDTO( + ) + """ + + def testDataSecurityProfileDTO(self): + """Test DataSecurityProfileDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_delete_permissions_request_dto.py b/src/visier.sdk.api.administration/test/test_delete_permissions_request_dto.py new file mode 100644 index 000000000..50c3626f5 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_delete_permissions_request_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.delete_permissions_request_dto import DeletePermissionsRequestDTO + +class TestDeletePermissionsRequestDTO(unittest.TestCase): + """DeletePermissionsRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeletePermissionsRequestDTO: + """Test DeletePermissionsRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeletePermissionsRequestDTO` + """ + model = DeletePermissionsRequestDTO() + if include_optional: + return DeletePermissionsRequestDTO( + permission_ids = [ + '' + ] + ) + else: + return DeletePermissionsRequestDTO( + ) + """ + + def testDeletePermissionsRequestDTO(self): + """Test DeletePermissionsRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_delete_user_group_v2_request.py b/src/visier.sdk.api.administration/test/test_delete_user_group_v2_request.py new file mode 100644 index 000000000..35f99deac --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_delete_user_group_v2_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.delete_user_group_v2_request import DeleteUserGroupV2Request + +class TestDeleteUserGroupV2Request(unittest.TestCase): + """DeleteUserGroupV2Request unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeleteUserGroupV2Request: + """Test DeleteUserGroupV2Request + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeleteUserGroupV2Request` + """ + model = DeleteUserGroupV2Request() + if include_optional: + return DeleteUserGroupV2Request( + user_group_id = '' + ) + else: + return DeleteUserGroupV2Request( + ) + """ + + def testDeleteUserGroupV2Request(self): + """Test DeleteUserGroupV2Request""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_dimension_filter_dto.py b/src/visier.sdk.api.administration/test/test_dimension_filter_dto.py new file mode 100644 index 000000000..ac8d887db --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_dimension_filter_dto.py @@ -0,0 +1,76 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.dimension_filter_dto import DimensionFilterDTO + +class TestDimensionFilterDTO(unittest.TestCase): + """DimensionFilterDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DimensionFilterDTO: + """Test DimensionFilterDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DimensionFilterDTO` + """ + model = DimensionFilterDTO() + if include_optional: + return DimensionFilterDTO( + dynamic_dimension_filter = visier.sdk.api.administration.models.dynamic_dimension_filter_dto.DynamicDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + dynamic_property_mappings = [ + visier.sdk.api.administration.models.dynamic_property_mapping_dto.DynamicPropertyMappingDTO( + hierarchy_property_id = '', + hierarchy_property_status = 'Unset', + user_property = null, ) + ], + subject_reference_path = [ + '' + ], ), + static_dimension_filter = visier.sdk.api.administration.models.static_dimension_filter_dto.StaticDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + member_selections = [ + visier.sdk.api.administration.models.member_selection_dto.MemberSelectionDTO( + dimension_member_status = 'Unset', + excluded = True, + name_path = [ + '' + ], ) + ], + subject_reference_path = [ + '' + ], ) + ) + else: + return DimensionFilterDTO( + ) + """ + + def testDimensionFilterDTO(self): + """Test DimensionFilterDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_dynamic_dimension_filter_dto.py b/src/visier.sdk.api.administration/test/test_dynamic_dimension_filter_dto.py new file mode 100644 index 000000000..e0d8fb3cb --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_dynamic_dimension_filter_dto.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.dynamic_dimension_filter_dto import DynamicDimensionFilterDTO + +class TestDynamicDimensionFilterDTO(unittest.TestCase): + """DynamicDimensionFilterDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DynamicDimensionFilterDTO: + """Test DynamicDimensionFilterDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DynamicDimensionFilterDTO` + """ + model = DynamicDimensionFilterDTO() + if include_optional: + return DynamicDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + dynamic_property_mappings = [ + visier.sdk.api.administration.models.dynamic_property_mapping_dto.DynamicPropertyMappingDTO( + hierarchy_property_id = '', + hierarchy_property_status = 'Unset', + user_property = null, ) + ], + subject_reference_path = [ + '' + ] + ) + else: + return DynamicDimensionFilterDTO( + ) + """ + + def testDynamicDimensionFilterDTO(self): + """Test DynamicDimensionFilterDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_dynamic_property_mapping_dto.py b/src/visier.sdk.api.administration/test/test_dynamic_property_mapping_dto.py new file mode 100644 index 000000000..0172bca36 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_dynamic_property_mapping_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.dynamic_property_mapping_dto import DynamicPropertyMappingDTO + +class TestDynamicPropertyMappingDTO(unittest.TestCase): + """DynamicPropertyMappingDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DynamicPropertyMappingDTO: + """Test DynamicPropertyMappingDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DynamicPropertyMappingDTO` + """ + model = DynamicPropertyMappingDTO() + if include_optional: + return DynamicPropertyMappingDTO( + hierarchy_property_id = '', + hierarchy_property_status = 'Unset', + user_property = visier.sdk.api.administration.models.user_property_dto.UserPropertyDTO( + name = '', ) + ) + else: + return DynamicPropertyMappingDTO( + ) + """ + + def testDynamicPropertyMappingDTO(self): + """Test DynamicPropertyMappingDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_element_ids_dto.py b/src/visier.sdk.api.administration/test/test_element_ids_dto.py new file mode 100644 index 000000000..4d8004ceb --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_element_ids_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.element_ids_dto import ElementIDsDTO + +class TestElementIDsDTO(unittest.TestCase): + """ElementIDsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ElementIDsDTO: + """Test ElementIDsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ElementIDsDTO` + """ + model = ElementIDsDTO() + if include_optional: + return ElementIDsDTO( + ids = [ + '' + ] + ) + else: + return ElementIDsDTO( + ) + """ + + def testElementIDsDTO(self): + """Test ElementIDsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_error_dto.py b/src/visier.sdk.api.administration/test/test_error_dto.py new file mode 100644 index 000000000..50387ee47 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_error_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.error_dto import ErrorDTO + +class TestErrorDTO(unittest.TestCase): + """ErrorDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ErrorDTO: + """Test ErrorDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ErrorDTO` + """ + model = ErrorDTO() + if include_optional: + return ErrorDTO( + error_code = '', + error_message = '', + root_cause_id = '' + ) + else: + return ErrorDTO( + ) + """ + + def testErrorDTO(self): + """Test ErrorDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_excluded_sources_body.py b/src/visier.sdk.api.administration/test/test_excluded_sources_body.py new file mode 100644 index 000000000..e48a47375 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_excluded_sources_body.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.excluded_sources_body import ExcludedSourcesBody + +class TestExcludedSourcesBody(unittest.TestCase): + """ExcludedSourcesBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ExcludedSourcesBody: + """Test ExcludedSourcesBody + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ExcludedSourcesBody` + """ + model = ExcludedSourcesBody() + if include_optional: + return ExcludedSourcesBody( + excluded_sources = [ + '' + ] + ) + else: + return ExcludedSourcesBody( + ) + """ + + def testExcludedSourcesBody(self): + """Test ExcludedSourcesBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_export_production_versions_api_operation_parameters_dto.py b/src/visier.sdk.api.administration/test/test_export_production_versions_api_operation_parameters_dto.py new file mode 100644 index 000000000..ddd202857 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_export_production_versions_api_operation_parameters_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.export_production_versions_api_operation_parameters_dto import ExportProductionVersionsAPIOperationParametersDTO + +class TestExportProductionVersionsAPIOperationParametersDTO(unittest.TestCase): + """ExportProductionVersionsAPIOperationParametersDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ExportProductionVersionsAPIOperationParametersDTO: + """Test ExportProductionVersionsAPIOperationParametersDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ExportProductionVersionsAPIOperationParametersDTO` + """ + model = ExportProductionVersionsAPIOperationParametersDTO() + if include_optional: + return ExportProductionVersionsAPIOperationParametersDTO( + end_version = '', + excluded_versions = [ + '' + ], + start_version = '' + ) + else: + return ExportProductionVersionsAPIOperationParametersDTO( + ) + """ + + def testExportProductionVersionsAPIOperationParametersDTO(self): + """Test ExportProductionVersionsAPIOperationParametersDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_failed_accessible_tenant_profile_assignment_dto.py b/src/visier.sdk.api.administration/test/test_failed_accessible_tenant_profile_assignment_dto.py new file mode 100644 index 000000000..16d8651f7 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_failed_accessible_tenant_profile_assignment_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.failed_accessible_tenant_profile_assignment_dto import FailedAccessibleTenantProfileAssignmentDTO + +class TestFailedAccessibleTenantProfileAssignmentDTO(unittest.TestCase): + """FailedAccessibleTenantProfileAssignmentDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FailedAccessibleTenantProfileAssignmentDTO: + """Test FailedAccessibleTenantProfileAssignmentDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FailedAccessibleTenantProfileAssignmentDTO` + """ + model = FailedAccessibleTenantProfileAssignmentDTO() + if include_optional: + return FailedAccessibleTenantProfileAssignmentDTO( + error = visier.sdk.api.administration.models.error_dto.ErrorDTO( + error_code = '', + error_message = '', + root_cause_id = '', ), + for_all_children = True, + tenant_code = '', + user_id = '' + ) + else: + return FailedAccessibleTenantProfileAssignmentDTO( + ) + """ + + def testFailedAccessibleTenantProfileAssignmentDTO(self): + """Test FailedAccessibleTenantProfileAssignmentDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_failed_local_tenant_profile_assignment_dto.py b/src/visier.sdk.api.administration/test/test_failed_local_tenant_profile_assignment_dto.py new file mode 100644 index 000000000..b672b1ffe --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_failed_local_tenant_profile_assignment_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.failed_local_tenant_profile_assignment_dto import FailedLocalTenantProfileAssignmentDTO + +class TestFailedLocalTenantProfileAssignmentDTO(unittest.TestCase): + """FailedLocalTenantProfileAssignmentDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FailedLocalTenantProfileAssignmentDTO: + """Test FailedLocalTenantProfileAssignmentDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FailedLocalTenantProfileAssignmentDTO` + """ + model = FailedLocalTenantProfileAssignmentDTO() + if include_optional: + return FailedLocalTenantProfileAssignmentDTO( + error = visier.sdk.api.administration.models.error_dto.ErrorDTO( + error_code = '', + error_message = '', + root_cause_id = '', ), + user_id = '' + ) + else: + return FailedLocalTenantProfileAssignmentDTO( + ) + """ + + def testFailedLocalTenantProfileAssignmentDTO(self): + """Test FailedLocalTenantProfileAssignmentDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_failed_local_tenant_profile_revoke_dto.py b/src/visier.sdk.api.administration/test/test_failed_local_tenant_profile_revoke_dto.py new file mode 100644 index 000000000..21e87e196 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_failed_local_tenant_profile_revoke_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.failed_local_tenant_profile_revoke_dto import FailedLocalTenantProfileRevokeDTO + +class TestFailedLocalTenantProfileRevokeDTO(unittest.TestCase): + """FailedLocalTenantProfileRevokeDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FailedLocalTenantProfileRevokeDTO: + """Test FailedLocalTenantProfileRevokeDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FailedLocalTenantProfileRevokeDTO` + """ + model = FailedLocalTenantProfileRevokeDTO() + if include_optional: + return FailedLocalTenantProfileRevokeDTO( + message = '', + user_id = '' + ) + else: + return FailedLocalTenantProfileRevokeDTO( + ) + """ + + def testFailedLocalTenantProfileRevokeDTO(self): + """Test FailedLocalTenantProfileRevokeDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_get_capabilities_api_response_dto.py b/src/visier.sdk.api.administration/test/test_get_capabilities_api_response_dto.py new file mode 100644 index 000000000..98ea007f6 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_get_capabilities_api_response_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.get_capabilities_api_response_dto import GetCapabilitiesAPIResponseDTO + +class TestGetCapabilitiesAPIResponseDTO(unittest.TestCase): + """GetCapabilitiesAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetCapabilitiesAPIResponseDTO: + """Test GetCapabilitiesAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetCapabilitiesAPIResponseDTO` + """ + model = GetCapabilitiesAPIResponseDTO() + if include_optional: + return GetCapabilitiesAPIResponseDTO( + capabilities = [ + visier.sdk.api.administration.models.capability_dto.CapabilityDTO( + description = '', + display_name = '', + name = '', ) + ] + ) + else: + return GetCapabilitiesAPIResponseDTO( + ) + """ + + def testGetCapabilitiesAPIResponseDTO(self): + """Test GetCapabilitiesAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_get_content_packages_api_response_dto.py b/src/visier.sdk.api.administration/test/test_get_content_packages_api_response_dto.py new file mode 100644 index 000000000..e2159d3eb --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_get_content_packages_api_response_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.get_content_packages_api_response_dto import GetContentPackagesAPIResponseDTO + +class TestGetContentPackagesAPIResponseDTO(unittest.TestCase): + """GetContentPackagesAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetContentPackagesAPIResponseDTO: + """Test GetContentPackagesAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetContentPackagesAPIResponseDTO` + """ + model = GetContentPackagesAPIResponseDTO() + if include_optional: + return GetContentPackagesAPIResponseDTO( + content_packages = [ + visier.sdk.api.administration.models.content_package_dto.ContentPackageDTO( + content_package_id = '', + description = '', + display_name = '', ) + ] + ) + else: + return GetContentPackagesAPIResponseDTO( + ) + """ + + def testGetContentPackagesAPIResponseDTO(self): + """Test GetContentPackagesAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_get_data_access_sets_api_response_dto.py b/src/visier.sdk.api.administration/test/test_get_data_access_sets_api_response_dto.py new file mode 100644 index 000000000..661887268 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_get_data_access_sets_api_response_dto.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.get_data_access_sets_api_response_dto import GetDataAccessSetsAPIResponseDTO + +class TestGetDataAccessSetsAPIResponseDTO(unittest.TestCase): + """GetDataAccessSetsAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetDataAccessSetsAPIResponseDTO: + """Test GetDataAccessSetsAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetDataAccessSetsAPIResponseDTO` + """ + model = GetDataAccessSetsAPIResponseDTO() + if include_optional: + return GetDataAccessSetsAPIResponseDTO( + data_access_sets = [ + visier.sdk.api.administration.models.data_access_set_dto.DataAccessSetDTO( + analytic_object_id = '', + description = '', + display_name = '', + id = '', + property_access_configs = [ + visier.sdk.api.administration.models.property_access_config_dto.PropertyAccessConfigDTO( + access_level = 'None', + analytic_object_id = '', + analytic_object_reference_paths = [ + '' + ], + property_id = '', + property_status = 'Unset', ) + ], ) + ] + ) + else: + return GetDataAccessSetsAPIResponseDTO( + ) + """ + + def testGetDataAccessSetsAPIResponseDTO(self): + """Test GetDataAccessSetsAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_get_data_security_objects_api_response_dto.py b/src/visier.sdk.api.administration/test/test_get_data_security_objects_api_response_dto.py new file mode 100644 index 000000000..be340ef4b --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_get_data_security_objects_api_response_dto.py @@ -0,0 +1,82 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.get_data_security_objects_api_response_dto import GetDataSecurityObjectsAPIResponseDTO + +class TestGetDataSecurityObjectsAPIResponseDTO(unittest.TestCase): + """GetDataSecurityObjectsAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetDataSecurityObjectsAPIResponseDTO: + """Test GetDataSecurityObjectsAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetDataSecurityObjectsAPIResponseDTO` + """ + model = GetDataSecurityObjectsAPIResponseDTO() + if include_optional: + return GetDataSecurityObjectsAPIResponseDTO( + analytic_objects = [ + visier.sdk.api.administration.models.analytic_object_dto.AnalyticObjectDTO( + analytic_object_id = '', + display_name = '', + object_type = 'Event', + related_objects = [ + visier.sdk.api.administration.models.related_analytic_object_dto.RelatedAnalyticObjectDTO( + analytic_object_id = '', + display_name = '', ) + ], + securable_dimensions = [ + visier.sdk.api.administration.models.securable_dimension_dto.SecurableDimensionDTO( + analytic_object_ids = [ + '' + ], + dimension_id = '', + display_name = '', + hierarchy_properties = [ + visier.sdk.api.administration.models.hierarchy_property_dto.HierarchyPropertyDTO( + display_name = '', + hierarchy_property_id = '', ) + ], ) + ], + securable_properties = [ + visier.sdk.api.administration.models.securable_property_dto.SecurablePropertyDTO( + analytic_object_id = '', + display_name = '', + is_primary_key = True, + property_id = '', + reference_symbol_name = '', ) + ], ) + ] + ) + else: + return GetDataSecurityObjectsAPIResponseDTO( + ) + """ + + def testGetDataSecurityObjectsAPIResponseDTO(self): + """Test GetDataSecurityObjectsAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_get_permissions_api_response_dto.py b/src/visier.sdk.api.administration/test/test_get_permissions_api_response_dto.py new file mode 100644 index 000000000..8d4c8f751 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_get_permissions_api_response_dto.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.get_permissions_api_response_dto import GetPermissionsAPIResponseDTO + +class TestGetPermissionsAPIResponseDTO(unittest.TestCase): + """GetPermissionsAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPermissionsAPIResponseDTO: + """Test GetPermissionsAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPermissionsAPIResponseDTO` + """ + model = GetPermissionsAPIResponseDTO() + if include_optional: + return GetPermissionsAPIResponseDTO( + permissions = [ + visier.sdk.api.administration.models.permission_dto.PermissionDTO( + admin_capability_config = null, + data_security_profiles = [ + visier.sdk.api.administration.models.data_security_profile_dto.DataSecurityProfileDTO( + all_data_point_access = True, + analytic_object_id = '', + inherited_access_configs = [ + visier.sdk.api.administration.models.inherited_access_config_dto.InheritedAccessConfigDTO( + analytic_object_id = '', + member_filter_configs = [ + visier.sdk.api.administration.models.member_filter_config_dto.MemberFilterConfigDTO( + dimension_filters = [ + visier.sdk.api.administration.models.dimension_filter_dto.DimensionFilterDTO( + dynamic_dimension_filter = visier.sdk.api.administration.models.dynamic_dimension_filter_dto.DynamicDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + dynamic_property_mappings = [ + visier.sdk.api.administration.models.dynamic_property_mapping_dto.DynamicPropertyMappingDTO( + hierarchy_property_id = '', + hierarchy_property_status = 'Unset', + user_property = null, ) + ], + subject_reference_path = [ + '' + ], ), + static_dimension_filter = visier.sdk.api.administration.models.static_dimension_filter_dto.StaticDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + member_selections = [ + visier.sdk.api.administration.models.member_selection_dto.MemberSelectionDTO( + dimension_member_status = 'Unset', + excluded = True, + name_path = [ + '' + ], ) + ], ), ) + ], ) + ], + remove_access = True, ) + ], + inherited_reference_member_filter_config = null, + member_filter_configs = [ + visier.sdk.api.administration.models.member_filter_config_dto.MemberFilterConfigDTO() + ], + property_set_config = null, ) + ], + description = '', + display_name = '', + permission_id = '', + role_modules_config = null, ) + ] + ) + else: + return GetPermissionsAPIResponseDTO( + ) + """ + + def testGetPermissionsAPIResponseDTO(self): + """Test GetPermissionsAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_get_production_versions_api_response_dto.py b/src/visier.sdk.api.administration/test/test_get_production_versions_api_response_dto.py new file mode 100644 index 000000000..b18bfb55b --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_get_production_versions_api_response_dto.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.get_production_versions_api_response_dto import GetProductionVersionsAPIResponseDTO + +class TestGetProductionVersionsAPIResponseDTO(unittest.TestCase): + """GetProductionVersionsAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetProductionVersionsAPIResponseDTO: + """Test GetProductionVersionsAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetProductionVersionsAPIResponseDTO` + """ + model = GetProductionVersionsAPIResponseDTO() + if include_optional: + return GetProductionVersionsAPIResponseDTO( + published_versions = [ + visier.sdk.api.administration.models.project_dto.ProjectDTO( + capabilities = [ + 'canRead' + ], + description = '', + id = '', + name = '', + release_version = '', + ticket_number = '', + version_number = 56, ) + ] + ) + else: + return GetProductionVersionsAPIResponseDTO( + ) + """ + + def testGetProductionVersionsAPIResponseDTO(self): + """Test GetProductionVersionsAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_get_project_commits_api_response_dto.py b/src/visier.sdk.api.administration/test/test_get_project_commits_api_response_dto.py new file mode 100644 index 000000000..3e7311ff1 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_get_project_commits_api_response_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.get_project_commits_api_response_dto import GetProjectCommitsAPIResponseDTO + +class TestGetProjectCommitsAPIResponseDTO(unittest.TestCase): + """GetProjectCommitsAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetProjectCommitsAPIResponseDTO: + """Test GetProjectCommitsAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetProjectCommitsAPIResponseDTO` + """ + model = GetProjectCommitsAPIResponseDTO() + if include_optional: + return GetProjectCommitsAPIResponseDTO( + commits = [ + visier.sdk.api.administration.models.commit_dto.CommitDTO( + description = '', + id = '', + name = '', ) + ] + ) + else: + return GetProjectCommitsAPIResponseDTO( + ) + """ + + def testGetProjectCommitsAPIResponseDTO(self): + """Test GetProjectCommitsAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_get_projects_api_response_dto.py b/src/visier.sdk.api.administration/test/test_get_projects_api_response_dto.py new file mode 100644 index 000000000..ecf52d617 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_get_projects_api_response_dto.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.get_projects_api_response_dto import GetProjectsAPIResponseDTO + +class TestGetProjectsAPIResponseDTO(unittest.TestCase): + """GetProjectsAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetProjectsAPIResponseDTO: + """Test GetProjectsAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetProjectsAPIResponseDTO` + """ + model = GetProjectsAPIResponseDTO() + if include_optional: + return GetProjectsAPIResponseDTO( + approval_projects = [ + visier.sdk.api.administration.models.project_dto.ProjectDTO( + capabilities = [ + 'canRead' + ], + description = '', + id = '', + name = '', + release_version = '', + ticket_number = '', + version_number = 56, ) + ], + archived_projects = [ + visier.sdk.api.administration.models.project_dto.ProjectDTO( + capabilities = [ + 'canRead' + ], + description = '', + id = '', + name = '', + release_version = '', + ticket_number = '', + version_number = 56, ) + ], + open_projects = [ + visier.sdk.api.administration.models.project_dto.ProjectDTO( + capabilities = [ + 'canRead' + ], + description = '', + id = '', + name = '', + release_version = '', + ticket_number = '', + version_number = 56, ) + ], + rejected_projects = [ + visier.sdk.api.administration.models.project_dto.ProjectDTO( + capabilities = [ + 'canRead' + ], + description = '', + id = '', + name = '', + release_version = '', + ticket_number = '', + version_number = 56, ) + ] + ) + else: + return GetProjectsAPIResponseDTO( + ) + """ + + def testGetProjectsAPIResponseDTO(self): + """Test GetProjectsAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_google_protobuf_any.py b/src/visier.sdk.api.administration/test/test_google_protobuf_any.py new file mode 100644 index 000000000..0725e1e5e --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_google_protobuf_any.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.google_protobuf_any import GoogleProtobufAny + +class TestGoogleProtobufAny(unittest.TestCase): + """GoogleProtobufAny unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoogleProtobufAny: + """Test GoogleProtobufAny + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoogleProtobufAny` + """ + model = GoogleProtobufAny() + if include_optional: + return GoogleProtobufAny( + type = '' + ) + else: + return GoogleProtobufAny( + ) + """ + + def testGoogleProtobufAny(self): + """Test GoogleProtobufAny""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_hierarchy_property_dto.py b/src/visier.sdk.api.administration/test/test_hierarchy_property_dto.py new file mode 100644 index 000000000..4ec4e7a98 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_hierarchy_property_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.hierarchy_property_dto import HierarchyPropertyDTO + +class TestHierarchyPropertyDTO(unittest.TestCase): + """HierarchyPropertyDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> HierarchyPropertyDTO: + """Test HierarchyPropertyDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `HierarchyPropertyDTO` + """ + model = HierarchyPropertyDTO() + if include_optional: + return HierarchyPropertyDTO( + display_name = '', + hierarchy_property_id = '' + ) + else: + return HierarchyPropertyDTO( + ) + """ + + def testHierarchyPropertyDTO(self): + """Test HierarchyPropertyDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_home_analysis_by_user_group_dto.py b/src/visier.sdk.api.administration/test/test_home_analysis_by_user_group_dto.py new file mode 100644 index 000000000..4c91ef548 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_home_analysis_by_user_group_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.home_analysis_by_user_group_dto import HomeAnalysisByUserGroupDTO + +class TestHomeAnalysisByUserGroupDTO(unittest.TestCase): + """HomeAnalysisByUserGroupDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> HomeAnalysisByUserGroupDTO: + """Test HomeAnalysisByUserGroupDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `HomeAnalysisByUserGroupDTO` + """ + model = HomeAnalysisByUserGroupDTO() + if include_optional: + return HomeAnalysisByUserGroupDTO( + home_analysis_id = '', + user_group_id = '' + ) + else: + return HomeAnalysisByUserGroupDTO( + ) + """ + + def testHomeAnalysisByUserGroupDTO(self): + """Test HomeAnalysisByUserGroupDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_inherited_access_config_dto.py b/src/visier.sdk.api.administration/test/test_inherited_access_config_dto.py new file mode 100644 index 000000000..d9c352ae0 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_inherited_access_config_dto.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.inherited_access_config_dto import InheritedAccessConfigDTO + +class TestInheritedAccessConfigDTO(unittest.TestCase): + """InheritedAccessConfigDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InheritedAccessConfigDTO: + """Test InheritedAccessConfigDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InheritedAccessConfigDTO` + """ + model = InheritedAccessConfigDTO() + if include_optional: + return InheritedAccessConfigDTO( + analytic_object_id = '', + member_filter_configs = [ + visier.sdk.api.administration.models.member_filter_config_dto.MemberFilterConfigDTO( + dimension_filters = [ + visier.sdk.api.administration.models.dimension_filter_dto.DimensionFilterDTO( + dynamic_dimension_filter = visier.sdk.api.administration.models.dynamic_dimension_filter_dto.DynamicDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + dynamic_property_mappings = [ + visier.sdk.api.administration.models.dynamic_property_mapping_dto.DynamicPropertyMappingDTO( + hierarchy_property_id = '', + hierarchy_property_status = 'Unset', + user_property = null, ) + ], + subject_reference_path = [ + '' + ], ), + static_dimension_filter = visier.sdk.api.administration.models.static_dimension_filter_dto.StaticDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + member_selections = [ + visier.sdk.api.administration.models.member_selection_dto.MemberSelectionDTO( + dimension_member_status = 'Unset', + excluded = True, + name_path = [ + '' + ], ) + ], ), ) + ], ) + ], + remove_access = True + ) + else: + return InheritedAccessConfigDTO( + ) + """ + + def testInheritedAccessConfigDTO(self): + """Test InheritedAccessConfigDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_inherited_reference_member_filter_config_dto.py b/src/visier.sdk.api.administration/test/test_inherited_reference_member_filter_config_dto.py new file mode 100644 index 000000000..fab476c7a --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_inherited_reference_member_filter_config_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.inherited_reference_member_filter_config_dto import InheritedReferenceMemberFilterConfigDTO + +class TestInheritedReferenceMemberFilterConfigDTO(unittest.TestCase): + """InheritedReferenceMemberFilterConfigDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InheritedReferenceMemberFilterConfigDTO: + """Test InheritedReferenceMemberFilterConfigDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InheritedReferenceMemberFilterConfigDTO` + """ + model = InheritedReferenceMemberFilterConfigDTO() + if include_optional: + return InheritedReferenceMemberFilterConfigDTO( + target_analytic_object_id = '' + ) + else: + return InheritedReferenceMemberFilterConfigDTO( + ) + """ + + def testInheritedReferenceMemberFilterConfigDTO(self): + """Test InheritedReferenceMemberFilterConfigDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_last_login_dto.py b/src/visier.sdk.api.administration/test/test_last_login_dto.py new file mode 100644 index 000000000..e2932cfd4 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_last_login_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.last_login_dto import LastLoginDTO + +class TestLastLoginDTO(unittest.TestCase): + """LastLoginDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LastLoginDTO: + """Test LastLoginDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LastLoginDTO` + """ + model = LastLoginDTO() + if include_optional: + return LastLoginDTO( + timestamp = '' + ) + else: + return LastLoginDTO( + ) + """ + + def testLastLoginDTO(self): + """Test LastLoginDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_local_tenant_profile_assignment_request_dto.py b/src/visier.sdk.api.administration/test/test_local_tenant_profile_assignment_request_dto.py new file mode 100644 index 000000000..17f02c356 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_local_tenant_profile_assignment_request_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.local_tenant_profile_assignment_request_dto import LocalTenantProfileAssignmentRequestDTO + +class TestLocalTenantProfileAssignmentRequestDTO(unittest.TestCase): + """LocalTenantProfileAssignmentRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LocalTenantProfileAssignmentRequestDTO: + """Test LocalTenantProfileAssignmentRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LocalTenantProfileAssignmentRequestDTO` + """ + model = LocalTenantProfileAssignmentRequestDTO() + if include_optional: + return LocalTenantProfileAssignmentRequestDTO( + target_user_ids = [ + '' + ], + validity_end_time = '', + validity_start_time = '' + ) + else: + return LocalTenantProfileAssignmentRequestDTO( + ) + """ + + def testLocalTenantProfileAssignmentRequestDTO(self): + """Test LocalTenantProfileAssignmentRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_local_tenant_profile_assignment_response_dto.py b/src/visier.sdk.api.administration/test/test_local_tenant_profile_assignment_response_dto.py new file mode 100644 index 000000000..f6e51f11f --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_local_tenant_profile_assignment_response_dto.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.local_tenant_profile_assignment_response_dto import LocalTenantProfileAssignmentResponseDTO + +class TestLocalTenantProfileAssignmentResponseDTO(unittest.TestCase): + """LocalTenantProfileAssignmentResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LocalTenantProfileAssignmentResponseDTO: + """Test LocalTenantProfileAssignmentResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LocalTenantProfileAssignmentResponseDTO` + """ + model = LocalTenantProfileAssignmentResponseDTO() + if include_optional: + return LocalTenantProfileAssignmentResponseDTO( + bad_user_ids = [ + visier.sdk.api.administration.models.user_id_error_dto.UserIdErrorDTO( + error = null, + user_id = '', ) + ], + errors = True, + failed_assignments = [ + visier.sdk.api.administration.models.failed_local_tenant_profile_assignment_dto.FailedLocalTenantProfileAssignmentDTO( + error = null, + user_id = '', ) + ], + successful_assignments = [ + visier.sdk.api.administration.models.successful_local_tenant_profile_assignment_dto.SuccessfulLocalTenantProfileAssignmentDTO( + user_id = '', ) + ] + ) + else: + return LocalTenantProfileAssignmentResponseDTO( + ) + """ + + def testLocalTenantProfileAssignmentResponseDTO(self): + """Test LocalTenantProfileAssignmentResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_local_tenant_profile_revoke_request_dto.py b/src/visier.sdk.api.administration/test/test_local_tenant_profile_revoke_request_dto.py new file mode 100644 index 000000000..8525b9eb3 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_local_tenant_profile_revoke_request_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.local_tenant_profile_revoke_request_dto import LocalTenantProfileRevokeRequestDTO + +class TestLocalTenantProfileRevokeRequestDTO(unittest.TestCase): + """LocalTenantProfileRevokeRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LocalTenantProfileRevokeRequestDTO: + """Test LocalTenantProfileRevokeRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LocalTenantProfileRevokeRequestDTO` + """ + model = LocalTenantProfileRevokeRequestDTO() + if include_optional: + return LocalTenantProfileRevokeRequestDTO( + target_user_ids = [ + '' + ] + ) + else: + return LocalTenantProfileRevokeRequestDTO( + ) + """ + + def testLocalTenantProfileRevokeRequestDTO(self): + """Test LocalTenantProfileRevokeRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_local_tenant_profile_revoke_response_dto.py b/src/visier.sdk.api.administration/test/test_local_tenant_profile_revoke_response_dto.py new file mode 100644 index 000000000..a93611776 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_local_tenant_profile_revoke_response_dto.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.local_tenant_profile_revoke_response_dto import LocalTenantProfileRevokeResponseDTO + +class TestLocalTenantProfileRevokeResponseDTO(unittest.TestCase): + """LocalTenantProfileRevokeResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LocalTenantProfileRevokeResponseDTO: + """Test LocalTenantProfileRevokeResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LocalTenantProfileRevokeResponseDTO` + """ + model = LocalTenantProfileRevokeResponseDTO() + if include_optional: + return LocalTenantProfileRevokeResponseDTO( + failed = [ + visier.sdk.api.administration.models.failed_local_tenant_profile_revoke_dto.FailedLocalTenantProfileRevokeDTO( + message = '', + user_id = '', ) + ], + succeeded = [ + visier.sdk.api.administration.models.successful_local_tenant_profile_assignment_dto.SuccessfulLocalTenantProfileAssignmentDTO( + user_id = '', ) + ] + ) + else: + return LocalTenantProfileRevokeResponseDTO( + ) + """ + + def testLocalTenantProfileRevokeResponseDTO(self): + """Test LocalTenantProfileRevokeResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_mask_message.py b/src/visier.sdk.api.administration/test/test_mask_message.py new file mode 100644 index 000000000..9c2d98472 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_mask_message.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.mask_message import MaskMessage + +class TestMaskMessage(unittest.TestCase): + """MaskMessage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MaskMessage: + """Test MaskMessage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MaskMessage` + """ + model = MaskMessage() + if include_optional: + return MaskMessage( + mask = '' + ) + else: + return MaskMessage( + ) + """ + + def testMaskMessage(self): + """Test MaskMessage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_member_filter_config_dto.py b/src/visier.sdk.api.administration/test/test_member_filter_config_dto.py new file mode 100644 index 000000000..28a694fed --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_member_filter_config_dto.py @@ -0,0 +1,76 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.member_filter_config_dto import MemberFilterConfigDTO + +class TestMemberFilterConfigDTO(unittest.TestCase): + """MemberFilterConfigDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MemberFilterConfigDTO: + """Test MemberFilterConfigDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MemberFilterConfigDTO` + """ + model = MemberFilterConfigDTO() + if include_optional: + return MemberFilterConfigDTO( + dimension_filters = [ + visier.sdk.api.administration.models.dimension_filter_dto.DimensionFilterDTO( + dynamic_dimension_filter = visier.sdk.api.administration.models.dynamic_dimension_filter_dto.DynamicDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + dynamic_property_mappings = [ + visier.sdk.api.administration.models.dynamic_property_mapping_dto.DynamicPropertyMappingDTO( + hierarchy_property_id = '', + hierarchy_property_status = 'Unset', + user_property = null, ) + ], + subject_reference_path = [ + '' + ], ), + static_dimension_filter = visier.sdk.api.administration.models.static_dimension_filter_dto.StaticDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + member_selections = [ + visier.sdk.api.administration.models.member_selection_dto.MemberSelectionDTO( + dimension_member_status = 'Unset', + excluded = True, + name_path = [ + '' + ], ) + ], ), ) + ] + ) + else: + return MemberFilterConfigDTO( + ) + """ + + def testMemberFilterConfigDTO(self): + """Test MemberFilterConfigDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_member_selection_dto.py b/src/visier.sdk.api.administration/test/test_member_selection_dto.py new file mode 100644 index 000000000..92d6574c5 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_member_selection_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.member_selection_dto import MemberSelectionDTO + +class TestMemberSelectionDTO(unittest.TestCase): + """MemberSelectionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MemberSelectionDTO: + """Test MemberSelectionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MemberSelectionDTO` + """ + model = MemberSelectionDTO() + if include_optional: + return MemberSelectionDTO( + dimension_member_status = 'Unset', + excluded = True, + name_path = [ + '' + ] + ) + else: + return MemberSelectionDTO( + ) + """ + + def testMemberSelectionDTO(self): + """Test MemberSelectionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_metric_validation_summary_dto.py b/src/visier.sdk.api.administration/test/test_metric_validation_summary_dto.py new file mode 100644 index 000000000..21b2f448c --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_metric_validation_summary_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.metric_validation_summary_dto import MetricValidationSummaryDTO + +class TestMetricValidationSummaryDTO(unittest.TestCase): + """MetricValidationSummaryDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MetricValidationSummaryDTO: + """Test MetricValidationSummaryDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MetricValidationSummaryDTO` + """ + model = MetricValidationSummaryDTO() + if include_optional: + return MetricValidationSummaryDTO( + display_name = '', + symbol_name = '', + value = 1.337 + ) + else: + return MetricValidationSummaryDTO( + ) + """ + + def testMetricValidationSummaryDTO(self): + """Test MetricValidationSummaryDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_module_settings_dto.py b/src/visier.sdk.api.administration/test/test_module_settings_dto.py new file mode 100644 index 000000000..240312146 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_module_settings_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.module_settings_dto import ModuleSettingsDTO + +class TestModuleSettingsDTO(unittest.TestCase): + """ModuleSettingsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ModuleSettingsDTO: + """Test ModuleSettingsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ModuleSettingsDTO` + """ + model = ModuleSettingsDTO() + if include_optional: + return ModuleSettingsDTO( + locale = '', + special_handling_instruction = '', + unavailable_for_assignment = True + ) + else: + return ModuleSettingsDTO( + ) + """ + + def testModuleSettingsDTO(self): + """Test ModuleSettingsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permission_assigned_by_tenant_dto.py b/src/visier.sdk.api.administration/test/test_permission_assigned_by_tenant_dto.py new file mode 100644 index 000000000..5260cadc1 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permission_assigned_by_tenant_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permission_assigned_by_tenant_dto import PermissionAssignedByTenantDTO + +class TestPermissionAssignedByTenantDTO(unittest.TestCase): + """PermissionAssignedByTenantDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionAssignedByTenantDTO: + """Test PermissionAssignedByTenantDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionAssignedByTenantDTO` + """ + model = PermissionAssignedByTenantDTO() + if include_optional: + return PermissionAssignedByTenantDTO( + tenant_code = '', + users = [ + visier.sdk.api.administration.models.permission_assigned_user_dto.PermissionAssignedUserDTO( + permission_from = '', + user_id = '', + username = '', ) + ] + ) + else: + return PermissionAssignedByTenantDTO( + ) + """ + + def testPermissionAssignedByTenantDTO(self): + """Test PermissionAssignedByTenantDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permission_assigned_for_local_tenant_dto.py b/src/visier.sdk.api.administration/test/test_permission_assigned_for_local_tenant_dto.py new file mode 100644 index 000000000..1dbe6b027 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permission_assigned_for_local_tenant_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permission_assigned_for_local_tenant_dto import PermissionAssignedForLocalTenantDTO + +class TestPermissionAssignedForLocalTenantDTO(unittest.TestCase): + """PermissionAssignedForLocalTenantDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionAssignedForLocalTenantDTO: + """Test PermissionAssignedForLocalTenantDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionAssignedForLocalTenantDTO` + """ + model = PermissionAssignedForLocalTenantDTO() + if include_optional: + return PermissionAssignedForLocalTenantDTO( + description = '', + display_name = '', + permission_id = '' + ) + else: + return PermissionAssignedForLocalTenantDTO( + ) + """ + + def testPermissionAssignedForLocalTenantDTO(self): + """Test PermissionAssignedForLocalTenantDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permission_assigned_user_dto.py b/src/visier.sdk.api.administration/test/test_permission_assigned_user_dto.py new file mode 100644 index 000000000..1a60e28c9 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permission_assigned_user_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permission_assigned_user_dto import PermissionAssignedUserDTO + +class TestPermissionAssignedUserDTO(unittest.TestCase): + """PermissionAssignedUserDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionAssignedUserDTO: + """Test PermissionAssignedUserDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionAssignedUserDTO` + """ + model = PermissionAssignedUserDTO() + if include_optional: + return PermissionAssignedUserDTO( + permission_from = '', + user_id = '', + username = '' + ) + else: + return PermissionAssignedUserDTO( + ) + """ + + def testPermissionAssignedUserDTO(self): + """Test PermissionAssignedUserDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permission_assigned_users_dto.py b/src/visier.sdk.api.administration/test/test_permission_assigned_users_dto.py new file mode 100644 index 000000000..347705aa5 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permission_assigned_users_dto.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permission_assigned_users_dto import PermissionAssignedUsersDTO + +class TestPermissionAssignedUsersDTO(unittest.TestCase): + """PermissionAssignedUsersDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionAssignedUsersDTO: + """Test PermissionAssignedUsersDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionAssignedUsersDTO` + """ + model = PermissionAssignedUsersDTO() + if include_optional: + return PermissionAssignedUsersDTO( + limit = 56, + start = 56, + tenants = [ + visier.sdk.api.administration.models.permission_assigned_by_tenant_dto.PermissionAssignedByTenantDTO( + tenant_code = '', + users = [ + visier.sdk.api.administration.models.permission_assigned_user_dto.PermissionAssignedUserDTO( + permission_from = '', + user_id = '', + username = '', ) + ], ) + ] + ) + else: + return PermissionAssignedUsersDTO( + ) + """ + + def testPermissionAssignedUsersDTO(self): + """Test PermissionAssignedUsersDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permission_bulk_operation_response_dto.py b/src/visier.sdk.api.administration/test/test_permission_bulk_operation_response_dto.py new file mode 100644 index 000000000..fd0120857 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permission_bulk_operation_response_dto.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permission_bulk_operation_response_dto import PermissionBulkOperationResponseDTO + +class TestPermissionBulkOperationResponseDTO(unittest.TestCase): + """PermissionBulkOperationResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionBulkOperationResponseDTO: + """Test PermissionBulkOperationResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionBulkOperationResponseDTO` + """ + model = PermissionBulkOperationResponseDTO() + if include_optional: + return PermissionBulkOperationResponseDTO( + failures = [ + visier.sdk.api.administration.models.permission_failure_dto.PermissionFailureDTO( + display_name = '', + error = null, + permission_id = '', ) + ], + successes = [ + visier.sdk.api.administration.models.permission_success_dto.PermissionSuccessDTO( + display_name = '', + permission_id = '', ) + ] + ) + else: + return PermissionBulkOperationResponseDTO( + ) + """ + + def testPermissionBulkOperationResponseDTO(self): + """Test PermissionBulkOperationResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permission_dto.py b/src/visier.sdk.api.administration/test/test_permission_dto.py new file mode 100644 index 000000000..de16de20c --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permission_dto.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permission_dto import PermissionDTO + +class TestPermissionDTO(unittest.TestCase): + """PermissionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionDTO: + """Test PermissionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionDTO` + """ + model = PermissionDTO() + if include_optional: + return PermissionDTO( + admin_capability_config = visier.sdk.api.administration.models.admin_capability_config_dto.AdminCapabilityConfigDTO( + all_capabilities_access = True, + capabilities = [ + '' + ], ), + data_security_profiles = [ + visier.sdk.api.administration.models.data_security_profile_dto.DataSecurityProfileDTO( + all_data_point_access = True, + analytic_object_id = '', + inherited_access_configs = [ + visier.sdk.api.administration.models.inherited_access_config_dto.InheritedAccessConfigDTO( + analytic_object_id = '', + member_filter_configs = [ + visier.sdk.api.administration.models.member_filter_config_dto.MemberFilterConfigDTO( + dimension_filters = [ + visier.sdk.api.administration.models.dimension_filter_dto.DimensionFilterDTO( + dynamic_dimension_filter = visier.sdk.api.administration.models.dynamic_dimension_filter_dto.DynamicDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + dynamic_property_mappings = [ + visier.sdk.api.administration.models.dynamic_property_mapping_dto.DynamicPropertyMappingDTO( + hierarchy_property_id = '', + hierarchy_property_status = 'Unset', + user_property = null, ) + ], + subject_reference_path = [ + '' + ], ), + static_dimension_filter = visier.sdk.api.administration.models.static_dimension_filter_dto.StaticDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + member_selections = [ + visier.sdk.api.administration.models.member_selection_dto.MemberSelectionDTO( + dimension_member_status = 'Unset', + excluded = True, + name_path = [ + '' + ], ) + ], ), ) + ], ) + ], + remove_access = True, ) + ], + inherited_reference_member_filter_config = null, + member_filter_configs = [ + visier.sdk.api.administration.models.member_filter_config_dto.MemberFilterConfigDTO() + ], + property_set_config = null, ) + ], + description = '', + display_name = '', + permission_id = '', + role_modules_config = visier.sdk.api.administration.models.role_modules_config_dto.RoleModulesConfigDTO( + content_package_ids = [ + '' + ], ) + ) + else: + return PermissionDTO( + ) + """ + + def testPermissionDTO(self): + """Test PermissionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permission_error_dto.py b/src/visier.sdk.api.administration/test/test_permission_error_dto.py new file mode 100644 index 000000000..ac4f49a2f --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permission_error_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permission_error_dto import PermissionErrorDTO + +class TestPermissionErrorDTO(unittest.TestCase): + """PermissionErrorDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionErrorDTO: + """Test PermissionErrorDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionErrorDTO` + """ + model = PermissionErrorDTO() + if include_optional: + return PermissionErrorDTO( + message = '', + rci = '' + ) + else: + return PermissionErrorDTO( + ) + """ + + def testPermissionErrorDTO(self): + """Test PermissionErrorDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permission_failure_dto.py b/src/visier.sdk.api.administration/test/test_permission_failure_dto.py new file mode 100644 index 000000000..d7d3f4b01 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permission_failure_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permission_failure_dto import PermissionFailureDTO + +class TestPermissionFailureDTO(unittest.TestCase): + """PermissionFailureDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionFailureDTO: + """Test PermissionFailureDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionFailureDTO` + """ + model = PermissionFailureDTO() + if include_optional: + return PermissionFailureDTO( + display_name = '', + error = visier.sdk.api.administration.models.permission_error_dto.PermissionErrorDTO( + message = '', + rci = '', ), + permission_id = '' + ) + else: + return PermissionFailureDTO( + ) + """ + + def testPermissionFailureDTO(self): + """Test PermissionFailureDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permission_response_dto.py b/src/visier.sdk.api.administration/test/test_permission_response_dto.py new file mode 100644 index 000000000..b0210001d --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permission_response_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permission_response_dto import PermissionResponseDTO + +class TestPermissionResponseDTO(unittest.TestCase): + """PermissionResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionResponseDTO: + """Test PermissionResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionResponseDTO` + """ + model = PermissionResponseDTO() + if include_optional: + return PermissionResponseDTO( + display_name = '', + permission_id = '' + ) + else: + return PermissionResponseDTO( + ) + """ + + def testPermissionResponseDTO(self): + """Test PermissionResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permission_success_dto.py b/src/visier.sdk.api.administration/test/test_permission_success_dto.py new file mode 100644 index 000000000..38b3ebd34 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permission_success_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permission_success_dto import PermissionSuccessDTO + +class TestPermissionSuccessDTO(unittest.TestCase): + """PermissionSuccessDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionSuccessDTO: + """Test PermissionSuccessDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionSuccessDTO` + """ + model = PermissionSuccessDTO() + if include_optional: + return PermissionSuccessDTO( + display_name = '', + permission_id = '' + ) + else: + return PermissionSuccessDTO( + ) + """ + + def testPermissionSuccessDTO(self): + """Test PermissionSuccessDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permissions_api.py b/src/visier.sdk.api.administration/test/test_permissions_api.py new file mode 100644 index 000000000..a72d78193 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permissions_api.py @@ -0,0 +1,122 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.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_data_access_sets(self) -> None: + """Test case for create_data_access_sets + + Create shareable data access sets + """ + pass + + def test_create_permissions(self) -> None: + """Test case for create_permissions + + Create permissions + """ + pass + + def test_delete_permissions(self) -> None: + """Test case for delete_permissions + + Delete permissions + """ + pass + + def test_get_capabilities(self) -> None: + """Test case for get_capabilities + + Retrieve a list of all permission capabilities + """ + pass + + def test_get_capability(self) -> None: + """Test case for get_capability + + Retrieve a permission capability's details + """ + pass + + def test_get_content_package(self) -> None: + """Test case for get_content_package + + Retrieve a content package's details + """ + pass + + def test_get_content_packages(self) -> None: + """Test case for get_content_packages + + Retrieve a list of all content packages + """ + pass + + def test_get_data_access_set(self) -> None: + """Test case for get_data_access_set + + Retrieve a data access set's details + """ + pass + + def test_get_data_access_sets(self) -> None: + """Test case for get_data_access_sets + + Retrieve a list of all data access sets + """ + pass + + def test_get_data_security_objects(self) -> None: + """Test case for get_data_security_objects + + Retrieve a list of data security objects + """ + pass + + def test_get_permission(self) -> None: + """Test case for get_permission + + Retrieve a permission's details + """ + pass + + def test_get_permissions(self) -> None: + """Test case for get_permissions + + Retrieve a list of all permissions + """ + pass + + def test_update_permissions(self) -> None: + """Test case for update_permissions + + Update permissions + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permissions_list_dto.py b/src/visier.sdk.api.administration/test/test_permissions_list_dto.py new file mode 100644 index 000000000..fb3c321c7 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permissions_list_dto.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permissions_list_dto import PermissionsListDTO + +class TestPermissionsListDTO(unittest.TestCase): + """PermissionsListDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionsListDTO: + """Test PermissionsListDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionsListDTO` + """ + model = PermissionsListDTO() + if include_optional: + return PermissionsListDTO( + permissions = [ + visier.sdk.api.administration.models.permission_dto.PermissionDTO( + admin_capability_config = null, + data_security_profiles = [ + visier.sdk.api.administration.models.data_security_profile_dto.DataSecurityProfileDTO( + all_data_point_access = True, + analytic_object_id = '', + inherited_access_configs = [ + visier.sdk.api.administration.models.inherited_access_config_dto.InheritedAccessConfigDTO( + analytic_object_id = '', + member_filter_configs = [ + visier.sdk.api.administration.models.member_filter_config_dto.MemberFilterConfigDTO( + dimension_filters = [ + visier.sdk.api.administration.models.dimension_filter_dto.DimensionFilterDTO( + dynamic_dimension_filter = visier.sdk.api.administration.models.dynamic_dimension_filter_dto.DynamicDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + dynamic_property_mappings = [ + visier.sdk.api.administration.models.dynamic_property_mapping_dto.DynamicPropertyMappingDTO( + hierarchy_property_id = '', + hierarchy_property_status = 'Unset', + user_property = null, ) + ], + subject_reference_path = [ + '' + ], ), + static_dimension_filter = visier.sdk.api.administration.models.static_dimension_filter_dto.StaticDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + member_selections = [ + visier.sdk.api.administration.models.member_selection_dto.MemberSelectionDTO( + dimension_member_status = 'Unset', + excluded = True, + name_path = [ + '' + ], ) + ], ), ) + ], ) + ], + remove_access = True, ) + ], + inherited_reference_member_filter_config = null, + member_filter_configs = [ + visier.sdk.api.administration.models.member_filter_config_dto.MemberFilterConfigDTO() + ], + property_set_config = null, ) + ], + description = '', + display_name = '', + permission_id = '', + role_modules_config = null, ) + ] + ) + else: + return PermissionsListDTO( + ) + """ + + def testPermissionsListDTO(self): + """Test PermissionsListDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permissions_to_user_group_for_tenant_dto.py b/src/visier.sdk.api.administration/test/test_permissions_to_user_group_for_tenant_dto.py new file mode 100644 index 000000000..04701e6f5 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permissions_to_user_group_for_tenant_dto.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permissions_to_user_group_for_tenant_dto import PermissionsToUserGroupForTenantDTO + +class TestPermissionsToUserGroupForTenantDTO(unittest.TestCase): + """PermissionsToUserGroupForTenantDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionsToUserGroupForTenantDTO: + """Test PermissionsToUserGroupForTenantDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionsToUserGroupForTenantDTO` + """ + model = PermissionsToUserGroupForTenantDTO() + if include_optional: + return PermissionsToUserGroupForTenantDTO( + message = '', + status = '', + tenant_code = '', + user_groups = [ + visier.sdk.api.administration.models.user_group_get_api_response_dto.UserGroupGetAPIResponseDTO( + display_name = '', + permissions = [ + visier.sdk.api.administration.models.permission_response_dto.PermissionResponseDTO( + display_name = '', + permission_id = '', ) + ], + user_group_id = '', ) + ] + ) + else: + return PermissionsToUserGroupForTenantDTO( + ) + """ + + def testPermissionsToUserGroupForTenantDTO(self): + """Test PermissionsToUserGroupForTenantDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permissions_to_user_group_request_dto.py b/src/visier.sdk.api.administration/test/test_permissions_to_user_group_request_dto.py new file mode 100644 index 000000000..49b0ba493 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permissions_to_user_group_request_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permissions_to_user_group_request_dto import PermissionsToUserGroupRequestDTO + +class TestPermissionsToUserGroupRequestDTO(unittest.TestCase): + """PermissionsToUserGroupRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionsToUserGroupRequestDTO: + """Test PermissionsToUserGroupRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionsToUserGroupRequestDTO` + """ + model = PermissionsToUserGroupRequestDTO() + if include_optional: + return PermissionsToUserGroupRequestDTO( + permissions_ids = [ + '' + ], + user_group_id = '' + ) + else: + return PermissionsToUserGroupRequestDTO( + ) + """ + + def testPermissionsToUserGroupRequestDTO(self): + """Test PermissionsToUserGroupRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_permissions_to_user_groups_request_dto.py b/src/visier.sdk.api.administration/test/test_permissions_to_user_groups_request_dto.py new file mode 100644 index 000000000..43f76d1b4 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_permissions_to_user_groups_request_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.permissions_to_user_groups_request_dto import PermissionsToUserGroupsRequestDTO + +class TestPermissionsToUserGroupsRequestDTO(unittest.TestCase): + """PermissionsToUserGroupsRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PermissionsToUserGroupsRequestDTO: + """Test PermissionsToUserGroupsRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PermissionsToUserGroupsRequestDTO` + """ + model = PermissionsToUserGroupsRequestDTO() + if include_optional: + return PermissionsToUserGroupsRequestDTO( + user_groups = [ + visier.sdk.api.administration.models.permissions_to_user_group_request_dto.PermissionsToUserGroupRequestDTO( + permissions_ids = [ + '' + ], + user_group_id = '', ) + ] + ) + else: + return PermissionsToUserGroupsRequestDTO( + ) + """ + + def testPermissionsToUserGroupsRequestDTO(self): + """Test PermissionsToUserGroupsRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_production_versions_api.py b/src/visier.sdk.api.administration/test/test_production_versions_api.py new file mode 100644 index 000000000..a1eba29eb --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_production_versions_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.api.production_versions_api import ProductionVersionsApi + + +class TestProductionVersionsApi(unittest.TestCase): + """ProductionVersionsApi unit test stubs""" + + def setUp(self) -> None: + self.api = ProductionVersionsApi() + + def tearDown(self) -> None: + pass + + def test_get_production_versions(self) -> None: + """Test case for get_production_versions + + Retrieve a list of all production versions + """ + pass + + def test_post_production_versions(self) -> None: + """Test case for post_production_versions + + Perform an operation on production versions + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_production_versions_api_operation_request_dto.py b/src/visier.sdk.api.administration/test/test_production_versions_api_operation_request_dto.py new file mode 100644 index 000000000..b22e48aff --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_production_versions_api_operation_request_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.production_versions_api_operation_request_dto import ProductionVersionsAPIOperationRequestDTO + +class TestProductionVersionsAPIOperationRequestDTO(unittest.TestCase): + """ProductionVersionsAPIOperationRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProductionVersionsAPIOperationRequestDTO: + """Test ProductionVersionsAPIOperationRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProductionVersionsAPIOperationRequestDTO` + """ + model = ProductionVersionsAPIOperationRequestDTO() + if include_optional: + return ProductionVersionsAPIOperationRequestDTO( + export_parameters = visier.sdk.api.administration.models.export_production_versions_api_operation_parameters_dto.ExportProductionVersionsAPIOperationParametersDTO( + end_version = '', + excluded_versions = [ + '' + ], + start_version = '', ), + operation = 'unknownProductionVersionsAPIOperation' + ) + else: + return ProductionVersionsAPIOperationRequestDTO( + ) + """ + + def testProductionVersionsAPIOperationRequestDTO(self): + """Test ProductionVersionsAPIOperationRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_production_versions_api_operation_response_dto.py b/src/visier.sdk.api.administration/test/test_production_versions_api_operation_response_dto.py new file mode 100644 index 000000000..c836bfbef --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_production_versions_api_operation_response_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.production_versions_api_operation_response_dto import ProductionVersionsAPIOperationResponseDTO + +class TestProductionVersionsAPIOperationResponseDTO(unittest.TestCase): + """ProductionVersionsAPIOperationResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProductionVersionsAPIOperationResponseDTO: + """Test ProductionVersionsAPIOperationResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProductionVersionsAPIOperationResponseDTO` + """ + model = ProductionVersionsAPIOperationResponseDTO() + if include_optional: + return ProductionVersionsAPIOperationResponseDTO( + export = None + ) + else: + return ProductionVersionsAPIOperationResponseDTO( + ) + """ + + def testProductionVersionsAPIOperationResponseDTO(self): + """Test ProductionVersionsAPIOperationResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_profile_assigned_for_accessible_tenant_dto.py b/src/visier.sdk.api.administration/test/test_profile_assigned_for_accessible_tenant_dto.py new file mode 100644 index 000000000..8d4dfd9a0 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_profile_assigned_for_accessible_tenant_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.profile_assigned_for_accessible_tenant_dto import ProfileAssignedForAccessibleTenantDTO + +class TestProfileAssignedForAccessibleTenantDTO(unittest.TestCase): + """ProfileAssignedForAccessibleTenantDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileAssignedForAccessibleTenantDTO: + """Test ProfileAssignedForAccessibleTenantDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileAssignedForAccessibleTenantDTO` + """ + model = ProfileAssignedForAccessibleTenantDTO() + if include_optional: + return ProfileAssignedForAccessibleTenantDTO( + display_name = '', + for_all_children = True, + profile_id = '', + tenant_code = '', + validity_end_time = '', + validity_start_time = '' + ) + else: + return ProfileAssignedForAccessibleTenantDTO( + ) + """ + + def testProfileAssignedForAccessibleTenantDTO(self): + """Test ProfileAssignedForAccessibleTenantDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_profile_assigned_for_local_tenant_dto.py b/src/visier.sdk.api.administration/test/test_profile_assigned_for_local_tenant_dto.py new file mode 100644 index 000000000..b3eeebbe6 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_profile_assigned_for_local_tenant_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.profile_assigned_for_local_tenant_dto import ProfileAssignedForLocalTenantDTO + +class TestProfileAssignedForLocalTenantDTO(unittest.TestCase): + """ProfileAssignedForLocalTenantDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileAssignedForLocalTenantDTO: + """Test ProfileAssignedForLocalTenantDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileAssignedForLocalTenantDTO` + """ + model = ProfileAssignedForLocalTenantDTO() + if include_optional: + return ProfileAssignedForLocalTenantDTO( + additional_capabilities = visier.sdk.api.administration.models.additional_capabilities_dto.AdditionalCapabilitiesDTO( + additional_capabilities = [ + '' + ], ), + capabilities = [ + visier.sdk.api.administration.models.capabilities_dto.CapabilitiesDTO( + access_level = '', + capability = '', + view_level = '', ) + ], + display_name = '', + profile_id = '', + validity_end_time = '', + validity_start_time = '' + ) + else: + return ProfileAssignedForLocalTenantDTO( + ) + """ + + def testProfileAssignedForLocalTenantDTO(self): + """Test ProfileAssignedForLocalTenantDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_profile_get_api_response_dto.py b/src/visier.sdk.api.administration/test/test_profile_get_api_response_dto.py new file mode 100644 index 000000000..752ef3357 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_profile_get_api_response_dto.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.profile_get_api_response_dto import ProfileGetAPIResponseDTO + +class TestProfileGetAPIResponseDTO(unittest.TestCase): + """ProfileGetAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfileGetAPIResponseDTO: + """Test ProfileGetAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfileGetAPIResponseDTO` + """ + model = ProfileGetAPIResponseDTO() + if include_optional: + return ProfileGetAPIResponseDTO( + additional_capabilities = [ + '' + ], + capabilities = [ + visier.sdk.api.administration.models.capabilities_dto.CapabilitiesDTO( + access_level = '', + capability = '', + view_level = '', ) + ], + display_name = '', + profile_id = '' + ) + else: + return ProfileGetAPIResponseDTO( + ) + """ + + def testProfileGetAPIResponseDTO(self): + """Test ProfileGetAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_profiles_api.py b/src/visier.sdk.api.administration/test/test_profiles_api.py new file mode 100644 index 000000000..2547988be --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_profiles_api.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.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_assign_analytic_profile(self) -> None: + """Test case for assign_analytic_profile + + Assign an analytic tenant profile to administrating tenant users + """ + pass + + def test_assign_profile(self) -> None: + """Test case for assign_profile + + Assign a profile to a list of users + """ + pass + + def test_get_all_profiles(self) -> None: + """Test case for get_all_profiles + + Retrieve a list of all profiles + """ + pass + + def test_get_analytic_profile_detail(self) -> None: + """Test case for get_analytic_profile_detail + + Retrieve the details of an analytic tenant profile + """ + pass + + def test_get_analytic_profiles(self) -> None: + """Test case for get_analytic_profiles + + Retrieve a list of analytic tenant profiles + """ + pass + + def test_get_analytic_user_profile(self) -> None: + """Test case for get_analytic_user_profile + + Retrieve an administrating tenant user's analytic tenant profiles + """ + pass + + def test_get_profile_detail(self) -> None: + """Test case for get_profile_detail + + Retrieve the details of a profile + """ + pass + + def test_get_user_profile(self) -> None: + """Test case for get_user_profile + + Retrieve a user's profiles + """ + pass + + def test_remove_analytic_profile(self) -> None: + """Test case for remove_analytic_profile + + Remove an analytic tenant profile from administrating tenant users + """ + pass + + def test_remove_profile(self) -> None: + """Test case for remove_profile + + Remove a profile from a list of users + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_profiles_get_api_response_dto.py b/src/visier.sdk.api.administration/test/test_profiles_get_api_response_dto.py new file mode 100644 index 000000000..66cbe77ac --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_profiles_get_api_response_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.profiles_get_api_response_dto import ProfilesGetAPIResponseDTO + +class TestProfilesGetAPIResponseDTO(unittest.TestCase): + """ProfilesGetAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProfilesGetAPIResponseDTO: + """Test ProfilesGetAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProfilesGetAPIResponseDTO` + """ + model = ProfilesGetAPIResponseDTO() + if include_optional: + return ProfilesGetAPIResponseDTO( + profiles = [ + visier.sdk.api.administration.models.profile_get_api_response_dto.ProfileGetAPIResponseDTO( + additional_capabilities = [ + '' + ], + capabilities = [ + visier.sdk.api.administration.models.capabilities_dto.CapabilitiesDTO( + access_level = '', + capability = '', + view_level = '', ) + ], + display_name = '', + profile_id = '', ) + ] + ) + else: + return ProfilesGetAPIResponseDTO( + ) + """ + + def testProfilesGetAPIResponseDTO(self): + """Test ProfilesGetAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_project_dto.py b/src/visier.sdk.api.administration/test/test_project_dto.py new file mode 100644 index 000000000..ae3fd1ac7 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_project_dto.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.project_dto import ProjectDTO + +class TestProjectDTO(unittest.TestCase): + """ProjectDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProjectDTO: + """Test ProjectDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProjectDTO` + """ + model = ProjectDTO() + if include_optional: + return ProjectDTO( + capabilities = [ + 'canRead' + ], + description = '', + id = '', + name = '', + release_version = '', + ticket_number = '', + version_number = 56 + ) + else: + return ProjectDTO( + ) + """ + + def testProjectDTO(self): + """Test ProjectDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_project_operation_request_dto.py b/src/visier.sdk.api.administration/test/test_project_operation_request_dto.py new file mode 100644 index 000000000..278b92fef --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_project_operation_request_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.project_operation_request_dto import ProjectOperationRequestDTO + +class TestProjectOperationRequestDTO(unittest.TestCase): + """ProjectOperationRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProjectOperationRequestDTO: + """Test ProjectOperationRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProjectOperationRequestDTO` + """ + model = ProjectOperationRequestDTO() + if include_optional: + return ProjectOperationRequestDTO( + operation = 'unknown' + ) + else: + return ProjectOperationRequestDTO( + ) + """ + + def testProjectOperationRequestDTO(self): + """Test ProjectOperationRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_project_operation_response_dto.py b/src/visier.sdk.api.administration/test/test_project_operation_response_dto.py new file mode 100644 index 000000000..cda0107b8 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_project_operation_response_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.project_operation_response_dto import ProjectOperationResponseDTO + +class TestProjectOperationResponseDTO(unittest.TestCase): + """ProjectOperationResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProjectOperationResponseDTO: + """Test ProjectOperationResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProjectOperationResponseDTO` + """ + model = ProjectOperationResponseDTO() + if include_optional: + return ProjectOperationResponseDTO( + commit_and_publish = visier.sdk.api.administration.models.commit_and_publish_operation_response_dto.CommitAndPublishOperationResponseDTO( + published_version = null, ) + ) + else: + return ProjectOperationResponseDTO( + ) + """ + + def testProjectOperationResponseDTO(self): + """Test ProjectOperationResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_projects_api.py b/src/visier.sdk.api.administration/test/test_projects_api.py new file mode 100644 index 000000000..76e9a9840 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_projects_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.api.projects_api import ProjectsApi + + +class TestProjectsApi(unittest.TestCase): + """ProjectsApi unit test stubs""" + + def setUp(self) -> None: + self.api = ProjectsApi() + + def tearDown(self) -> None: + pass + + def test_create_project(self) -> None: + """Test case for create_project + + Create a new draft project + """ + pass + + def test_delete_project(self) -> None: + """Test case for delete_project + + Delete a draft project + """ + pass + + def test_get_project(self) -> None: + """Test case for get_project + + Retrieve a draft project's information + """ + pass + + def test_get_project_commits(self) -> None: + """Test case for get_project_commits + + Retrieve a list of all committed changes in a project + """ + pass + + def test_get_projects(self) -> None: + """Test case for get_projects + + Retrieve a list of draft projects accessible to the user + """ + pass + + def test_run_project_operation(self) -> None: + """Test case for run_project_operation + + Perform an operation on a draft project + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_property_access_config_dto.py b/src/visier.sdk.api.administration/test/test_property_access_config_dto.py new file mode 100644 index 000000000..24c64272a --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_property_access_config_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.property_access_config_dto import PropertyAccessConfigDTO + +class TestPropertyAccessConfigDTO(unittest.TestCase): + """PropertyAccessConfigDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PropertyAccessConfigDTO: + """Test PropertyAccessConfigDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PropertyAccessConfigDTO` + """ + model = PropertyAccessConfigDTO() + if include_optional: + return PropertyAccessConfigDTO( + access_level = 'None', + analytic_object_id = '', + analytic_object_reference_paths = [ + '' + ], + property_id = '', + property_status = 'Unset' + ) + else: + return PropertyAccessConfigDTO( + ) + """ + + def testPropertyAccessConfigDTO(self): + """Test PropertyAccessConfigDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_property_set_config_dto.py b/src/visier.sdk.api.administration/test/test_property_set_config_dto.py new file mode 100644 index 000000000..d0d090fd0 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_property_set_config_dto.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.property_set_config_dto import PropertySetConfigDTO + +class TestPropertySetConfigDTO(unittest.TestCase): + """PropertySetConfigDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PropertySetConfigDTO: + """Test PropertySetConfigDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PropertySetConfigDTO` + """ + model = PropertySetConfigDTO() + if include_optional: + return PropertySetConfigDTO( + property_access_configs = [ + visier.sdk.api.administration.models.property_access_config_dto.PropertyAccessConfigDTO( + access_level = 'None', + analytic_object_id = '', + analytic_object_reference_paths = [ + '' + ], + property_id = '', + property_status = 'Unset', ) + ], + shareable_data_access_set = visier.sdk.api.administration.models.shareable_data_access_set.ShareableDataAccessSet( + data_access_set_id = '', ) + ) + else: + return PropertySetConfigDTO( + ) + """ + + def testPropertySetConfigDTO(self): + """Test PropertySetConfigDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_reduced_error_dto.py b/src/visier.sdk.api.administration/test/test_reduced_error_dto.py new file mode 100644 index 000000000..8ff801ec6 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_reduced_error_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.reduced_error_dto import ReducedErrorDTO + +class TestReducedErrorDTO(unittest.TestCase): + """ReducedErrorDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ReducedErrorDTO: + """Test ReducedErrorDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ReducedErrorDTO` + """ + model = ReducedErrorDTO() + if include_optional: + return ReducedErrorDTO( + error_message = '' + ) + else: + return ReducedErrorDTO( + ) + """ + + def testReducedErrorDTO(self): + """Test ReducedErrorDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_reduced_tenant_code_error_dto.py b/src/visier.sdk.api.administration/test/test_reduced_tenant_code_error_dto.py new file mode 100644 index 000000000..0811f9c6c --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_reduced_tenant_code_error_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.reduced_tenant_code_error_dto import ReducedTenantCodeErrorDTO + +class TestReducedTenantCodeErrorDTO(unittest.TestCase): + """ReducedTenantCodeErrorDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ReducedTenantCodeErrorDTO: + """Test ReducedTenantCodeErrorDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ReducedTenantCodeErrorDTO` + """ + model = ReducedTenantCodeErrorDTO() + if include_optional: + return ReducedTenantCodeErrorDTO( + error = visier.sdk.api.administration.models.reduced_error_dto.ReducedErrorDTO( + error_message = '', ), + for_all_children = True, + tenant_code = '' + ) + else: + return ReducedTenantCodeErrorDTO( + ) + """ + + def testReducedTenantCodeErrorDTO(self): + """Test ReducedTenantCodeErrorDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_reduced_user_id_error_dto.py b/src/visier.sdk.api.administration/test/test_reduced_user_id_error_dto.py new file mode 100644 index 000000000..992c86206 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_reduced_user_id_error_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.reduced_user_id_error_dto import ReducedUserIdErrorDTO + +class TestReducedUserIdErrorDTO(unittest.TestCase): + """ReducedUserIdErrorDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ReducedUserIdErrorDTO: + """Test ReducedUserIdErrorDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ReducedUserIdErrorDTO` + """ + model = ReducedUserIdErrorDTO() + if include_optional: + return ReducedUserIdErrorDTO( + error = visier.sdk.api.administration.models.reduced_error_dto.ReducedErrorDTO( + error_message = '', ), + user_id = '' + ) + else: + return ReducedUserIdErrorDTO( + ) + """ + + def testReducedUserIdErrorDTO(self): + """Test ReducedUserIdErrorDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_related_analytic_object_dto.py b/src/visier.sdk.api.administration/test/test_related_analytic_object_dto.py new file mode 100644 index 000000000..65fa187c0 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_related_analytic_object_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.related_analytic_object_dto import RelatedAnalyticObjectDTO + +class TestRelatedAnalyticObjectDTO(unittest.TestCase): + """RelatedAnalyticObjectDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RelatedAnalyticObjectDTO: + """Test RelatedAnalyticObjectDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RelatedAnalyticObjectDTO` + """ + model = RelatedAnalyticObjectDTO() + if include_optional: + return RelatedAnalyticObjectDTO( + analytic_object_id = '', + display_name = '' + ) + else: + return RelatedAnalyticObjectDTO( + ) + """ + + def testRelatedAnalyticObjectDTO(self): + """Test RelatedAnalyticObjectDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_role_modules_config_dto.py b/src/visier.sdk.api.administration/test/test_role_modules_config_dto.py new file mode 100644 index 000000000..656936585 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_role_modules_config_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.role_modules_config_dto import RoleModulesConfigDTO + +class TestRoleModulesConfigDTO(unittest.TestCase): + """RoleModulesConfigDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoleModulesConfigDTO: + """Test RoleModulesConfigDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoleModulesConfigDTO` + """ + model = RoleModulesConfigDTO() + if include_optional: + return RoleModulesConfigDTO( + content_package_ids = [ + '' + ] + ) + else: + return RoleModulesConfigDTO( + ) + """ + + def testRoleModulesConfigDTO(self): + """Test RoleModulesConfigDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_securable_dimension_dto.py b/src/visier.sdk.api.administration/test/test_securable_dimension_dto.py new file mode 100644 index 000000000..fbaf28995 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_securable_dimension_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.securable_dimension_dto import SecurableDimensionDTO + +class TestSecurableDimensionDTO(unittest.TestCase): + """SecurableDimensionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SecurableDimensionDTO: + """Test SecurableDimensionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SecurableDimensionDTO` + """ + model = SecurableDimensionDTO() + if include_optional: + return SecurableDimensionDTO( + analytic_object_ids = [ + '' + ], + dimension_id = '', + display_name = '', + hierarchy_properties = [ + visier.sdk.api.administration.models.hierarchy_property_dto.HierarchyPropertyDTO( + display_name = '', + hierarchy_property_id = '', ) + ] + ) + else: + return SecurableDimensionDTO( + ) + """ + + def testSecurableDimensionDTO(self): + """Test SecurableDimensionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_securable_property_dto.py b/src/visier.sdk.api.administration/test/test_securable_property_dto.py new file mode 100644 index 000000000..b334d675b --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_securable_property_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.securable_property_dto import SecurablePropertyDTO + +class TestSecurablePropertyDTO(unittest.TestCase): + """SecurablePropertyDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SecurablePropertyDTO: + """Test SecurablePropertyDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SecurablePropertyDTO` + """ + model = SecurablePropertyDTO() + if include_optional: + return SecurablePropertyDTO( + analytic_object_id = '', + display_name = '', + is_primary_key = True, + property_id = '', + reference_symbol_name = '' + ) + else: + return SecurablePropertyDTO( + ) + """ + + def testSecurablePropertyDTO(self): + """Test SecurablePropertyDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_security_assignment_response_dto.py b/src/visier.sdk.api.administration/test/test_security_assignment_response_dto.py new file mode 100644 index 000000000..de07965df --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_security_assignment_response_dto.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.security_assignment_response_dto import SecurityAssignmentResponseDTO + +class TestSecurityAssignmentResponseDTO(unittest.TestCase): + """SecurityAssignmentResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SecurityAssignmentResponseDTO: + """Test SecurityAssignmentResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SecurityAssignmentResponseDTO` + """ + model = SecurityAssignmentResponseDTO() + if include_optional: + return SecurityAssignmentResponseDTO( + tenants = [ + visier.sdk.api.administration.models.tenant_assignments_dto.TenantAssignmentsDTO( + assignments = [ + visier.sdk.api.administration.models.user_security_assignments_dto.UserSecurityAssignmentsDTO( + id = '', + name = '', + users = [ + visier.sdk.api.administration.models.simple_user_dto.SimpleUserDTO( + user_id = '', + username = '', ) + ], ) + ], + message = '', + project_id = '', + status = 'Unknown', + tenant_code = '', ) + ] + ) + else: + return SecurityAssignmentResponseDTO( + ) + """ + + def testSecurityAssignmentResponseDTO(self): + """Test SecurityAssignmentResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_shareable_data_access_set.py b/src/visier.sdk.api.administration/test/test_shareable_data_access_set.py new file mode 100644 index 000000000..bcec5f844 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_shareable_data_access_set.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.shareable_data_access_set import ShareableDataAccessSet + +class TestShareableDataAccessSet(unittest.TestCase): + """ShareableDataAccessSet unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ShareableDataAccessSet: + """Test ShareableDataAccessSet + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ShareableDataAccessSet` + """ + model = ShareableDataAccessSet() + if include_optional: + return ShareableDataAccessSet( + data_access_set_id = '' + ) + else: + return ShareableDataAccessSet( + ) + """ + + def testShareableDataAccessSet(self): + """Test ShareableDataAccessSet""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_simple_user_dto.py b/src/visier.sdk.api.administration/test/test_simple_user_dto.py new file mode 100644 index 000000000..cd70d5bbd --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_simple_user_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.simple_user_dto import SimpleUserDTO + +class TestSimpleUserDTO(unittest.TestCase): + """SimpleUserDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimpleUserDTO: + """Test SimpleUserDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimpleUserDTO` + """ + model = SimpleUserDTO() + if include_optional: + return SimpleUserDTO( + user_id = '', + username = '' + ) + else: + return SimpleUserDTO( + ) + """ + + def testSimpleUserDTO(self): + """Test SimpleUserDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_static_dimension_filter_dto.py b/src/visier.sdk.api.administration/test/test_static_dimension_filter_dto.py new file mode 100644 index 000000000..bc5f6cd75 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_static_dimension_filter_dto.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.static_dimension_filter_dto import StaticDimensionFilterDTO + +class TestStaticDimensionFilterDTO(unittest.TestCase): + """StaticDimensionFilterDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> StaticDimensionFilterDTO: + """Test StaticDimensionFilterDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `StaticDimensionFilterDTO` + """ + model = StaticDimensionFilterDTO() + if include_optional: + return StaticDimensionFilterDTO( + dimension_id = '', + dimension_status = 'Unset', + member_selections = [ + visier.sdk.api.administration.models.member_selection_dto.MemberSelectionDTO( + dimension_member_status = 'Unset', + excluded = True, + name_path = [ + '' + ], ) + ], + subject_reference_path = [ + '' + ] + ) + else: + return StaticDimensionFilterDTO( + ) + """ + + def testStaticDimensionFilterDTO(self): + """Test StaticDimensionFilterDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_status.py b/src/visier.sdk.api.administration/test/test_status.py new file mode 100644 index 000000000..a37ef593f --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_status.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.status import Status + +class TestStatus(unittest.TestCase): + """Status unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Status: + """Test Status + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Status` + """ + model = Status() + if include_optional: + return Status( + error_code = '', + message = '', + rci = '' + ) + else: + return Status( + ) + """ + + def testStatus(self): + """Test Status""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_successful_accessible_tenant_profile_assignment_dto.py b/src/visier.sdk.api.administration/test/test_successful_accessible_tenant_profile_assignment_dto.py new file mode 100644 index 000000000..36a37e6dc --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_successful_accessible_tenant_profile_assignment_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.successful_accessible_tenant_profile_assignment_dto import SuccessfulAccessibleTenantProfileAssignmentDTO + +class TestSuccessfulAccessibleTenantProfileAssignmentDTO(unittest.TestCase): + """SuccessfulAccessibleTenantProfileAssignmentDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SuccessfulAccessibleTenantProfileAssignmentDTO: + """Test SuccessfulAccessibleTenantProfileAssignmentDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SuccessfulAccessibleTenantProfileAssignmentDTO` + """ + model = SuccessfulAccessibleTenantProfileAssignmentDTO() + if include_optional: + return SuccessfulAccessibleTenantProfileAssignmentDTO( + for_all_children = True, + tenant_code = '', + user_id = '' + ) + else: + return SuccessfulAccessibleTenantProfileAssignmentDTO( + ) + """ + + def testSuccessfulAccessibleTenantProfileAssignmentDTO(self): + """Test SuccessfulAccessibleTenantProfileAssignmentDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_successful_local_tenant_profile_assignment_dto.py b/src/visier.sdk.api.administration/test/test_successful_local_tenant_profile_assignment_dto.py new file mode 100644 index 000000000..9dda43885 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_successful_local_tenant_profile_assignment_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.successful_local_tenant_profile_assignment_dto import SuccessfulLocalTenantProfileAssignmentDTO + +class TestSuccessfulLocalTenantProfileAssignmentDTO(unittest.TestCase): + """SuccessfulLocalTenantProfileAssignmentDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SuccessfulLocalTenantProfileAssignmentDTO: + """Test SuccessfulLocalTenantProfileAssignmentDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SuccessfulLocalTenantProfileAssignmentDTO` + """ + model = SuccessfulLocalTenantProfileAssignmentDTO() + if include_optional: + return SuccessfulLocalTenantProfileAssignmentDTO( + user_id = '' + ) + else: + return SuccessfulLocalTenantProfileAssignmentDTO( + ) + """ + + def testSuccessfulLocalTenantProfileAssignmentDTO(self): + """Test SuccessfulLocalTenantProfileAssignmentDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_system_status_api.py b/src/visier.sdk.api.administration/test/test_system_status_api.py new file mode 100644 index 000000000..8ffc5d3a8 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_system_status_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.api.system_status_api import SystemStatusApi + + +class TestSystemStatusApi(unittest.TestCase): + """SystemStatusApi unit test stubs""" + + def setUp(self) -> None: + self.api = SystemStatusApi() + + def tearDown(self) -> None: + pass + + def test_post_system_status(self) -> None: + """Test case for post_system_status + + Check the overall current status of Visier's systems + """ + pass + + def test_system_status(self) -> None: + """Test case for system_status + + Check the overall current status of Visier's systems + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_system_status_dto.py b/src/visier.sdk.api.administration/test/test_system_status_dto.py new file mode 100644 index 000000000..cfe6b6df0 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_system_status_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.system_status_dto import SystemStatusDTO + +class TestSystemStatusDTO(unittest.TestCase): + """SystemStatusDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SystemStatusDTO: + """Test SystemStatusDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SystemStatusDTO` + """ + model = SystemStatusDTO() + if include_optional: + return SystemStatusDTO( + overall = '' + ) + else: + return SystemStatusDTO( + ) + """ + + def testSystemStatusDTO(self): + """Test SystemStatusDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_target_project_for_tenant_dto.py b/src/visier.sdk.api.administration/test/test_target_project_for_tenant_dto.py new file mode 100644 index 000000000..72d8989b2 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_target_project_for_tenant_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.target_project_for_tenant_dto import TargetProjectForTenantDTO + +class TestTargetProjectForTenantDTO(unittest.TestCase): + """TargetProjectForTenantDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TargetProjectForTenantDTO: + """Test TargetProjectForTenantDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TargetProjectForTenantDTO` + """ + model = TargetProjectForTenantDTO() + if include_optional: + return TargetProjectForTenantDTO( + project_id = '', + tenant_code = '' + ) + else: + return TargetProjectForTenantDTO( + ) + """ + + def testTargetProjectForTenantDTO(self): + """Test TargetProjectForTenantDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_target_project_for_tenants_list_dto.py b/src/visier.sdk.api.administration/test/test_target_project_for_tenants_list_dto.py new file mode 100644 index 000000000..13ea7c710 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_target_project_for_tenants_list_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.target_project_for_tenants_list_dto import TargetProjectForTenantsListDTO + +class TestTargetProjectForTenantsListDTO(unittest.TestCase): + """TargetProjectForTenantsListDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TargetProjectForTenantsListDTO: + """Test TargetProjectForTenantsListDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TargetProjectForTenantsListDTO` + """ + model = TargetProjectForTenantsListDTO() + if include_optional: + return TargetProjectForTenantsListDTO( + target_project_for_tenants = [ + visier.sdk.api.administration.models.target_project_for_tenant_dto.TargetProjectForTenantDTO( + project_id = '', + tenant_code = '', ) + ] + ) + else: + return TargetProjectForTenantsListDTO( + ) + """ + + def testTargetProjectForTenantsListDTO(self): + """Test TargetProjectForTenantsListDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_target_tenant_code_dto.py b/src/visier.sdk.api.administration/test/test_target_tenant_code_dto.py new file mode 100644 index 000000000..86c443647 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_target_tenant_code_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.target_tenant_code_dto import TargetTenantCodeDTO + +class TestTargetTenantCodeDTO(unittest.TestCase): + """TargetTenantCodeDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TargetTenantCodeDTO: + """Test TargetTenantCodeDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TargetTenantCodeDTO` + """ + model = TargetTenantCodeDTO() + if include_optional: + return TargetTenantCodeDTO( + for_all_children = True, + tenant_code = '' + ) + else: + return TargetTenantCodeDTO( + ) + """ + + def testTargetTenantCodeDTO(self): + """Test TargetTenantCodeDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenant_assignments_dto.py b/src/visier.sdk.api.administration/test/test_tenant_assignments_dto.py new file mode 100644 index 000000000..c906b75e1 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenant_assignments_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.tenant_assignments_dto import TenantAssignmentsDTO + +class TestTenantAssignmentsDTO(unittest.TestCase): + """TenantAssignmentsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantAssignmentsDTO: + """Test TenantAssignmentsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantAssignmentsDTO` + """ + model = TenantAssignmentsDTO() + if include_optional: + return TenantAssignmentsDTO( + assignments = [ + visier.sdk.api.administration.models.user_security_assignments_dto.UserSecurityAssignmentsDTO( + id = '', + name = '', + users = [ + visier.sdk.api.administration.models.simple_user_dto.SimpleUserDTO( + user_id = '', + username = '', ) + ], ) + ], + message = '', + project_id = '', + status = 'Unknown', + tenant_code = '' + ) + else: + return TenantAssignmentsDTO( + ) + """ + + def testTenantAssignmentsDTO(self): + """Test TenantAssignmentsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenant_code_body.py b/src/visier.sdk.api.administration/test/test_tenant_code_body.py new file mode 100644 index 000000000..a2e008539 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenant_code_body.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.tenant_code_body import TenantCodeBody + +class TestTenantCodeBody(unittest.TestCase): + """TenantCodeBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantCodeBody: + """Test TenantCodeBody + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantCodeBody` + """ + model = TenantCodeBody() + if include_optional: + return TenantCodeBody( + tenant_codes = [ + '' + ] + ) + else: + return TenantCodeBody( + ) + """ + + def testTenantCodeBody(self): + """Test TenantCodeBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenant_code_error_dto.py b/src/visier.sdk.api.administration/test/test_tenant_code_error_dto.py new file mode 100644 index 000000000..40eec0d97 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenant_code_error_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.tenant_code_error_dto import TenantCodeErrorDTO + +class TestTenantCodeErrorDTO(unittest.TestCase): + """TenantCodeErrorDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantCodeErrorDTO: + """Test TenantCodeErrorDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantCodeErrorDTO` + """ + model = TenantCodeErrorDTO() + if include_optional: + return TenantCodeErrorDTO( + error = visier.sdk.api.administration.models.error_dto.ErrorDTO( + error_code = '', + error_message = '', + root_cause_id = '', ), + for_all_children = True, + tenant_code = '' + ) + else: + return TenantCodeErrorDTO( + ) + """ + + def testTenantCodeErrorDTO(self): + """Test TenantCodeErrorDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenant_detail_apidto.py b/src/visier.sdk.api.administration/test/test_tenant_detail_apidto.py new file mode 100644 index 000000000..155b74750 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenant_detail_apidto.py @@ -0,0 +1,76 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.tenant_detail_apidto import TenantDetailAPIDTO + +class TestTenantDetailAPIDTO(unittest.TestCase): + """TenantDetailAPIDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantDetailAPIDTO: + """Test TenantDetailAPIDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantDetailAPIDTO` + """ + model = TenantDetailAPIDTO() + if include_optional: + return TenantDetailAPIDTO( + can_administer_other_tenants = True, + current_data_version = '', + custom_properties = [ + visier.sdk.api.administration.models.custom_tenant_property_dto.CustomTenantPropertyDTO( + key = '', + value = '', ) + ], + data_version_date = '', + embeddable_domains = [ + '' + ], + industry_code = 56, + modules = [ + visier.sdk.api.administration.models.tenant_module_dto.TenantModuleDTO( + display_name = '', + module_settings = null, + symbol_name = '', ) + ], + provision_date = '', + sso_instance_issuers = [ + '' + ], + status = '', + tenant_code = '', + tenant_display_name = '', + vanity_url_name = '' + ) + else: + return TenantDetailAPIDTO( + ) + """ + + def testTenantDetailAPIDTO(self): + """Test TenantDetailAPIDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenant_management_api_get_response_dto.py b/src/visier.sdk.api.administration/test/test_tenant_management_api_get_response_dto.py new file mode 100644 index 000000000..820ecdbd0 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenant_management_api_get_response_dto.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.tenant_management_api_get_response_dto import TenantManagementAPIGetResponseDTO + +class TestTenantManagementAPIGetResponseDTO(unittest.TestCase): + """TenantManagementAPIGetResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantManagementAPIGetResponseDTO: + """Test TenantManagementAPIGetResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantManagementAPIGetResponseDTO` + """ + model = TenantManagementAPIGetResponseDTO() + if include_optional: + return TenantManagementAPIGetResponseDTO( + can_administer_other_tenants = True, + click_through_link = '', + click_through_link_enabled = '', + current_data_version = '', + custom_properties = [ + visier.sdk.api.administration.models.custom_property_dto.CustomPropertyDTO( + key = '', + value = '', ) + ], + data_version_date = '', + default_currency = '', + embeddable_domains = [ + '' + ], + home_analysis_by_user_group = [ + visier.sdk.api.administration.models.home_analysis_by_user_group_dto.HomeAnalysisByUserGroupDTO( + home_analysis_id = '', + user_group_id = '', ) + ], + home_analysis_id = '', + industry_code = 56, + primary_business_location = visier.sdk.api.administration.models.business_location_dto.BusinessLocationDTO( + country_code = '', + postal_code = '', ), + provision_date = '', + purchased_modules = [ + '' + ], + sso_instance_issuers = [ + '' + ], + status = '', + tenant_code = '', + tenant_display_name = '', + vanity_url_name = '' + ) + else: + return TenantManagementAPIGetResponseDTO( + ) + """ + + def testTenantManagementAPIGetResponseDTO(self): + """Test TenantManagementAPIGetResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenant_management_api_list_response_dto.py b/src/visier.sdk.api.administration/test/test_tenant_management_api_list_response_dto.py new file mode 100644 index 000000000..989b1eceb --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenant_management_api_list_response_dto.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.tenant_management_api_list_response_dto import TenantManagementAPIListResponseDTO + +class TestTenantManagementAPIListResponseDTO(unittest.TestCase): + """TenantManagementAPIListResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantManagementAPIListResponseDTO: + """Test TenantManagementAPIListResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantManagementAPIListResponseDTO` + """ + model = TenantManagementAPIListResponseDTO() + if include_optional: + return TenantManagementAPIListResponseDTO( + limit = 56, + start = 56, + tenants = [ + visier.sdk.api.administration.models.tenant_management_api_get_response_dto.TenantManagementAPIGetResponseDTO( + can_administer_other_tenants = True, + click_through_link = '', + click_through_link_enabled = '', + current_data_version = '', + custom_properties = [ + visier.sdk.api.administration.models.custom_property_dto.CustomPropertyDTO( + key = '', + value = '', ) + ], + data_version_date = '', + default_currency = '', + embeddable_domains = [ + '' + ], + home_analysis_by_user_group = [ + visier.sdk.api.administration.models.home_analysis_by_user_group_dto.HomeAnalysisByUserGroupDTO( + home_analysis_id = '', + user_group_id = '', ) + ], + home_analysis_id = '', + industry_code = 56, + primary_business_location = null, + provision_date = '', + purchased_modules = [ + '' + ], + sso_instance_issuers = [ + '' + ], + status = '', + tenant_code = '', + tenant_display_name = '', + vanity_url_name = '', ) + ] + ) + else: + return TenantManagementAPIListResponseDTO( + ) + """ + + def testTenantManagementAPIListResponseDTO(self): + """Test TenantManagementAPIListResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenant_management_api_update_request_dto.py b/src/visier.sdk.api.administration/test/test_tenant_management_api_update_request_dto.py new file mode 100644 index 000000000..f81db046f --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenant_management_api_update_request_dto.py @@ -0,0 +1,82 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.tenant_management_api_update_request_dto import TenantManagementAPIUpdateRequestDTO + +class TestTenantManagementAPIUpdateRequestDTO(unittest.TestCase): + """TenantManagementAPIUpdateRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantManagementAPIUpdateRequestDTO: + """Test TenantManagementAPIUpdateRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantManagementAPIUpdateRequestDTO` + """ + model = TenantManagementAPIUpdateRequestDTO() + if include_optional: + return TenantManagementAPIUpdateRequestDTO( + click_through_link = '', + custom_properties = [ + visier.sdk.api.administration.models.custom_property_dto.CustomPropertyDTO( + key = '', + value = '', ) + ], + default_currency = '', + embeddable_domains = [ + '' + ], + enabled = True, + home_analysis_by_user_group = [ + visier.sdk.api.administration.models.home_analysis_by_user_group_dto.HomeAnalysisByUserGroupDTO( + home_analysis_id = '', + user_group_id = '', ) + ], + home_analysis_id = '', + industry_code = 56, + primary_business_location = visier.sdk.api.administration.models.business_location_dto.BusinessLocationDTO( + country_code = '', + postal_code = '', ), + purchased_modules = [ + '' + ], + sso_instance_issuers = [ + '' + ], + tenant_code = '', + tenant_display_name = '', + tenant_short_name = '', + update_action = 'MERGE', + vanity_url_name = '' + ) + else: + return TenantManagementAPIUpdateRequestDTO( + ) + """ + + def testTenantManagementAPIUpdateRequestDTO(self): + """Test TenantManagementAPIUpdateRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenant_management_api_update_response_dto.py b/src/visier.sdk.api.administration/test/test_tenant_management_api_update_response_dto.py new file mode 100644 index 000000000..12a169197 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenant_management_api_update_response_dto.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.tenant_management_api_update_response_dto import TenantManagementAPIUpdateResponseDTO + +class TestTenantManagementAPIUpdateResponseDTO(unittest.TestCase): + """TenantManagementAPIUpdateResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantManagementAPIUpdateResponseDTO: + """Test TenantManagementAPIUpdateResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantManagementAPIUpdateResponseDTO` + """ + model = TenantManagementAPIUpdateResponseDTO() + if include_optional: + return TenantManagementAPIUpdateResponseDTO( + click_through_link = '', + custom_properties = [ + visier.sdk.api.administration.models.custom_property_dto.CustomPropertyDTO( + key = '', + value = '', ) + ], + default_currency = '', + embeddable_domains = [ + '' + ], + home_analysis_by_user_group = [ + visier.sdk.api.administration.models.home_analysis_by_user_group_dto.HomeAnalysisByUserGroupDTO( + home_analysis_id = '', + user_group_id = '', ) + ], + home_analysis_id = '', + industry_code = 56, + primary_business_location = visier.sdk.api.administration.models.business_location_dto.BusinessLocationDTO( + country_code = '', + postal_code = '', ), + purchased_modules = [ + '' + ], + sso_instance_issuers = [ + '' + ], + status = '', + tenant_code = '', + tenant_display_name = '', + vanity_url_name = '' + ) + else: + return TenantManagementAPIUpdateResponseDTO( + ) + """ + + def testTenantManagementAPIUpdateResponseDTO(self): + """Test TenantManagementAPIUpdateResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenant_module_dto.py b/src/visier.sdk.api.administration/test/test_tenant_module_dto.py new file mode 100644 index 000000000..eec9c4b04 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenant_module_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.tenant_module_dto import TenantModuleDTO + +class TestTenantModuleDTO(unittest.TestCase): + """TenantModuleDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantModuleDTO: + """Test TenantModuleDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantModuleDTO` + """ + model = TenantModuleDTO() + if include_optional: + return TenantModuleDTO( + display_name = '', + module_settings = visier.sdk.api.administration.models.module_settings_dto.ModuleSettingsDTO( + locale = '', + special_handling_instruction = '', + unavailable_for_assignment = True, ), + symbol_name = '' + ) + else: + return TenantModuleDTO( + ) + """ + + def testTenantModuleDTO(self): + """Test TenantModuleDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenant_preview_entries_summary_dto.py b/src/visier.sdk.api.administration/test/test_tenant_preview_entries_summary_dto.py new file mode 100644 index 000000000..4fb0a0a82 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenant_preview_entries_summary_dto.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.tenant_preview_entries_summary_dto import TenantPreviewEntriesSummaryDTO + +class TestTenantPreviewEntriesSummaryDTO(unittest.TestCase): + """TenantPreviewEntriesSummaryDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantPreviewEntriesSummaryDTO: + """Test TenantPreviewEntriesSummaryDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantPreviewEntriesSummaryDTO` + """ + model = TenantPreviewEntriesSummaryDTO() + if include_optional: + return TenantPreviewEntriesSummaryDTO( + data_version = '', + data_version_date = '', + metrics = [ + visier.sdk.api.administration.models.metric_validation_summary_dto.MetricValidationSummaryDTO( + display_name = '', + symbol_name = '', + value = 1.337, ) + ], + tenant_code = '' + ) + else: + return TenantPreviewEntriesSummaryDTO( + ) + """ + + def testTenantPreviewEntriesSummaryDTO(self): + """Test TenantPreviewEntriesSummaryDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenant_preview_entries_summary_list_dto.py b/src/visier.sdk.api.administration/test/test_tenant_preview_entries_summary_list_dto.py new file mode 100644 index 000000000..5c86e87d0 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenant_preview_entries_summary_list_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.tenant_preview_entries_summary_list_dto import TenantPreviewEntriesSummaryListDTO + +class TestTenantPreviewEntriesSummaryListDTO(unittest.TestCase): + """TenantPreviewEntriesSummaryListDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantPreviewEntriesSummaryListDTO: + """Test TenantPreviewEntriesSummaryListDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantPreviewEntriesSummaryListDTO` + """ + model = TenantPreviewEntriesSummaryListDTO() + if include_optional: + return TenantPreviewEntriesSummaryListDTO( + limit = 56, + start = 56, + tenants = [ + visier.sdk.api.administration.models.tenant_preview_entries_summary_dto.TenantPreviewEntriesSummaryDTO( + data_version = '', + data_version_date = '', + metrics = [ + visier.sdk.api.administration.models.metric_validation_summary_dto.MetricValidationSummaryDTO( + display_name = '', + symbol_name = '', + value = 1.337, ) + ], + tenant_code = '', ) + ] + ) + else: + return TenantPreviewEntriesSummaryListDTO( + ) + """ + + def testTenantPreviewEntriesSummaryListDTO(self): + """Test TenantPreviewEntriesSummaryListDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenant_provision_apidto.py b/src/visier.sdk.api.administration/test/test_tenant_provision_apidto.py new file mode 100644 index 000000000..99dd15982 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenant_provision_apidto.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.tenant_provision_apidto import TenantProvisionAPIDTO + +class TestTenantProvisionAPIDTO(unittest.TestCase): + """TenantProvisionAPIDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantProvisionAPIDTO: + """Test TenantProvisionAPIDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantProvisionAPIDTO` + """ + model = TenantProvisionAPIDTO() + if include_optional: + return TenantProvisionAPIDTO( + custom_properties = [ + visier.sdk.api.administration.models.custom_tenant_property_dto.CustomTenantPropertyDTO( + key = '', + value = '', ) + ], + embeddable_domains = [ + '' + ], + industry_code = 56, + purchased_modules = [ + '' + ], + sso_instance_issuers = [ + '' + ], + tenant_code = '', + tenant_display_name = '' + ) + else: + return TenantProvisionAPIDTO( + ) + """ + + def testTenantProvisionAPIDTO(self): + """Test TenantProvisionAPIDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenant_status_apidto.py b/src/visier.sdk.api.administration/test/test_tenant_status_apidto.py new file mode 100644 index 000000000..662544c25 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenant_status_apidto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.tenant_status_apidto import TenantStatusAPIDTO + +class TestTenantStatusAPIDTO(unittest.TestCase): + """TenantStatusAPIDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantStatusAPIDTO: + """Test TenantStatusAPIDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantStatusAPIDTO` + """ + model = TenantStatusAPIDTO() + if include_optional: + return TenantStatusAPIDTO( + can_administer_other_tenants = True, + status = '', + tenant_code = '', + tenant_display_name = '' + ) + else: + return TenantStatusAPIDTO( + ) + """ + + def testTenantStatusAPIDTO(self): + """Test TenantStatusAPIDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenants_v1_api.py b/src/visier.sdk.api.administration/test/test_tenants_v1_api.py new file mode 100644 index 000000000..1c2b26aae --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenants_v1_api.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.api.tenants_v1_api import TenantsV1Api + + +class TestTenantsV1Api(unittest.TestCase): + """TenantsV1Api unit test stubs""" + + def setUp(self) -> None: + self.api = TenantsV1Api() + + def tearDown(self) -> None: + pass + + def test_add_tenant(self) -> None: + """Test case for add_tenant + + Add an analytic tenant + """ + pass + + def test_delete_tenant(self) -> None: + """Test case for delete_tenant + + Deprovision an analytic tenant + """ + pass + + def test_disable_tenant(self) -> None: + """Test case for disable_tenant + + Disable an analytic tenant + """ + pass + + def test_enable_tenant(self) -> None: + """Test case for enable_tenant + + Enable an analytic tenant + """ + pass + + def test_get_tenant(self) -> None: + """Test case for get_tenant + + Retrieve an analytic tenant's details + """ + pass + + def test_get_tenants(self) -> None: + """Test case for get_tenants + + Retrieve a list of all analytic tenants + """ + pass + + def test_update_tenant(self) -> None: + """Test case for update_tenant + + Update an analytic tenant + """ + pass + + def test_validate_tenant(self) -> None: + """Test case for validate_tenant + + Validate an analytic tenant's metric values + """ + pass + + def test_validate_tenants(self) -> None: + """Test case for validate_tenants + + Validate metric values for all analytic tenants + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_tenants_v2_api.py b/src/visier.sdk.api.administration/test/test_tenants_v2_api.py new file mode 100644 index 000000000..683496533 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_tenants_v2_api.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.api.tenants_v2_api import TenantsV2Api + + +class TestTenantsV2Api(unittest.TestCase): + """TenantsV2Api unit test stubs""" + + def setUp(self) -> None: + self.api = TenantsV2Api() + + def tearDown(self) -> None: + pass + + def test_create_tenant(self) -> None: + """Test case for create_tenant + + Add an analytic tenant + """ + pass + + def test_delete_tenant(self) -> None: + """Test case for delete_tenant + + Deprovision an analytic tenant + """ + pass + + def test_list_tenants(self) -> None: + """Test case for list_tenants + + Retrieve a list of all analytic tenants + """ + pass + + def test_tenant_info(self) -> None: + """Test case for tenant_info + + Retrieve an analytic tenant's details + """ + pass + + def test_update_tenant(self) -> None: + """Test case for update_tenant + + Update an analytic tenant + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_update_tenant_model.py b/src/visier.sdk.api.administration/test/test_update_tenant_model.py new file mode 100644 index 000000000..b976733f6 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_update_tenant_model.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.update_tenant_model import UpdateTenantModel + +class TestUpdateTenantModel(unittest.TestCase): + """UpdateTenantModel unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateTenantModel: + """Test UpdateTenantModel + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateTenantModel` + """ + model = UpdateTenantModel() + if include_optional: + return UpdateTenantModel( + custom_properties = { + 'key' : '' + }, + embeddable_domains = [ + '' + ], + industry_code = 56, + purchased_modules = [ + '' + ], + sso_instance_issuers = [ + '' + ], + tenant_display_name = '' + ) + else: + return UpdateTenantModel( + ) + """ + + def testUpdateTenantModel(self): + """Test UpdateTenantModel""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_creation_api_request_dto.py b/src/visier.sdk.api.administration/test/test_user_creation_api_request_dto.py new file mode 100644 index 000000000..fb8fc2ad6 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_creation_api_request_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_creation_api_request_dto import UserCreationAPIRequestDTO + +class TestUserCreationAPIRequestDTO(unittest.TestCase): + """UserCreationAPIRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserCreationAPIRequestDTO: + """Test UserCreationAPIRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserCreationAPIRequestDTO` + """ + model = UserCreationAPIRequestDTO() + if include_optional: + return UserCreationAPIRequestDTO( + account_enabled = '', + display_name = '', + email = '', + employee_id = '', + username = '' + ) + else: + return UserCreationAPIRequestDTO( + ) + """ + + def testUserCreationAPIRequestDTO(self): + """Test UserCreationAPIRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_creation_api_response_dto.py b/src/visier.sdk.api.administration/test/test_user_creation_api_response_dto.py new file mode 100644 index 000000000..7370ea84c --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_creation_api_response_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_creation_api_response_dto import UserCreationAPIResponseDTO + +class TestUserCreationAPIResponseDTO(unittest.TestCase): + """UserCreationAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserCreationAPIResponseDTO: + """Test UserCreationAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserCreationAPIResponseDTO` + """ + model = UserCreationAPIResponseDTO() + if include_optional: + return UserCreationAPIResponseDTO( + account_enabled = '', + display_name = '', + email = '', + employee_id = '', + user_id = '', + username = '' + ) + else: + return UserCreationAPIResponseDTO( + ) + """ + + def testUserCreationAPIResponseDTO(self): + """Test UserCreationAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_get_api_response_dto.py b/src/visier.sdk.api.administration/test/test_user_get_api_response_dto.py new file mode 100644 index 000000000..ac50d3999 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_get_api_response_dto.py @@ -0,0 +1,86 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_get_api_response_dto import UserGetAPIResponseDTO + +class TestUserGetAPIResponseDTO(unittest.TestCase): + """UserGetAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGetAPIResponseDTO: + """Test UserGetAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGetAPIResponseDTO` + """ + model = UserGetAPIResponseDTO() + if include_optional: + return UserGetAPIResponseDTO( + account_enabled = True, + display_name = '', + email = '', + employee_id = '', + last_login = visier.sdk.api.administration.models.last_login_dto.LastLoginDTO( + timestamp = '', ), + permissions = visier.sdk.api.administration.models.all_permissions_assigned_for_local_tenant_dto.AllPermissionsAssignedForLocalTenantDTO( + assigned_permissions = [ + visier.sdk.api.administration.models.permission_assigned_for_local_tenant_dto.PermissionAssignedForLocalTenantDTO( + description = '', + display_name = '', + permission_id = '', ) + ], ), + profiles = visier.sdk.api.administration.models.all_profile_assigned_for_local_tenant_dto.AllProfileAssignedForLocalTenantDTO( + assigned_profiles = [ + visier.sdk.api.administration.models.profile_assigned_for_local_tenant_dto.ProfileAssignedForLocalTenantDTO( + additional_capabilities = null, + capabilities = [ + visier.sdk.api.administration.models.capabilities_dto.CapabilitiesDTO( + access_level = '', + capability = '', + view_level = '', ) + ], + display_name = '', + profile_id = '', + validity_end_time = '', + validity_start_time = '', ) + ], ), + user_groups = visier.sdk.api.administration.models.all_user_groups_assigned_for_local_tenant_dto.AllUserGroupsAssignedForLocalTenantDTO( + assigned_user_groups = [ + visier.sdk.api.administration.models.user_group_assigned_for_local_tenant_dto.UserGroupAssignedForLocalTenantDTO( + display_name = '', + user_group_id = '', ) + ], ), + user_id = '', + username = '' + ) + else: + return UserGetAPIResponseDTO( + ) + """ + + def testUserGetAPIResponseDTO(self): + """Test UserGetAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_assigned_for_local_tenant_dto.py b/src/visier.sdk.api.administration/test/test_user_group_assigned_for_local_tenant_dto.py new file mode 100644 index 000000000..dc4a5ad39 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_assigned_for_local_tenant_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_assigned_for_local_tenant_dto import UserGroupAssignedForLocalTenantDTO + +class TestUserGroupAssignedForLocalTenantDTO(unittest.TestCase): + """UserGroupAssignedForLocalTenantDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupAssignedForLocalTenantDTO: + """Test UserGroupAssignedForLocalTenantDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupAssignedForLocalTenantDTO` + """ + model = UserGroupAssignedForLocalTenantDTO() + if include_optional: + return UserGroupAssignedForLocalTenantDTO( + display_name = '', + user_group_id = '' + ) + else: + return UserGroupAssignedForLocalTenantDTO( + ) + """ + + def testUserGroupAssignedForLocalTenantDTO(self): + """Test UserGroupAssignedForLocalTenantDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_change_definition_dto.py b/src/visier.sdk.api.administration/test/test_user_group_change_definition_dto.py new file mode 100644 index 000000000..3360cb05f --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_change_definition_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_change_definition_dto import UserGroupChangeDefinitionDTO + +class TestUserGroupChangeDefinitionDTO(unittest.TestCase): + """UserGroupChangeDefinitionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupChangeDefinitionDTO: + """Test UserGroupChangeDefinitionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupChangeDefinitionDTO` + """ + model = UserGroupChangeDefinitionDTO() + if include_optional: + return UserGroupChangeDefinitionDTO( + description = '', + display_name = '', + permission_ids = visier.sdk.api.administration.models.element_ids_dto.ElementIDsDTO( + ids = [ + '' + ], ), + project_id = '', + tenant_code = '', + user_group_id = '', + users = visier.sdk.api.administration.models.user_group_change_users_dto.UserGroupChangeUsersDTO( + dynamic_filter_definition = null, + include_all_users = True, + manually_excluded_ids = null, + manually_included_ids = null, ) + ) + else: + return UserGroupChangeDefinitionDTO( + ) + """ + + def testUserGroupChangeDefinitionDTO(self): + """Test UserGroupChangeDefinitionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_change_dimension_filter_dto.py b/src/visier.sdk.api.administration/test/test_user_group_change_dimension_filter_dto.py new file mode 100644 index 000000000..8c143d197 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_change_dimension_filter_dto.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_change_dimension_filter_dto import UserGroupChangeDimensionFilterDTO + +class TestUserGroupChangeDimensionFilterDTO(unittest.TestCase): + """UserGroupChangeDimensionFilterDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupChangeDimensionFilterDTO: + """Test UserGroupChangeDimensionFilterDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupChangeDimensionFilterDTO` + """ + model = UserGroupChangeDimensionFilterDTO() + if include_optional: + return UserGroupChangeDimensionFilterDTO( + dimension_id = '', + member_selections = [ + visier.sdk.api.administration.models.user_group_change_member_selection_dto.UserGroupChangeMemberSelectionDTO( + is_excluded = True, + name_path = [ + '' + ], ) + ], + subject_reference_path = visier.sdk.api.administration.models.element_ids_dto.ElementIDsDTO( + ids = [ + '' + ], ) + ) + else: + return UserGroupChangeDimensionFilterDTO( + ) + """ + + def testUserGroupChangeDimensionFilterDTO(self): + """Test UserGroupChangeDimensionFilterDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_change_failure_dto.py b/src/visier.sdk.api.administration/test/test_user_group_change_failure_dto.py new file mode 100644 index 000000000..d207aa89a --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_change_failure_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_change_failure_dto import UserGroupChangeFailureDTO + +class TestUserGroupChangeFailureDTO(unittest.TestCase): + """UserGroupChangeFailureDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupChangeFailureDTO: + """Test UserGroupChangeFailureDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupChangeFailureDTO` + """ + model = UserGroupChangeFailureDTO() + if include_optional: + return UserGroupChangeFailureDTO( + display_name = '', + message = '', + project_id = '', + rci = '', + tenant_code = '' + ) + else: + return UserGroupChangeFailureDTO( + ) + """ + + def testUserGroupChangeFailureDTO(self): + """Test UserGroupChangeFailureDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_change_filter_dto.py b/src/visier.sdk.api.administration/test/test_user_group_change_filter_dto.py new file mode 100644 index 000000000..ef0b3194f --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_change_filter_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_change_filter_dto import UserGroupChangeFilterDTO + +class TestUserGroupChangeFilterDTO(unittest.TestCase): + """UserGroupChangeFilterDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupChangeFilterDTO: + """Test UserGroupChangeFilterDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupChangeFilterDTO` + """ + model = UserGroupChangeFilterDTO() + if include_optional: + return UserGroupChangeFilterDTO( + analytic_object_id = '', + dimension_filters = [ + visier.sdk.api.administration.models.user_group_change_dimension_filter_dto.UserGroupChangeDimensionFilterDTO( + dimension_id = '', + member_selections = [ + visier.sdk.api.administration.models.user_group_change_member_selection_dto.UserGroupChangeMemberSelectionDTO( + is_excluded = True, + name_path = [ + '' + ], ) + ], + subject_reference_path = null, ) + ], + filter_id = '' + ) + else: + return UserGroupChangeFilterDTO( + ) + """ + + def testUserGroupChangeFilterDTO(self): + """Test UserGroupChangeFilterDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_change_member_selection_dto.py b/src/visier.sdk.api.administration/test/test_user_group_change_member_selection_dto.py new file mode 100644 index 000000000..ef5b3ed7c --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_change_member_selection_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_change_member_selection_dto import UserGroupChangeMemberSelectionDTO + +class TestUserGroupChangeMemberSelectionDTO(unittest.TestCase): + """UserGroupChangeMemberSelectionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupChangeMemberSelectionDTO: + """Test UserGroupChangeMemberSelectionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupChangeMemberSelectionDTO` + """ + model = UserGroupChangeMemberSelectionDTO() + if include_optional: + return UserGroupChangeMemberSelectionDTO( + is_excluded = True, + name_path = [ + '' + ] + ) + else: + return UserGroupChangeMemberSelectionDTO( + ) + """ + + def testUserGroupChangeMemberSelectionDTO(self): + """Test UserGroupChangeMemberSelectionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_change_response_dto.py b/src/visier.sdk.api.administration/test/test_user_group_change_response_dto.py new file mode 100644 index 000000000..f26f610e1 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_change_response_dto.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_change_response_dto import UserGroupChangeResponseDTO + +class TestUserGroupChangeResponseDTO(unittest.TestCase): + """UserGroupChangeResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupChangeResponseDTO: + """Test UserGroupChangeResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupChangeResponseDTO` + """ + model = UserGroupChangeResponseDTO() + if include_optional: + return UserGroupChangeResponseDTO( + failures = [ + visier.sdk.api.administration.models.user_group_change_failure_dto.UserGroupChangeFailureDTO( + display_name = '', + message = '', + project_id = '', + rci = '', + tenant_code = '', ) + ], + successes = [ + visier.sdk.api.administration.models.user_group_change_success_dto.UserGroupChangeSuccessDTO( + display_name = '', + project_id = '', + tenant_code = '', + user_group_id = '', ) + ] + ) + else: + return UserGroupChangeResponseDTO( + ) + """ + + def testUserGroupChangeResponseDTO(self): + """Test UserGroupChangeResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_change_success_dto.py b/src/visier.sdk.api.administration/test/test_user_group_change_success_dto.py new file mode 100644 index 000000000..1d1b40406 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_change_success_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_change_success_dto import UserGroupChangeSuccessDTO + +class TestUserGroupChangeSuccessDTO(unittest.TestCase): + """UserGroupChangeSuccessDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupChangeSuccessDTO: + """Test UserGroupChangeSuccessDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupChangeSuccessDTO` + """ + model = UserGroupChangeSuccessDTO() + if include_optional: + return UserGroupChangeSuccessDTO( + display_name = '', + project_id = '', + tenant_code = '', + user_group_id = '' + ) + else: + return UserGroupChangeSuccessDTO( + ) + """ + + def testUserGroupChangeSuccessDTO(self): + """Test UserGroupChangeSuccessDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_change_users_dto.py b/src/visier.sdk.api.administration/test/test_user_group_change_users_dto.py new file mode 100644 index 000000000..ccbd68182 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_change_users_dto.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_change_users_dto import UserGroupChangeUsersDTO + +class TestUserGroupChangeUsersDTO(unittest.TestCase): + """UserGroupChangeUsersDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupChangeUsersDTO: + """Test UserGroupChangeUsersDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupChangeUsersDTO` + """ + model = UserGroupChangeUsersDTO() + if include_optional: + return UserGroupChangeUsersDTO( + dynamic_filter_definition = visier.sdk.api.administration.models.user_group_filters_dto.UserGroupFiltersDTO( + filters = [ + visier.sdk.api.administration.models.user_group_change_filter_dto.UserGroupChangeFilterDTO( + analytic_object_id = '', + dimension_filters = [ + visier.sdk.api.administration.models.user_group_change_dimension_filter_dto.UserGroupChangeDimensionFilterDTO( + dimension_id = '', + member_selections = [ + visier.sdk.api.administration.models.user_group_change_member_selection_dto.UserGroupChangeMemberSelectionDTO( + is_excluded = True, + name_path = [ + '' + ], ) + ], + subject_reference_path = null, ) + ], + filter_id = '', ) + ], ), + include_all_users = True, + manually_excluded_ids = visier.sdk.api.administration.models.element_ids_dto.ElementIDsDTO( + ids = [ + '' + ], ), + manually_included_ids = visier.sdk.api.administration.models.element_ids_dto.ElementIDsDTO( + ids = [ + '' + ], ) + ) + else: + return UserGroupChangeUsersDTO( + ) + """ + + def testUserGroupChangeUsersDTO(self): + """Test UserGroupChangeUsersDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_delete_dto.py b/src/visier.sdk.api.administration/test/test_user_group_delete_dto.py new file mode 100644 index 000000000..c29fa199e --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_delete_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_delete_dto import UserGroupDeleteDTO + +class TestUserGroupDeleteDTO(unittest.TestCase): + """UserGroupDeleteDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupDeleteDTO: + """Test UserGroupDeleteDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupDeleteDTO` + """ + model = UserGroupDeleteDTO() + if include_optional: + return UserGroupDeleteDTO( + project_id = '', + tenant_code = '', + user_group_id = '' + ) + else: + return UserGroupDeleteDTO( + ) + """ + + def testUserGroupDeleteDTO(self): + """Test UserGroupDeleteDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_delete_failure_dto.py b/src/visier.sdk.api.administration/test/test_user_group_delete_failure_dto.py new file mode 100644 index 000000000..b3e796315 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_delete_failure_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_delete_failure_dto import UserGroupDeleteFailureDTO + +class TestUserGroupDeleteFailureDTO(unittest.TestCase): + """UserGroupDeleteFailureDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupDeleteFailureDTO: + """Test UserGroupDeleteFailureDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupDeleteFailureDTO` + """ + model = UserGroupDeleteFailureDTO() + if include_optional: + return UserGroupDeleteFailureDTO( + message = '', + project_id = '', + rci = '', + tenant_code = '', + user_group_id = '' + ) + else: + return UserGroupDeleteFailureDTO( + ) + """ + + def testUserGroupDeleteFailureDTO(self): + """Test UserGroupDeleteFailureDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_delete_response_dto.py b/src/visier.sdk.api.administration/test/test_user_group_delete_response_dto.py new file mode 100644 index 000000000..58c2a308b --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_delete_response_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_delete_response_dto import UserGroupDeleteResponseDTO + +class TestUserGroupDeleteResponseDTO(unittest.TestCase): + """UserGroupDeleteResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupDeleteResponseDTO: + """Test UserGroupDeleteResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupDeleteResponseDTO` + """ + model = UserGroupDeleteResponseDTO() + if include_optional: + return UserGroupDeleteResponseDTO( + failures = [ + visier.sdk.api.administration.models.user_group_delete_failure_dto.UserGroupDeleteFailureDTO( + message = '', + project_id = '', + rci = '', + tenant_code = '', + user_group_id = '', ) + ], + successes = [ + visier.sdk.api.administration.models.user_group_delete_success_dto.UserGroupDeleteSuccessDTO( + project_id = '', + tenant_code = '', + user_group_id = '', ) + ] + ) + else: + return UserGroupDeleteResponseDTO( + ) + """ + + def testUserGroupDeleteResponseDTO(self): + """Test UserGroupDeleteResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_delete_success_dto.py b/src/visier.sdk.api.administration/test/test_user_group_delete_success_dto.py new file mode 100644 index 000000000..34c06d815 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_delete_success_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_delete_success_dto import UserGroupDeleteSuccessDTO + +class TestUserGroupDeleteSuccessDTO(unittest.TestCase): + """UserGroupDeleteSuccessDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupDeleteSuccessDTO: + """Test UserGroupDeleteSuccessDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupDeleteSuccessDTO` + """ + model = UserGroupDeleteSuccessDTO() + if include_optional: + return UserGroupDeleteSuccessDTO( + project_id = '', + tenant_code = '', + user_group_id = '' + ) + else: + return UserGroupDeleteSuccessDTO( + ) + """ + + def testUserGroupDeleteSuccessDTO(self): + """Test UserGroupDeleteSuccessDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_filters_dto.py b/src/visier.sdk.api.administration/test/test_user_group_filters_dto.py new file mode 100644 index 000000000..0c207adc1 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_filters_dto.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_filters_dto import UserGroupFiltersDTO + +class TestUserGroupFiltersDTO(unittest.TestCase): + """UserGroupFiltersDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupFiltersDTO: + """Test UserGroupFiltersDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupFiltersDTO` + """ + model = UserGroupFiltersDTO() + if include_optional: + return UserGroupFiltersDTO( + filters = [ + visier.sdk.api.administration.models.user_group_change_filter_dto.UserGroupChangeFilterDTO( + analytic_object_id = '', + dimension_filters = [ + visier.sdk.api.administration.models.user_group_change_dimension_filter_dto.UserGroupChangeDimensionFilterDTO( + dimension_id = '', + member_selections = [ + visier.sdk.api.administration.models.user_group_change_member_selection_dto.UserGroupChangeMemberSelectionDTO( + is_excluded = True, + name_path = [ + '' + ], ) + ], + subject_reference_path = null, ) + ], + filter_id = '', ) + ] + ) + else: + return UserGroupFiltersDTO( + ) + """ + + def testUserGroupFiltersDTO(self): + """Test UserGroupFiltersDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_get_api_response_dto.py b/src/visier.sdk.api.administration/test/test_user_group_get_api_response_dto.py new file mode 100644 index 000000000..e07ec4c05 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_get_api_response_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_get_api_response_dto import UserGroupGetAPIResponseDTO + +class TestUserGroupGetAPIResponseDTO(unittest.TestCase): + """UserGroupGetAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupGetAPIResponseDTO: + """Test UserGroupGetAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupGetAPIResponseDTO` + """ + model = UserGroupGetAPIResponseDTO() + if include_optional: + return UserGroupGetAPIResponseDTO( + display_name = '', + permissions = [ + visier.sdk.api.administration.models.permission_response_dto.PermissionResponseDTO( + display_name = '', + permission_id = '', ) + ], + user_group_id = '' + ) + else: + return UserGroupGetAPIResponseDTO( + ) + """ + + def testUserGroupGetAPIResponseDTO(self): + """Test UserGroupGetAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_group_single_delete_response_dto.py b/src/visier.sdk.api.administration/test/test_user_group_single_delete_response_dto.py new file mode 100644 index 000000000..d365fc770 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_group_single_delete_response_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_group_single_delete_response_dto import UserGroupSingleDeleteResponseDTO + +class TestUserGroupSingleDeleteResponseDTO(unittest.TestCase): + """UserGroupSingleDeleteResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupSingleDeleteResponseDTO: + """Test UserGroupSingleDeleteResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupSingleDeleteResponseDTO` + """ + model = UserGroupSingleDeleteResponseDTO() + if include_optional: + return UserGroupSingleDeleteResponseDTO( + failure = visier.sdk.api.administration.models.user_group_delete_failure_dto.UserGroupDeleteFailureDTO( + message = '', + project_id = '', + rci = '', + tenant_code = '', + user_group_id = '', ), + success = visier.sdk.api.administration.models.user_group_delete_success_dto.UserGroupDeleteSuccessDTO( + project_id = '', + tenant_code = '', + user_group_id = '', ) + ) + else: + return UserGroupSingleDeleteResponseDTO( + ) + """ + + def testUserGroupSingleDeleteResponseDTO(self): + """Test UserGroupSingleDeleteResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_groups_change_dto.py b/src/visier.sdk.api.administration/test/test_user_groups_change_dto.py new file mode 100644 index 000000000..08e1f7eae --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_groups_change_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_groups_change_dto import UserGroupsChangeDTO + +class TestUserGroupsChangeDTO(unittest.TestCase): + """UserGroupsChangeDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupsChangeDTO: + """Test UserGroupsChangeDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupsChangeDTO` + """ + model = UserGroupsChangeDTO() + if include_optional: + return UserGroupsChangeDTO( + user_groups = [ + visier.sdk.api.administration.models.user_group_change_definition_dto.UserGroupChangeDefinitionDTO( + description = '', + display_name = '', + permission_ids = null, + project_id = '', + tenant_code = '', + user_group_id = '', + users = null, ) + ] + ) + else: + return UserGroupsChangeDTO( + ) + """ + + def testUserGroupsChangeDTO(self): + """Test UserGroupsChangeDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_groups_delete_request_dto.py b/src/visier.sdk.api.administration/test/test_user_groups_delete_request_dto.py new file mode 100644 index 000000000..7cc771a62 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_groups_delete_request_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_groups_delete_request_dto import UserGroupsDeleteRequestDTO + +class TestUserGroupsDeleteRequestDTO(unittest.TestCase): + """UserGroupsDeleteRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupsDeleteRequestDTO: + """Test UserGroupsDeleteRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupsDeleteRequestDTO` + """ + model = UserGroupsDeleteRequestDTO() + if include_optional: + return UserGroupsDeleteRequestDTO( + user_groups = [ + visier.sdk.api.administration.models.user_group_delete_dto.UserGroupDeleteDTO( + project_id = '', + tenant_code = '', + user_group_id = '', ) + ] + ) + else: + return UserGroupsDeleteRequestDTO( + ) + """ + + def testUserGroupsDeleteRequestDTO(self): + """Test UserGroupsDeleteRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_groups_get_api_response_dto.py b/src/visier.sdk.api.administration/test/test_user_groups_get_api_response_dto.py new file mode 100644 index 000000000..bb4e2b2c2 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_groups_get_api_response_dto.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_groups_get_api_response_dto import UserGroupsGetAPIResponseDTO + +class TestUserGroupsGetAPIResponseDTO(unittest.TestCase): + """UserGroupsGetAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupsGetAPIResponseDTO: + """Test UserGroupsGetAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupsGetAPIResponseDTO` + """ + model = UserGroupsGetAPIResponseDTO() + if include_optional: + return UserGroupsGetAPIResponseDTO( + limit = 56, + start = 56, + user_groups = [ + visier.sdk.api.administration.models.user_group_get_api_response_dto.UserGroupGetAPIResponseDTO( + display_name = '', + permissions = [ + visier.sdk.api.administration.models.permission_response_dto.PermissionResponseDTO( + display_name = '', + permission_id = '', ) + ], + user_group_id = '', ) + ] + ) + else: + return UserGroupsGetAPIResponseDTO( + ) + """ + + def testUserGroupsGetAPIResponseDTO(self): + """Test UserGroupsGetAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_groups_users_dto.py b/src/visier.sdk.api.administration/test/test_user_groups_users_dto.py new file mode 100644 index 000000000..5be3f6c34 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_groups_users_dto.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_groups_users_dto import UserGroupsUsersDTO + +class TestUserGroupsUsersDTO(unittest.TestCase): + """UserGroupsUsersDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupsUsersDTO: + """Test UserGroupsUsersDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupsUsersDTO` + """ + model = UserGroupsUsersDTO() + if include_optional: + return UserGroupsUsersDTO( + limit = 56, + start = 56, + tenants = [ + visier.sdk.api.administration.models.user_groups_users_for_tenant_dto.UserGroupsUsersForTenantDTO( + tenant_code = '', + users = [ + visier.sdk.api.administration.models.simple_user_dto.SimpleUserDTO( + user_id = '', + username = '', ) + ], ) + ] + ) + else: + return UserGroupsUsersDTO( + ) + """ + + def testUserGroupsUsersDTO(self): + """Test UserGroupsUsersDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_groups_users_for_tenant_dto.py b/src/visier.sdk.api.administration/test/test_user_groups_users_for_tenant_dto.py new file mode 100644 index 000000000..33897d253 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_groups_users_for_tenant_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_groups_users_for_tenant_dto import UserGroupsUsersForTenantDTO + +class TestUserGroupsUsersForTenantDTO(unittest.TestCase): + """UserGroupsUsersForTenantDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserGroupsUsersForTenantDTO: + """Test UserGroupsUsersForTenantDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserGroupsUsersForTenantDTO` + """ + model = UserGroupsUsersForTenantDTO() + if include_optional: + return UserGroupsUsersForTenantDTO( + tenant_code = '', + users = [ + visier.sdk.api.administration.models.simple_user_dto.SimpleUserDTO( + user_id = '', + username = '', ) + ] + ) + else: + return UserGroupsUsersForTenantDTO( + ) + """ + + def testUserGroupsUsersForTenantDTO(self): + """Test UserGroupsUsersForTenantDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_groups_v2_api.py b/src/visier.sdk.api.administration/test/test_user_groups_v2_api.py new file mode 100644 index 000000000..9cc0a62e6 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_groups_v2_api.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.api.user_groups_v2_api import UserGroupsV2Api + + +class TestUserGroupsV2Api(unittest.TestCase): + """UserGroupsV2Api unit test stubs""" + + def setUp(self) -> None: + self.api = UserGroupsV2Api() + + def tearDown(self) -> None: + pass + + def test_create_user_groups(self) -> None: + """Test case for create_user_groups + + Create multiple user groups + """ + pass + + def test_delete_user_group(self) -> None: + """Test case for delete_user_group + + Delete a user group + """ + pass + + def test_delete_user_groups(self) -> None: + """Test case for delete_user_groups + + Delete multiple user groups + """ + pass + + def test_get_user_group(self) -> None: + """Test case for get_user_group + + Retrieve the details of a user group + """ + pass + + def test_get_user_groups(self) -> None: + """Test case for get_user_groups + + Retrieve a list of user groups + """ + pass + + def test_patch_user_groups(self) -> None: + """Test case for patch_user_groups + + Patch multiple user groups + """ + pass + + def test_put_user_groups(self) -> None: + """Test case for put_user_groups + + Update multiple user groups + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_id_error_dto.py b/src/visier.sdk.api.administration/test/test_user_id_error_dto.py new file mode 100644 index 000000000..9250b4fc4 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_id_error_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_id_error_dto import UserIdErrorDTO + +class TestUserIdErrorDTO(unittest.TestCase): + """UserIdErrorDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserIdErrorDTO: + """Test UserIdErrorDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserIdErrorDTO` + """ + model = UserIdErrorDTO() + if include_optional: + return UserIdErrorDTO( + error = visier.sdk.api.administration.models.error_dto.ErrorDTO( + error_code = '', + error_message = '', + root_cause_id = '', ), + user_id = '' + ) + else: + return UserIdErrorDTO( + ) + """ + + def testUserIdErrorDTO(self): + """Test UserIdErrorDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_property_dto.py b/src/visier.sdk.api.administration/test/test_user_property_dto.py new file mode 100644 index 000000000..bd063f816 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_property_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_property_dto import UserPropertyDTO + +class TestUserPropertyDTO(unittest.TestCase): + """UserPropertyDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserPropertyDTO: + """Test UserPropertyDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserPropertyDTO` + """ + model = UserPropertyDTO() + if include_optional: + return UserPropertyDTO( + name = '' + ) + else: + return UserPropertyDTO( + ) + """ + + def testUserPropertyDTO(self): + """Test UserPropertyDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_security_assignments_dto.py b/src/visier.sdk.api.administration/test/test_user_security_assignments_dto.py new file mode 100644 index 000000000..c0b7453e1 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_security_assignments_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_security_assignments_dto import UserSecurityAssignmentsDTO + +class TestUserSecurityAssignmentsDTO(unittest.TestCase): + """UserSecurityAssignmentsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserSecurityAssignmentsDTO: + """Test UserSecurityAssignmentsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserSecurityAssignmentsDTO` + """ + model = UserSecurityAssignmentsDTO() + if include_optional: + return UserSecurityAssignmentsDTO( + id = '', + name = '', + users = [ + visier.sdk.api.administration.models.simple_user_dto.SimpleUserDTO( + user_id = '', + username = '', ) + ] + ) + else: + return UserSecurityAssignmentsDTO( + ) + """ + + def testUserSecurityAssignmentsDTO(self): + """Test UserSecurityAssignmentsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_user_update_api_request_dto.py b/src/visier.sdk.api.administration/test/test_user_update_api_request_dto.py new file mode 100644 index 000000000..e9e70b5af --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_user_update_api_request_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.user_update_api_request_dto import UserUpdateAPIRequestDTO + +class TestUserUpdateAPIRequestDTO(unittest.TestCase): + """UserUpdateAPIRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserUpdateAPIRequestDTO: + """Test UserUpdateAPIRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserUpdateAPIRequestDTO` + """ + model = UserUpdateAPIRequestDTO() + if include_optional: + return UserUpdateAPIRequestDTO( + account_enabled = '', + display_name = '', + email = '', + employee_id = '' + ) + else: + return UserUpdateAPIRequestDTO( + ) + """ + + def testUserUpdateAPIRequestDTO(self): + """Test UserUpdateAPIRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_users_api_error_message_dto.py b/src/visier.sdk.api.administration/test/test_users_api_error_message_dto.py new file mode 100644 index 000000000..17238d7aa --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_users_api_error_message_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.users_api_error_message_dto import UsersAPIErrorMessageDTO + +class TestUsersAPIErrorMessageDTO(unittest.TestCase): + """UsersAPIErrorMessageDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UsersAPIErrorMessageDTO: + """Test UsersAPIErrorMessageDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UsersAPIErrorMessageDTO` + """ + model = UsersAPIErrorMessageDTO() + if include_optional: + return UsersAPIErrorMessageDTO( + message = '', + rci = '' + ) + else: + return UsersAPIErrorMessageDTO( + ) + """ + + def testUsersAPIErrorMessageDTO(self): + """Test UsersAPIErrorMessageDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_users_api_failure_dto.py b/src/visier.sdk.api.administration/test/test_users_api_failure_dto.py new file mode 100644 index 000000000..b0b8d87a4 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_users_api_failure_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.users_api_failure_dto import UsersAPIFailureDTO + +class TestUsersAPIFailureDTO(unittest.TestCase): + """UsersAPIFailureDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UsersAPIFailureDTO: + """Test UsersAPIFailureDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UsersAPIFailureDTO` + """ + model = UsersAPIFailureDTO() + if include_optional: + return UsersAPIFailureDTO( + display_name = '', + error = visier.sdk.api.administration.models.users_api_error_message_dto.UsersAPIErrorMessageDTO( + message = '', + rci = '', ), + user_id = '', + user_name = '' + ) + else: + return UsersAPIFailureDTO( + ) + """ + + def testUsersAPIFailureDTO(self): + """Test UsersAPIFailureDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_users_api_response_dto.py b/src/visier.sdk.api.administration/test/test_users_api_response_dto.py new file mode 100644 index 000000000..ed50dc1ca --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_users_api_response_dto.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.users_api_response_dto import UsersAPIResponseDTO + +class TestUsersAPIResponseDTO(unittest.TestCase): + """UsersAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UsersAPIResponseDTO: + """Test UsersAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UsersAPIResponseDTO` + """ + model = UsersAPIResponseDTO() + if include_optional: + return UsersAPIResponseDTO( + failures = [ + visier.sdk.api.administration.models.users_api_failure_dto.UsersAPIFailureDTO( + display_name = '', + error = null, + user_id = '', + user_name = '', ) + ], + successes = [ + visier.sdk.api.administration.models.users_api_success_dto.UsersAPISuccessDTO( + account_enabled = '', + display_name = '', + email = '', + employee_id = '', + user_id = '', + username = '', ) + ] + ) + else: + return UsersAPIResponseDTO( + ) + """ + + def testUsersAPIResponseDTO(self): + """Test UsersAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_users_api_success_dto.py b/src/visier.sdk.api.administration/test/test_users_api_success_dto.py new file mode 100644 index 000000000..322dc16b5 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_users_api_success_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.users_api_success_dto import UsersAPISuccessDTO + +class TestUsersAPISuccessDTO(unittest.TestCase): + """UsersAPISuccessDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UsersAPISuccessDTO: + """Test UsersAPISuccessDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UsersAPISuccessDTO` + """ + model = UsersAPISuccessDTO() + if include_optional: + return UsersAPISuccessDTO( + account_enabled = '', + display_name = '', + email = '', + employee_id = '', + user_id = '', + username = '' + ) + else: + return UsersAPISuccessDTO( + ) + """ + + def testUsersAPISuccessDTO(self): + """Test UsersAPISuccessDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_users_creation_api_request_dto.py b/src/visier.sdk.api.administration/test/test_users_creation_api_request_dto.py new file mode 100644 index 000000000..f7eb5ba23 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_users_creation_api_request_dto.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.users_creation_api_request_dto import UsersCreationAPIRequestDTO + +class TestUsersCreationAPIRequestDTO(unittest.TestCase): + """UsersCreationAPIRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UsersCreationAPIRequestDTO: + """Test UsersCreationAPIRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UsersCreationAPIRequestDTO` + """ + model = UsersCreationAPIRequestDTO() + if include_optional: + return UsersCreationAPIRequestDTO( + users = [ + visier.sdk.api.administration.models.user_creation_api_request_dto.UserCreationAPIRequestDTO( + account_enabled = '', + display_name = '', + email = '', + employee_id = '', + username = '', ) + ] + ) + else: + return UsersCreationAPIRequestDTO( + ) + """ + + def testUsersCreationAPIRequestDTO(self): + """Test UsersCreationAPIRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_users_delete_api_request_dto.py b/src/visier.sdk.api.administration/test/test_users_delete_api_request_dto.py new file mode 100644 index 000000000..0ddf62b64 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_users_delete_api_request_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.users_delete_api_request_dto import UsersDeleteAPIRequestDTO + +class TestUsersDeleteAPIRequestDTO(unittest.TestCase): + """UsersDeleteAPIRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UsersDeleteAPIRequestDTO: + """Test UsersDeleteAPIRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UsersDeleteAPIRequestDTO` + """ + model = UsersDeleteAPIRequestDTO() + if include_optional: + return UsersDeleteAPIRequestDTO( + user_ids = [ + '' + ] + ) + else: + return UsersDeleteAPIRequestDTO( + ) + """ + + def testUsersDeleteAPIRequestDTO(self): + """Test UsersDeleteAPIRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_users_to_user_group_request_dto.py b/src/visier.sdk.api.administration/test/test_users_to_user_group_request_dto.py new file mode 100644 index 000000000..a7a95100c --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_users_to_user_group_request_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.users_to_user_group_request_dto import UsersToUserGroupRequestDTO + +class TestUsersToUserGroupRequestDTO(unittest.TestCase): + """UsersToUserGroupRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UsersToUserGroupRequestDTO: + """Test UsersToUserGroupRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UsersToUserGroupRequestDTO` + """ + model = UsersToUserGroupRequestDTO() + if include_optional: + return UsersToUserGroupRequestDTO( + user_group_id = '', + user_ids = [ + '' + ] + ) + else: + return UsersToUserGroupRequestDTO( + ) + """ + + def testUsersToUserGroupRequestDTO(self): + """Test UsersToUserGroupRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_users_to_user_groups_request_dto.py b/src/visier.sdk.api.administration/test/test_users_to_user_groups_request_dto.py new file mode 100644 index 000000000..4d81d1b5b --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_users_to_user_groups_request_dto.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.users_to_user_groups_request_dto import UsersToUserGroupsRequestDTO + +class TestUsersToUserGroupsRequestDTO(unittest.TestCase): + """UsersToUserGroupsRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UsersToUserGroupsRequestDTO: + """Test UsersToUserGroupsRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UsersToUserGroupsRequestDTO` + """ + model = UsersToUserGroupsRequestDTO() + if include_optional: + return UsersToUserGroupsRequestDTO( + target_project_for_tenants_list = visier.sdk.api.administration.models.target_project_for_tenants_list_dto.TargetProjectForTenantsListDTO( + target_project_for_tenants = [ + visier.sdk.api.administration.models.target_project_for_tenant_dto.TargetProjectForTenantDTO( + project_id = '', + tenant_code = '', ) + ], ), + user_groups = [ + visier.sdk.api.administration.models.users_to_user_group_request_dto.UsersToUserGroupRequestDTO( + user_group_id = '', + user_ids = [ + '' + ], ) + ] + ) + else: + return UsersToUserGroupsRequestDTO( + ) + """ + + def testUsersToUserGroupsRequestDTO(self): + """Test UsersToUserGroupsRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_users_update_api_request_dto.py b/src/visier.sdk.api.administration/test/test_users_update_api_request_dto.py new file mode 100644 index 000000000..2f5821b9f --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_users_update_api_request_dto.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.users_update_api_request_dto import UsersUpdateAPIRequestDTO + +class TestUsersUpdateAPIRequestDTO(unittest.TestCase): + """UsersUpdateAPIRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UsersUpdateAPIRequestDTO: + """Test UsersUpdateAPIRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UsersUpdateAPIRequestDTO` + """ + model = UsersUpdateAPIRequestDTO() + if include_optional: + return UsersUpdateAPIRequestDTO( + users = [ + visier.sdk.api.administration.models.users_update_api_user_dto.UsersUpdateAPIUserDTO( + account_enabled = '', + display_name = '', + email = '', + employee_id = '', + user_id = '', ) + ] + ) + else: + return UsersUpdateAPIRequestDTO( + ) + """ + + def testUsersUpdateAPIRequestDTO(self): + """Test UsersUpdateAPIRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_users_update_api_user_dto.py b/src/visier.sdk.api.administration/test/test_users_update_api_user_dto.py new file mode 100644 index 000000000..7e950ae36 --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_users_update_api_user_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.models.users_update_api_user_dto import UsersUpdateAPIUserDTO + +class TestUsersUpdateAPIUserDTO(unittest.TestCase): + """UsersUpdateAPIUserDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UsersUpdateAPIUserDTO: + """Test UsersUpdateAPIUserDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UsersUpdateAPIUserDTO` + """ + model = UsersUpdateAPIUserDTO() + if include_optional: + return UsersUpdateAPIUserDTO( + account_enabled = '', + display_name = '', + email = '', + employee_id = '', + user_id = '' + ) + else: + return UsersUpdateAPIUserDTO( + ) + """ + + def testUsersUpdateAPIUserDTO(self): + """Test UsersUpdateAPIUserDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_users_v1_api.py b/src/visier.sdk.api.administration/test/test_users_v1_api.py new file mode 100644 index 000000000..b0bc9f4ff --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_users_v1_api.py @@ -0,0 +1,164 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.api.users_v1_api import UsersV1Api + + +class TestUsersV1Api(unittest.TestCase): + """UsersV1Api unit test stubs""" + + def setUp(self) -> None: + self.api = UsersV1Api() + + def tearDown(self) -> None: + pass + + def test_add_user(self) -> None: + """Test case for add_user + + Add a user + """ + pass + + def test_add_users_to_user_group(self) -> None: + """Test case for add_users_to_user_group + + Assign users to user groups + """ + pass + + def test_assign_permissions(self) -> None: + """Test case for assign_permissions + + Assign permissions to users + """ + pass + + def test_assign_permissions_to_user_groups(self) -> None: + """Test case for assign_permissions_to_user_groups + + Assign permissions to user groups + """ + pass + + def test_delete_user(self) -> None: + """Test case for delete_user + + Delete a user + """ + pass + + def test_get_all_permissions_xlsx(self) -> None: + """Test case for get_all_permissions_xlsx + + Retrieve a list of all permissions in XLSX format + """ + pass + + def test_get_all_user_groups(self) -> None: + """Test case for get_all_user_groups + + Retrieve a list of all user groups + """ + pass + + def test_get_all_users(self) -> None: + """Test case for get_all_users + + Retrieve a list of all users + """ + pass + + def test_get_application_logs_xlsx(self) -> None: + """Test case for get_application_logs_xlsx + + Retrieve the Application Logs + """ + pass + + def test_get_data_security_report_xlsx(self) -> None: + """Test case for get_data_security_report_xlsx + + Retrieve the Data Security Report + """ + pass + + def test_get_permission_assigned_users(self) -> None: + """Test case for get_permission_assigned_users + + Retrieve users that are assigned a specific permission + """ + pass + + def test_get_profile_assignments_xlsx(self) -> None: + """Test case for get_profile_assignments_xlsx + + Retrieve user profile assignments in XLSX format + """ + pass + + def test_get_user_detail(self) -> None: + """Test case for get_user_detail + + Retrieve a user's details + """ + pass + + def test_get_user_group_users(self) -> None: + """Test case for get_user_group_users + + Retrieve a list of user group users + """ + pass + + def test_get_user_permissions_xlsx(self) -> None: + """Test case for get_user_permissions_xlsx + + Retrieve user permissions in XLSX format + """ + pass + + def test_remove_permissions(self) -> None: + """Test case for remove_permissions + + Remove permissions from users + """ + pass + + def test_remove_users_from_user_group(self) -> None: + """Test case for remove_users_from_user_group + + Remove users from user groups + """ + pass + + def test_revoke_permissions_from_user_groups(self) -> None: + """Test case for revoke_permissions_from_user_groups + + Remove permissions from user groups + """ + pass + + def test_update_user(self) -> None: + """Test case for update_user + + Update a user + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/test/test_users_v2_api.py b/src/visier.sdk.api.administration/test/test_users_v2_api.py new file mode 100644 index 000000000..da0cdba2f --- /dev/null +++ b/src/visier.sdk.api.administration/test/test_users_v2_api.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.administration.api.users_v2_api import UsersV2Api + + +class TestUsersV2Api(unittest.TestCase): + """UsersV2Api unit test stubs""" + + def setUp(self) -> None: + self.api = UsersV2Api() + + def tearDown(self) -> None: + pass + + def test_add_users(self) -> None: + """Test case for add_users + + Add users + """ + pass + + def test_delete_users(self) -> None: + """Test case for delete_users + + Delete users + """ + pass + + def test_update_users(self) -> None: + """Test case for update_users + + Update users + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.administration/tox.ini b/src/visier.sdk.api.administration/tox.ini new file mode 100644 index 000000000..5923d9f9f --- /dev/null +++ b/src/visier.sdk.api.administration/tox.ini @@ -0,0 +1,9 @@ +[tox] +envlist = py38, py39, py310, py311, py312 + +[testenv] +deps=-r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt + +commands= + pytest --cov=visier.sdk.api.administration diff --git a/src/visier.sdk.api.administration/visier/__init__.py b/src/visier.sdk.api.administration/visier/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.administration/visier/sdk/__init__.py b/src/visier.sdk.api.administration/visier/sdk/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.administration/visier/sdk/api/__init__.py b/src/visier.sdk.api.administration/visier/sdk/api/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/__init__.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/__init__.py new file mode 100644 index 000000000..c873ec450 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/__init__.py @@ -0,0 +1,213 @@ +# coding: utf-8 + +# flake8: noqa + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +__version__ = "0.0.1" + +# import apis into sdk package +from visier.sdk.api.administration.api.consolidated_analytics_api import ConsolidatedAnalyticsApi +from visier.sdk.api.administration.api.permissions_api import PermissionsApi +from visier.sdk.api.administration.api.production_versions_api import ProductionVersionsApi +from visier.sdk.api.administration.api.profiles_api import ProfilesApi +from visier.sdk.api.administration.api.projects_api import ProjectsApi +from visier.sdk.api.administration.api.system_status_api import SystemStatusApi +from visier.sdk.api.administration.api.tenants_v1_api import TenantsV1Api +from visier.sdk.api.administration.api.tenants_v2_api import TenantsV2Api +from visier.sdk.api.administration.api.user_groups_v2_api import UserGroupsV2Api +from visier.sdk.api.administration.api.users_v1_api import UsersV1Api +from visier.sdk.api.administration.api.users_v2_api import UsersV2Api + +# import ApiClient +from visier.sdk.api.administration.api_response import ApiResponse +from visier.sdk.api.administration.api_client import ApiClient +from visier.sdk.api.administration.configuration import Configuration +from visier.sdk.api.administration.exceptions import OpenApiException +from visier.sdk.api.administration.exceptions import ApiTypeError +from visier.sdk.api.administration.exceptions import ApiValueError +from visier.sdk.api.administration.exceptions import ApiKeyError +from visier.sdk.api.administration.exceptions import ApiAttributeError +from visier.sdk.api.administration.exceptions import ApiException + +# import models into sdk package +from visier.sdk.api.administration.models.accessible_tenant_profile_assignment_request_dto import AccessibleTenantProfileAssignmentRequestDTO +from visier.sdk.api.administration.models.accessible_tenant_profile_assignment_response_dto import AccessibleTenantProfileAssignmentResponseDTO +from visier.sdk.api.administration.models.accessible_tenant_profile_revoke_request_dto import AccessibleTenantProfileRevokeRequestDTO +from visier.sdk.api.administration.models.accessible_tenant_profile_revoke_response_dto import AccessibleTenantProfileRevokeResponseDTO +from visier.sdk.api.administration.models.additional_capabilities_dto import AdditionalCapabilitiesDTO +from visier.sdk.api.administration.models.admin_capability_config_dto import AdminCapabilityConfigDTO +from visier.sdk.api.administration.models.all_permissions_assigned_for_local_tenant_dto import AllPermissionsAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.all_profile_assigned_for_accessible_tenant_dto import AllProfileAssignedForAccessibleTenantDTO +from visier.sdk.api.administration.models.all_profile_assigned_for_local_tenant_dto import AllProfileAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.all_tenants_status_apidto import AllTenantsStatusAPIDTO +from visier.sdk.api.administration.models.all_user_groups_assigned_for_local_tenant_dto import AllUserGroupsAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.all_users_get_api_response_dto import AllUsersGetAPIResponseDTO +from visier.sdk.api.administration.models.analytic_object_dto import AnalyticObjectDTO +from visier.sdk.api.administration.models.assign_revoke_permission_by_permission_dto import AssignRevokePermissionByPermissionDTO +from visier.sdk.api.administration.models.assign_revoke_permission_by_tenant_dto import AssignRevokePermissionByTenantDTO +from visier.sdk.api.administration.models.assign_revoke_permission_by_user_dto import AssignRevokePermissionByUserDTO +from visier.sdk.api.administration.models.assign_revoke_permission_request_dto import AssignRevokePermissionRequestDTO +from visier.sdk.api.administration.models.assign_revoke_permissions_request_dto import AssignRevokePermissionsRequestDTO +from visier.sdk.api.administration.models.assign_revoke_permissions_response_dto import AssignRevokePermissionsResponseDTO +from visier.sdk.api.administration.models.bulk_data_access_set_response_dto import BulkDataAccessSetResponseDTO +from visier.sdk.api.administration.models.business_location_dto import BusinessLocationDTO +from visier.sdk.api.administration.models.capabilities_dto import CapabilitiesDTO +from visier.sdk.api.administration.models.capability_dto import CapabilityDTO +from visier.sdk.api.administration.models.commit_and_publish_operation_response_dto import CommitAndPublishOperationResponseDTO +from visier.sdk.api.administration.models.commit_dto import CommitDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_excluded_source_list_dto import ConsolidatedAnalyticsAPIExcludedSourceListDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_source_tenant_list_dto import ConsolidatedAnalyticsAPISourceTenantListDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_create_request_dto import ConsolidatedAnalyticsAPITenantCreateRequestDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_list_response_dto import ConsolidatedAnalyticsAPITenantListResponseDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_with_details import ConsolidatedAnalyticsAPITenantWithDetails +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_with_details_list_response_dto import ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO +from visier.sdk.api.administration.models.content_package_dto import ContentPackageDTO +from visier.sdk.api.administration.models.create_data_access_set_request_dto import CreateDataAccessSetRequestDTO +from visier.sdk.api.administration.models.custom_property_dto import CustomPropertyDTO +from visier.sdk.api.administration.models.custom_tenant_property_dto import CustomTenantPropertyDTO +from visier.sdk.api.administration.models.data_access_set_dto import DataAccessSetDTO +from visier.sdk.api.administration.models.data_access_set_error_dto import DataAccessSetErrorDTO +from visier.sdk.api.administration.models.data_access_set_failure_dto import DataAccessSetFailureDTO +from visier.sdk.api.administration.models.data_access_set_success_dto import DataAccessSetSuccessDTO +from visier.sdk.api.administration.models.data_security_profile_dto import DataSecurityProfileDTO +from visier.sdk.api.administration.models.delete_permissions_request_dto import DeletePermissionsRequestDTO +from visier.sdk.api.administration.models.delete_user_group_v2_request import DeleteUserGroupV2Request +from visier.sdk.api.administration.models.dimension_filter_dto import DimensionFilterDTO +from visier.sdk.api.administration.models.dynamic_dimension_filter_dto import DynamicDimensionFilterDTO +from visier.sdk.api.administration.models.dynamic_property_mapping_dto import DynamicPropertyMappingDTO +from visier.sdk.api.administration.models.element_ids_dto import ElementIDsDTO +from visier.sdk.api.administration.models.error_dto import ErrorDTO +from visier.sdk.api.administration.models.excluded_sources_body import ExcludedSourcesBody +from visier.sdk.api.administration.models.export_production_versions_api_operation_parameters_dto import ExportProductionVersionsAPIOperationParametersDTO +from visier.sdk.api.administration.models.failed_accessible_tenant_profile_assignment_dto import FailedAccessibleTenantProfileAssignmentDTO +from visier.sdk.api.administration.models.failed_local_tenant_profile_assignment_dto import FailedLocalTenantProfileAssignmentDTO +from visier.sdk.api.administration.models.failed_local_tenant_profile_revoke_dto import FailedLocalTenantProfileRevokeDTO +from visier.sdk.api.administration.models.get_capabilities_api_response_dto import GetCapabilitiesAPIResponseDTO +from visier.sdk.api.administration.models.get_content_packages_api_response_dto import GetContentPackagesAPIResponseDTO +from visier.sdk.api.administration.models.get_data_access_sets_api_response_dto import GetDataAccessSetsAPIResponseDTO +from visier.sdk.api.administration.models.get_data_security_objects_api_response_dto import GetDataSecurityObjectsAPIResponseDTO +from visier.sdk.api.administration.models.get_permissions_api_response_dto import GetPermissionsAPIResponseDTO +from visier.sdk.api.administration.models.get_production_versions_api_response_dto import GetProductionVersionsAPIResponseDTO +from visier.sdk.api.administration.models.get_project_commits_api_response_dto import GetProjectCommitsAPIResponseDTO +from visier.sdk.api.administration.models.get_projects_api_response_dto import GetProjectsAPIResponseDTO +from visier.sdk.api.administration.models.google_protobuf_any import GoogleProtobufAny +from visier.sdk.api.administration.models.hierarchy_property_dto import HierarchyPropertyDTO +from visier.sdk.api.administration.models.home_analysis_by_user_group_dto import HomeAnalysisByUserGroupDTO +from visier.sdk.api.administration.models.inherited_access_config_dto import InheritedAccessConfigDTO +from visier.sdk.api.administration.models.inherited_reference_member_filter_config_dto import InheritedReferenceMemberFilterConfigDTO +from visier.sdk.api.administration.models.last_login_dto import LastLoginDTO +from visier.sdk.api.administration.models.local_tenant_profile_assignment_request_dto import LocalTenantProfileAssignmentRequestDTO +from visier.sdk.api.administration.models.local_tenant_profile_assignment_response_dto import LocalTenantProfileAssignmentResponseDTO +from visier.sdk.api.administration.models.local_tenant_profile_revoke_request_dto import LocalTenantProfileRevokeRequestDTO +from visier.sdk.api.administration.models.local_tenant_profile_revoke_response_dto import LocalTenantProfileRevokeResponseDTO +from visier.sdk.api.administration.models.mask_message import MaskMessage +from visier.sdk.api.administration.models.member_filter_config_dto import MemberFilterConfigDTO +from visier.sdk.api.administration.models.member_selection_dto import MemberSelectionDTO +from visier.sdk.api.administration.models.metric_validation_summary_dto import MetricValidationSummaryDTO +from visier.sdk.api.administration.models.module_settings_dto import ModuleSettingsDTO +from visier.sdk.api.administration.models.permission_assigned_by_tenant_dto import PermissionAssignedByTenantDTO +from visier.sdk.api.administration.models.permission_assigned_for_local_tenant_dto import PermissionAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.permission_assigned_user_dto import PermissionAssignedUserDTO +from visier.sdk.api.administration.models.permission_assigned_users_dto import PermissionAssignedUsersDTO +from visier.sdk.api.administration.models.permission_bulk_operation_response_dto import PermissionBulkOperationResponseDTO +from visier.sdk.api.administration.models.permission_dto import PermissionDTO +from visier.sdk.api.administration.models.permission_error_dto import PermissionErrorDTO +from visier.sdk.api.administration.models.permission_failure_dto import PermissionFailureDTO +from visier.sdk.api.administration.models.permission_response_dto import PermissionResponseDTO +from visier.sdk.api.administration.models.permission_success_dto import PermissionSuccessDTO +from visier.sdk.api.administration.models.permissions_list_dto import PermissionsListDTO +from visier.sdk.api.administration.models.permissions_to_user_group_for_tenant_dto import PermissionsToUserGroupForTenantDTO +from visier.sdk.api.administration.models.permissions_to_user_group_request_dto import PermissionsToUserGroupRequestDTO +from visier.sdk.api.administration.models.permissions_to_user_groups_request_dto import PermissionsToUserGroupsRequestDTO +from visier.sdk.api.administration.models.production_versions_api_operation_request_dto import ProductionVersionsAPIOperationRequestDTO +from visier.sdk.api.administration.models.production_versions_api_operation_response_dto import ProductionVersionsAPIOperationResponseDTO +from visier.sdk.api.administration.models.profile_assigned_for_accessible_tenant_dto import ProfileAssignedForAccessibleTenantDTO +from visier.sdk.api.administration.models.profile_assigned_for_local_tenant_dto import ProfileAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.profile_get_api_response_dto import ProfileGetAPIResponseDTO +from visier.sdk.api.administration.models.profiles_get_api_response_dto import ProfilesGetAPIResponseDTO +from visier.sdk.api.administration.models.project_dto import ProjectDTO +from visier.sdk.api.administration.models.project_operation_request_dto import ProjectOperationRequestDTO +from visier.sdk.api.administration.models.project_operation_response_dto import ProjectOperationResponseDTO +from visier.sdk.api.administration.models.property_access_config_dto import PropertyAccessConfigDTO +from visier.sdk.api.administration.models.property_set_config_dto import PropertySetConfigDTO +from visier.sdk.api.administration.models.reduced_error_dto import ReducedErrorDTO +from visier.sdk.api.administration.models.reduced_tenant_code_error_dto import ReducedTenantCodeErrorDTO +from visier.sdk.api.administration.models.reduced_user_id_error_dto import ReducedUserIdErrorDTO +from visier.sdk.api.administration.models.related_analytic_object_dto import RelatedAnalyticObjectDTO +from visier.sdk.api.administration.models.role_modules_config_dto import RoleModulesConfigDTO +from visier.sdk.api.administration.models.securable_dimension_dto import SecurableDimensionDTO +from visier.sdk.api.administration.models.securable_property_dto import SecurablePropertyDTO +from visier.sdk.api.administration.models.security_assignment_response_dto import SecurityAssignmentResponseDTO +from visier.sdk.api.administration.models.shareable_data_access_set import ShareableDataAccessSet +from visier.sdk.api.administration.models.simple_user_dto import SimpleUserDTO +from visier.sdk.api.administration.models.static_dimension_filter_dto import StaticDimensionFilterDTO +from visier.sdk.api.administration.models.status import Status +from visier.sdk.api.administration.models.successful_accessible_tenant_profile_assignment_dto import SuccessfulAccessibleTenantProfileAssignmentDTO +from visier.sdk.api.administration.models.successful_local_tenant_profile_assignment_dto import SuccessfulLocalTenantProfileAssignmentDTO +from visier.sdk.api.administration.models.system_status_dto import SystemStatusDTO +from visier.sdk.api.administration.models.target_project_for_tenant_dto import TargetProjectForTenantDTO +from visier.sdk.api.administration.models.target_project_for_tenants_list_dto import TargetProjectForTenantsListDTO +from visier.sdk.api.administration.models.target_tenant_code_dto import TargetTenantCodeDTO +from visier.sdk.api.administration.models.tenant_assignments_dto import TenantAssignmentsDTO +from visier.sdk.api.administration.models.tenant_code_body import TenantCodeBody +from visier.sdk.api.administration.models.tenant_code_error_dto import TenantCodeErrorDTO +from visier.sdk.api.administration.models.tenant_detail_apidto import TenantDetailAPIDTO +from visier.sdk.api.administration.models.tenant_management_api_get_response_dto import TenantManagementAPIGetResponseDTO +from visier.sdk.api.administration.models.tenant_management_api_list_response_dto import TenantManagementAPIListResponseDTO +from visier.sdk.api.administration.models.tenant_management_api_update_request_dto import TenantManagementAPIUpdateRequestDTO +from visier.sdk.api.administration.models.tenant_management_api_update_response_dto import TenantManagementAPIUpdateResponseDTO +from visier.sdk.api.administration.models.tenant_module_dto import TenantModuleDTO +from visier.sdk.api.administration.models.tenant_preview_entries_summary_dto import TenantPreviewEntriesSummaryDTO +from visier.sdk.api.administration.models.tenant_preview_entries_summary_list_dto import TenantPreviewEntriesSummaryListDTO +from visier.sdk.api.administration.models.tenant_provision_apidto import TenantProvisionAPIDTO +from visier.sdk.api.administration.models.tenant_status_apidto import TenantStatusAPIDTO +from visier.sdk.api.administration.models.update_tenant_model import UpdateTenantModel +from visier.sdk.api.administration.models.user_creation_api_request_dto import UserCreationAPIRequestDTO +from visier.sdk.api.administration.models.user_creation_api_response_dto import UserCreationAPIResponseDTO +from visier.sdk.api.administration.models.user_get_api_response_dto import UserGetAPIResponseDTO +from visier.sdk.api.administration.models.user_group_assigned_for_local_tenant_dto import UserGroupAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.user_group_change_definition_dto import UserGroupChangeDefinitionDTO +from visier.sdk.api.administration.models.user_group_change_dimension_filter_dto import UserGroupChangeDimensionFilterDTO +from visier.sdk.api.administration.models.user_group_change_failure_dto import UserGroupChangeFailureDTO +from visier.sdk.api.administration.models.user_group_change_filter_dto import UserGroupChangeFilterDTO +from visier.sdk.api.administration.models.user_group_change_member_selection_dto import UserGroupChangeMemberSelectionDTO +from visier.sdk.api.administration.models.user_group_change_response_dto import UserGroupChangeResponseDTO +from visier.sdk.api.administration.models.user_group_change_success_dto import UserGroupChangeSuccessDTO +from visier.sdk.api.administration.models.user_group_change_users_dto import UserGroupChangeUsersDTO +from visier.sdk.api.administration.models.user_group_delete_dto import UserGroupDeleteDTO +from visier.sdk.api.administration.models.user_group_delete_failure_dto import UserGroupDeleteFailureDTO +from visier.sdk.api.administration.models.user_group_delete_response_dto import UserGroupDeleteResponseDTO +from visier.sdk.api.administration.models.user_group_delete_success_dto import UserGroupDeleteSuccessDTO +from visier.sdk.api.administration.models.user_group_filters_dto import UserGroupFiltersDTO +from visier.sdk.api.administration.models.user_group_get_api_response_dto import UserGroupGetAPIResponseDTO +from visier.sdk.api.administration.models.user_group_single_delete_response_dto import UserGroupSingleDeleteResponseDTO +from visier.sdk.api.administration.models.user_groups_change_dto import UserGroupsChangeDTO +from visier.sdk.api.administration.models.user_groups_delete_request_dto import UserGroupsDeleteRequestDTO +from visier.sdk.api.administration.models.user_groups_get_api_response_dto import UserGroupsGetAPIResponseDTO +from visier.sdk.api.administration.models.user_groups_users_dto import UserGroupsUsersDTO +from visier.sdk.api.administration.models.user_groups_users_for_tenant_dto import UserGroupsUsersForTenantDTO +from visier.sdk.api.administration.models.user_id_error_dto import UserIdErrorDTO +from visier.sdk.api.administration.models.user_property_dto import UserPropertyDTO +from visier.sdk.api.administration.models.user_security_assignments_dto import UserSecurityAssignmentsDTO +from visier.sdk.api.administration.models.user_update_api_request_dto import UserUpdateAPIRequestDTO +from visier.sdk.api.administration.models.users_api_error_message_dto import UsersAPIErrorMessageDTO +from visier.sdk.api.administration.models.users_api_failure_dto import UsersAPIFailureDTO +from visier.sdk.api.administration.models.users_api_response_dto import UsersAPIResponseDTO +from visier.sdk.api.administration.models.users_api_success_dto import UsersAPISuccessDTO +from visier.sdk.api.administration.models.users_creation_api_request_dto import UsersCreationAPIRequestDTO +from visier.sdk.api.administration.models.users_delete_api_request_dto import UsersDeleteAPIRequestDTO +from visier.sdk.api.administration.models.users_to_user_group_request_dto import UsersToUserGroupRequestDTO +from visier.sdk.api.administration.models.users_to_user_groups_request_dto import UsersToUserGroupsRequestDTO +from visier.sdk.api.administration.models.users_update_api_request_dto import UsersUpdateAPIRequestDTO +from visier.sdk.api.administration.models.users_update_api_user_dto import UsersUpdateAPIUserDTO diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/api/__init__.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/__init__.py new file mode 100644 index 000000000..3ea5f6f87 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/__init__.py @@ -0,0 +1,15 @@ +# flake8: noqa + +# import apis into api package +from visier.sdk.api.administration.api.consolidated_analytics_api import ConsolidatedAnalyticsApi +from visier.sdk.api.administration.api.permissions_api import PermissionsApi +from visier.sdk.api.administration.api.production_versions_api import ProductionVersionsApi +from visier.sdk.api.administration.api.profiles_api import ProfilesApi +from visier.sdk.api.administration.api.projects_api import ProjectsApi +from visier.sdk.api.administration.api.system_status_api import SystemStatusApi +from visier.sdk.api.administration.api.tenants_v1_api import TenantsV1Api +from visier.sdk.api.administration.api.tenants_v2_api import TenantsV2Api +from visier.sdk.api.administration.api.user_groups_v2_api import UserGroupsV2Api +from visier.sdk.api.administration.api.users_v1_api import UsersV1Api +from visier.sdk.api.administration.api.users_v2_api import UsersV2Api + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/api/consolidated_analytics_api.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/consolidated_analytics_api.py new file mode 100644 index 000000000..646ac4d8c --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/consolidated_analytics_api.py @@ -0,0 +1,3187 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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, StrictInt, StrictStr +from typing import Optional +from typing_extensions import Annotated +from visier.sdk.api.administration.models.consolidated_analytics_api_excluded_source_list_dto import ConsolidatedAnalyticsAPIExcludedSourceListDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_source_tenant_list_dto import ConsolidatedAnalyticsAPISourceTenantListDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_create_request_dto import ConsolidatedAnalyticsAPITenantCreateRequestDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_list_response_dto import ConsolidatedAnalyticsAPITenantListResponseDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_with_details_list_response_dto import ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO +from visier.sdk.api.administration.models.excluded_sources_body import ExcludedSourcesBody +from visier.sdk.api.administration.models.tenant_code_body import TenantCodeBody + +from visier.sdk.api.administration.api_client import ApiClient, RequestSerialized +from visier.sdk.api.administration.api_response import ApiResponse +from visier.sdk.api.administration.rest import RESTResponseType + + +class ConsolidatedAnalyticsApi: + """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 add_excluded_sources( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + excluded_sources_body: ExcludedSourcesBody, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ConsolidatedAnalyticsAPIExcludedSourceListDTO: + """Add excluded sources to a consolidated analytics tenant + + Add excluded sources to the list of excluded sources for a consolidated analytics tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param excluded_sources_body: (required) + :type excluded_sources_body: ExcludedSourcesBody + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_excluded_sources_serialize( + tenant_id=tenant_id, + excluded_sources_body=excluded_sources_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPIExcludedSourceListDTO", + } + response_data = self.api_client.call_api( + *_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 add_excluded_sources_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + excluded_sources_body: ExcludedSourcesBody, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ConsolidatedAnalyticsAPIExcludedSourceListDTO]: + """Add excluded sources to a consolidated analytics tenant + + Add excluded sources to the list of excluded sources for a consolidated analytics tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param excluded_sources_body: (required) + :type excluded_sources_body: ExcludedSourcesBody + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_excluded_sources_serialize( + tenant_id=tenant_id, + excluded_sources_body=excluded_sources_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPIExcludedSourceListDTO", + } + response_data = self.api_client.call_api( + *_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 add_excluded_sources_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + excluded_sources_body: ExcludedSourcesBody, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 excluded sources to a consolidated analytics tenant + + Add excluded sources to the list of excluded sources for a consolidated analytics tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param excluded_sources_body: (required) + :type excluded_sources_body: ExcludedSourcesBody + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_excluded_sources_serialize( + tenant_id=tenant_id, + excluded_sources_body=excluded_sources_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPIExcludedSourceListDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_excluded_sources_serialize( + self, + tenant_id, + excluded_sources_body, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if excluded_sources_body is not None: + _body_params = excluded_sources_body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v1alpha/admin/consolidated-analytics/tenants/{tenantId}/excluded-sources', + 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 add_source_tenants( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + tenant_code_body: TenantCodeBody, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of source tenants to return. The maximum value is 1000. Default is 400.")] = 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, + ) -> ConsolidatedAnalyticsAPISourceTenantListDTO: + """Add source tenants to a consolidated analytics tenant + + Add source tenants to the list of source tenants for a consolidated analytics tenant. If successful, the response returns an updated list of source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param tenant_code_body: (required) + :type tenant_code_body: TenantCodeBody + :param limit: The maximum number of source tenants to return. The maximum value is 1000. Default is 400. + :type limit: 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._add_source_tenants_serialize( + tenant_id=tenant_id, + tenant_code_body=tenant_code_body, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPISourceTenantListDTO", + } + response_data = self.api_client.call_api( + *_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 add_source_tenants_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + tenant_code_body: TenantCodeBody, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of source tenants to return. The maximum value is 1000. Default is 400.")] = 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[ConsolidatedAnalyticsAPISourceTenantListDTO]: + """Add source tenants to a consolidated analytics tenant + + Add source tenants to the list of source tenants for a consolidated analytics tenant. If successful, the response returns an updated list of source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param tenant_code_body: (required) + :type tenant_code_body: TenantCodeBody + :param limit: The maximum number of source tenants to return. The maximum value is 1000. Default is 400. + :type limit: 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._add_source_tenants_serialize( + tenant_id=tenant_id, + tenant_code_body=tenant_code_body, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPISourceTenantListDTO", + } + response_data = self.api_client.call_api( + *_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 add_source_tenants_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + tenant_code_body: TenantCodeBody, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of source tenants to return. The maximum value is 1000. Default is 400.")] = 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: + """Add source tenants to a consolidated analytics tenant + + Add source tenants to the list of source tenants for a consolidated analytics tenant. If successful, the response returns an updated list of source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param tenant_code_body: (required) + :type tenant_code_body: TenantCodeBody + :param limit: The maximum number of source tenants to return. The maximum value is 1000. Default is 400. + :type limit: 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._add_source_tenants_serialize( + tenant_id=tenant_id, + tenant_code_body=tenant_code_body, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPISourceTenantListDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_source_tenants_serialize( + self, + tenant_id, + tenant_code_body, + limit, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_id + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + # process the header parameters + # process the form parameters + # process the body parameter + if tenant_code_body is not None: + _body_params = tenant_code_body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v1alpha/admin/consolidated-analytics/tenants/{tenantId}/source-tenants', + 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_tenant( + self, + consolidated_analytics_api_tenant_create_request_dto: ConsolidatedAnalyticsAPITenantCreateRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ConsolidatedAnalyticsAPITenantCreateRequestDTO: + """Create a consolidated analytics tenant + + Create a consolidated analytics tenant. A new CA tenant has no source tenants and no excluded sources. **Note:** CA tenant codes must have a prefix of CA. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param consolidated_analytics_api_tenant_create_request_dto: (required) + :type consolidated_analytics_api_tenant_create_request_dto: ConsolidatedAnalyticsAPITenantCreateRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_tenant_serialize( + consolidated_analytics_api_tenant_create_request_dto=consolidated_analytics_api_tenant_create_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPITenantCreateRequestDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_with_http_info( + self, + consolidated_analytics_api_tenant_create_request_dto: ConsolidatedAnalyticsAPITenantCreateRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ConsolidatedAnalyticsAPITenantCreateRequestDTO]: + """Create a consolidated analytics tenant + + Create a consolidated analytics tenant. A new CA tenant has no source tenants and no excluded sources. **Note:** CA tenant codes must have a prefix of CA. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param consolidated_analytics_api_tenant_create_request_dto: (required) + :type consolidated_analytics_api_tenant_create_request_dto: ConsolidatedAnalyticsAPITenantCreateRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_tenant_serialize( + consolidated_analytics_api_tenant_create_request_dto=consolidated_analytics_api_tenant_create_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPITenantCreateRequestDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_without_preload_content( + self, + consolidated_analytics_api_tenant_create_request_dto: ConsolidatedAnalyticsAPITenantCreateRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 consolidated analytics tenant + + Create a consolidated analytics tenant. A new CA tenant has no source tenants and no excluded sources. **Note:** CA tenant codes must have a prefix of CA. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param consolidated_analytics_api_tenant_create_request_dto: (required) + :type consolidated_analytics_api_tenant_create_request_dto: ConsolidatedAnalyticsAPITenantCreateRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_tenant_serialize( + consolidated_analytics_api_tenant_create_request_dto=consolidated_analytics_api_tenant_create_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPITenantCreateRequestDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_tenant_serialize( + self, + consolidated_analytics_api_tenant_create_request_dto, + _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]] = {} + _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 consolidated_analytics_api_tenant_create_request_dto is not None: + _body_params = consolidated_analytics_api_tenant_create_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v1alpha/admin/consolidated-analytics/tenants', + 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 list_excluded_sources( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ConsolidatedAnalyticsAPIExcludedSourceListDTO: + """Retrieve a consolidated analytics tenant's excluded sources + + Retrieve a CA tenant's excluded sources.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_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._list_excluded_sources_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPIExcludedSourceListDTO", + } + response_data = self.api_client.call_api( + *_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 list_excluded_sources_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ConsolidatedAnalyticsAPIExcludedSourceListDTO]: + """Retrieve a consolidated analytics tenant's excluded sources + + Retrieve a CA tenant's excluded sources.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_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._list_excluded_sources_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPIExcludedSourceListDTO", + } + response_data = self.api_client.call_api( + *_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 list_excluded_sources_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a consolidated analytics tenant's excluded sources + + Retrieve a CA tenant's excluded sources.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_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._list_excluded_sources_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPIExcludedSourceListDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_excluded_sources_serialize( + self, + tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/admin/consolidated-analytics/tenants/{tenantId}/excluded-sources', + 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 list_source_tenants( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of source tenants to return. The maximum value is 1000. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first source tenant to return. Default is 0.")] = 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, + ) -> ConsolidatedAnalyticsAPISourceTenantListDTO: + """Retrieve a consolidated analytics tenant's source tenants + + Retrieve a CA tenant's source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param limit: The maximum number of source tenants to return. The maximum value is 1000. Default is 400. + :type limit: int + :param start: The starting index of the first source tenant to return. Default is 0. + :type start: 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._list_source_tenants_serialize( + tenant_id=tenant_id, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPISourceTenantListDTO", + } + response_data = self.api_client.call_api( + *_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 list_source_tenants_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of source tenants to return. The maximum value is 1000. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first source tenant to return. Default is 0.")] = 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[ConsolidatedAnalyticsAPISourceTenantListDTO]: + """Retrieve a consolidated analytics tenant's source tenants + + Retrieve a CA tenant's source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param limit: The maximum number of source tenants to return. The maximum value is 1000. Default is 400. + :type limit: int + :param start: The starting index of the first source tenant to return. Default is 0. + :type start: 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._list_source_tenants_serialize( + tenant_id=tenant_id, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPISourceTenantListDTO", + } + response_data = self.api_client.call_api( + *_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 list_source_tenants_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of source tenants to return. The maximum value is 1000. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first source tenant to return. Default is 0.")] = 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: + """Retrieve a consolidated analytics tenant's source tenants + + Retrieve a CA tenant's source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param limit: The maximum number of source tenants to return. The maximum value is 1000. Default is 400. + :type limit: int + :param start: The starting index of the first source tenant to return. Default is 0. + :type start: 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._list_source_tenants_serialize( + tenant_id=tenant_id, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPISourceTenantListDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_source_tenants_serialize( + self, + tenant_id, + limit, + start, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_id + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/admin/consolidated-analytics/tenants/{tenantId}/source-tenants', + 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 list_tenants( + self, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of tenants to return. The maximum value is 1000. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first tenant to return. Default is 0.")] = 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, + ) -> ConsolidatedAnalyticsAPITenantListResponseDTO: + """Retrieve a list of all consolidated analytics tenants + + Retrieve the full list of consolidated analytics tenants in your administrating tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param limit: The maximum number of tenants to return. The maximum value is 1000. Default is 400. + :type limit: int + :param start: The starting index of the first tenant to return. Default is 0. + :type start: 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._list_tenants_serialize( + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPITenantListResponseDTO", + } + response_data = self.api_client.call_api( + *_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 list_tenants_with_http_info( + self, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of tenants to return. The maximum value is 1000. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first tenant to return. Default is 0.")] = 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[ConsolidatedAnalyticsAPITenantListResponseDTO]: + """Retrieve a list of all consolidated analytics tenants + + Retrieve the full list of consolidated analytics tenants in your administrating tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param limit: The maximum number of tenants to return. The maximum value is 1000. Default is 400. + :type limit: int + :param start: The starting index of the first tenant to return. Default is 0. + :type start: 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._list_tenants_serialize( + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPITenantListResponseDTO", + } + response_data = self.api_client.call_api( + *_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 list_tenants_without_preload_content( + self, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of tenants to return. The maximum value is 1000. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first tenant to return. Default is 0.")] = 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: + """Retrieve a list of all consolidated analytics tenants + + Retrieve the full list of consolidated analytics tenants in your administrating tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param limit: The maximum number of tenants to return. The maximum value is 1000. Default is 400. + :type limit: int + :param start: The starting index of the first tenant to return. Default is 0. + :type start: 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._list_tenants_serialize( + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPITenantListResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_tenants_serialize( + self, + limit, + start, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/admin/consolidated-analytics/tenants', + 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 list_tenants_with_details( + self, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of tenants to return. The maximum value is 1000. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first tenant to return. Default is 0.")] = 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, + ) -> ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO: + """Retrieve the details of all consolidated analytics tenants + + Retrieve the full list of consolidated analytics tenants and their details in your administrating tenant. **Note:** If your consolidated analytics tenants have thousands of source tenants, we recommend that you use the `GET /admin/consolidated-analytics/tenants` endpoint to get all CA tenants and then use the `GET /admin/consolidated-analytics/tenants/{tenantId}/source-tenants` and `GET /admin/consolidated-analytics/tenants/{tenantId}/excluded-sources` endpoints to retrieve information about specific CA tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param limit: The maximum number of tenants to return. The maximum value is 1000. Default is 400. + :type limit: int + :param start: The starting index of the first tenant to return. Default is 0. + :type start: 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._list_tenants_with_details_serialize( + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO", + } + response_data = self.api_client.call_api( + *_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 list_tenants_with_details_with_http_info( + self, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of tenants to return. The maximum value is 1000. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first tenant to return. Default is 0.")] = 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[ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO]: + """Retrieve the details of all consolidated analytics tenants + + Retrieve the full list of consolidated analytics tenants and their details in your administrating tenant. **Note:** If your consolidated analytics tenants have thousands of source tenants, we recommend that you use the `GET /admin/consolidated-analytics/tenants` endpoint to get all CA tenants and then use the `GET /admin/consolidated-analytics/tenants/{tenantId}/source-tenants` and `GET /admin/consolidated-analytics/tenants/{tenantId}/excluded-sources` endpoints to retrieve information about specific CA tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param limit: The maximum number of tenants to return. The maximum value is 1000. Default is 400. + :type limit: int + :param start: The starting index of the first tenant to return. Default is 0. + :type start: 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._list_tenants_with_details_serialize( + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO", + } + response_data = self.api_client.call_api( + *_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 list_tenants_with_details_without_preload_content( + self, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of tenants to return. The maximum value is 1000. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first tenant to return. Default is 0.")] = 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: + """Retrieve the details of all consolidated analytics tenants + + Retrieve the full list of consolidated analytics tenants and their details in your administrating tenant. **Note:** If your consolidated analytics tenants have thousands of source tenants, we recommend that you use the `GET /admin/consolidated-analytics/tenants` endpoint to get all CA tenants and then use the `GET /admin/consolidated-analytics/tenants/{tenantId}/source-tenants` and `GET /admin/consolidated-analytics/tenants/{tenantId}/excluded-sources` endpoints to retrieve information about specific CA tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param limit: The maximum number of tenants to return. The maximum value is 1000. Default is 400. + :type limit: int + :param start: The starting index of the first tenant to return. Default is 0. + :type start: 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._list_tenants_with_details_serialize( + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_tenants_with_details_serialize( + self, + limit, + start, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/admin/consolidated-analytics/tenants-with-details', + 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 remove_excluded_sources( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + excluded_sources_body: ExcludedSourcesBody, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ConsolidatedAnalyticsAPIExcludedSourceListDTO: + """Remove excluded sources from a consolidated analytics tenants + + Remove excluded sources from the list of excluded sources for a consolidated analytics tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param excluded_sources_body: (required) + :type excluded_sources_body: ExcludedSourcesBody + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_excluded_sources_serialize( + tenant_id=tenant_id, + excluded_sources_body=excluded_sources_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPIExcludedSourceListDTO", + } + response_data = self.api_client.call_api( + *_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 remove_excluded_sources_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + excluded_sources_body: ExcludedSourcesBody, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ConsolidatedAnalyticsAPIExcludedSourceListDTO]: + """Remove excluded sources from a consolidated analytics tenants + + Remove excluded sources from the list of excluded sources for a consolidated analytics tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param excluded_sources_body: (required) + :type excluded_sources_body: ExcludedSourcesBody + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_excluded_sources_serialize( + tenant_id=tenant_id, + excluded_sources_body=excluded_sources_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPIExcludedSourceListDTO", + } + response_data = self.api_client.call_api( + *_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 remove_excluded_sources_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + excluded_sources_body: ExcludedSourcesBody, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Remove excluded sources from a consolidated analytics tenants + + Remove excluded sources from the list of excluded sources for a consolidated analytics tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param excluded_sources_body: (required) + :type excluded_sources_body: ExcludedSourcesBody + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_excluded_sources_serialize( + tenant_id=tenant_id, + excluded_sources_body=excluded_sources_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPIExcludedSourceListDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_excluded_sources_serialize( + self, + tenant_id, + excluded_sources_body, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if excluded_sources_body is not None: + _body_params = excluded_sources_body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='DELETE', + resource_path='/v1alpha/admin/consolidated-analytics/tenants/{tenantId}/excluded-sources', + 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 remove_source_tenants( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + tenant_code_body: TenantCodeBody, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of source tenants to return. The maximum value is 1000. Default is 400.")] = 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, + ) -> ConsolidatedAnalyticsAPISourceTenantListDTO: + """Remove source tenants from a consolidated analytics tenants + + Remove source tenants from the list of source tenants for a consolidated analytics tenant. If successful, the response returns an updated list of source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param tenant_code_body: (required) + :type tenant_code_body: TenantCodeBody + :param limit: The maximum number of source tenants to return. The maximum value is 1000. Default is 400. + :type limit: 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._remove_source_tenants_serialize( + tenant_id=tenant_id, + tenant_code_body=tenant_code_body, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPISourceTenantListDTO", + } + response_data = self.api_client.call_api( + *_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 remove_source_tenants_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + tenant_code_body: TenantCodeBody, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of source tenants to return. The maximum value is 1000. Default is 400.")] = 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[ConsolidatedAnalyticsAPISourceTenantListDTO]: + """Remove source tenants from a consolidated analytics tenants + + Remove source tenants from the list of source tenants for a consolidated analytics tenant. If successful, the response returns an updated list of source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param tenant_code_body: (required) + :type tenant_code_body: TenantCodeBody + :param limit: The maximum number of source tenants to return. The maximum value is 1000. Default is 400. + :type limit: 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._remove_source_tenants_serialize( + tenant_id=tenant_id, + tenant_code_body=tenant_code_body, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPISourceTenantListDTO", + } + response_data = self.api_client.call_api( + *_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 remove_source_tenants_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + tenant_code_body: TenantCodeBody, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of source tenants to return. The maximum value is 1000. Default is 400.")] = 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: + """Remove source tenants from a consolidated analytics tenants + + Remove source tenants from the list of source tenants for a consolidated analytics tenant. If successful, the response returns an updated list of source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param tenant_code_body: (required) + :type tenant_code_body: TenantCodeBody + :param limit: The maximum number of source tenants to return. The maximum value is 1000. Default is 400. + :type limit: 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._remove_source_tenants_serialize( + tenant_id=tenant_id, + tenant_code_body=tenant_code_body, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPISourceTenantListDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_source_tenants_serialize( + self, + tenant_id, + tenant_code_body, + limit, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_id + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + # process the header parameters + # process the form parameters + # process the body parameter + if tenant_code_body is not None: + _body_params = tenant_code_body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='DELETE', + resource_path='/v1alpha/admin/consolidated-analytics/tenants/{tenantId}/source-tenants', + 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 set_excluded_sources( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + excluded_sources_body: ExcludedSourcesBody, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ConsolidatedAnalyticsAPIExcludedSourceListDTO: + """Set a consolidated analytics tenant's excluded sources + + Define the excluded sources for a consolidated analytics tenant. After you create a CA tenant, you may optionally define a list of excluded sources. The excluded sources are the sources whose data is excluded from the CA tenant. You can also use this API to replace the list of excluded sources for an existing CA tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param excluded_sources_body: (required) + :type excluded_sources_body: ExcludedSourcesBody + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._set_excluded_sources_serialize( + tenant_id=tenant_id, + excluded_sources_body=excluded_sources_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPIExcludedSourceListDTO", + } + response_data = self.api_client.call_api( + *_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 set_excluded_sources_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + excluded_sources_body: ExcludedSourcesBody, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ConsolidatedAnalyticsAPIExcludedSourceListDTO]: + """Set a consolidated analytics tenant's excluded sources + + Define the excluded sources for a consolidated analytics tenant. After you create a CA tenant, you may optionally define a list of excluded sources. The excluded sources are the sources whose data is excluded from the CA tenant. You can also use this API to replace the list of excluded sources for an existing CA tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param excluded_sources_body: (required) + :type excluded_sources_body: ExcludedSourcesBody + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._set_excluded_sources_serialize( + tenant_id=tenant_id, + excluded_sources_body=excluded_sources_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPIExcludedSourceListDTO", + } + response_data = self.api_client.call_api( + *_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 set_excluded_sources_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + excluded_sources_body: ExcludedSourcesBody, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Set a consolidated analytics tenant's excluded sources + + Define the excluded sources for a consolidated analytics tenant. After you create a CA tenant, you may optionally define a list of excluded sources. The excluded sources are the sources whose data is excluded from the CA tenant. You can also use this API to replace the list of excluded sources for an existing CA tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param excluded_sources_body: (required) + :type excluded_sources_body: ExcludedSourcesBody + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._set_excluded_sources_serialize( + tenant_id=tenant_id, + excluded_sources_body=excluded_sources_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPIExcludedSourceListDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _set_excluded_sources_serialize( + self, + tenant_id, + excluded_sources_body, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if excluded_sources_body is not None: + _body_params = excluded_sources_body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='PUT', + resource_path='/v1alpha/admin/consolidated-analytics/tenants/{tenantId}/excluded-sources', + 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 set_source_tenants( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + tenant_code_body: TenantCodeBody, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of source tenants to return. The maximum value is 1000. Default is 400.")] = 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, + ) -> ConsolidatedAnalyticsAPISourceTenantListDTO: + """Set a consolidated analytics tenant's source tenants + + Define the source tenants for a consolidated analytics tenant. After you create a CA tenant, you must define a list of its source tenants. The source tenants are the tenants whose data is aggregated in the CA tenant. You can also use this API to replace the list of source tenants for an existing CA tenant. If successful, the response returns an updated list of source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param tenant_code_body: (required) + :type tenant_code_body: TenantCodeBody + :param limit: The maximum number of source tenants to return. The maximum value is 1000. Default is 400. + :type limit: 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._set_source_tenants_serialize( + tenant_id=tenant_id, + tenant_code_body=tenant_code_body, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPISourceTenantListDTO", + } + response_data = self.api_client.call_api( + *_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 set_source_tenants_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + tenant_code_body: TenantCodeBody, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of source tenants to return. The maximum value is 1000. Default is 400.")] = 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[ConsolidatedAnalyticsAPISourceTenantListDTO]: + """Set a consolidated analytics tenant's source tenants + + Define the source tenants for a consolidated analytics tenant. After you create a CA tenant, you must define a list of its source tenants. The source tenants are the tenants whose data is aggregated in the CA tenant. You can also use this API to replace the list of source tenants for an existing CA tenant. If successful, the response returns an updated list of source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param tenant_code_body: (required) + :type tenant_code_body: TenantCodeBody + :param limit: The maximum number of source tenants to return. The maximum value is 1000. Default is 400. + :type limit: 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._set_source_tenants_serialize( + tenant_id=tenant_id, + tenant_code_body=tenant_code_body, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPISourceTenantListDTO", + } + response_data = self.api_client.call_api( + *_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 set_source_tenants_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.")], + tenant_code_body: TenantCodeBody, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of source tenants to return. The maximum value is 1000. Default is 400.")] = 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: + """Set a consolidated analytics tenant's source tenants + + Define the source tenants for a consolidated analytics tenant. After you create a CA tenant, you must define a list of its source tenants. The source tenants are the tenants whose data is aggregated in the CA tenant. You can also use this API to replace the list of source tenants for an existing CA tenant. If successful, the response returns an updated list of source tenants.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code. (required) + :type tenant_id: str + :param tenant_code_body: (required) + :type tenant_code_body: TenantCodeBody + :param limit: The maximum number of source tenants to return. The maximum value is 1000. Default is 400. + :type limit: 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._set_source_tenants_serialize( + tenant_id=tenant_id, + tenant_code_body=tenant_code_body, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConsolidatedAnalyticsAPISourceTenantListDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _set_source_tenants_serialize( + self, + tenant_id, + tenant_code_body, + limit, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_id + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + # process the header parameters + # process the form parameters + # process the body parameter + if tenant_code_body is not None: + _body_params = tenant_code_body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='PUT', + resource_path='/v1alpha/admin/consolidated-analytics/tenants/{tenantId}/source-tenants', + 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/src/visier.sdk.api.administration/visier/sdk/api/administration/api/permissions_api.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/permissions_api.py new file mode 100644 index 000000000..95426e750 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/permissions_api.py @@ -0,0 +1,3708 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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, StrictInt, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from visier.sdk.api.administration.models.bulk_data_access_set_response_dto import BulkDataAccessSetResponseDTO +from visier.sdk.api.administration.models.capability_dto import CapabilityDTO +from visier.sdk.api.administration.models.content_package_dto import ContentPackageDTO +from visier.sdk.api.administration.models.create_data_access_set_request_dto import CreateDataAccessSetRequestDTO +from visier.sdk.api.administration.models.data_access_set_dto import DataAccessSetDTO +from visier.sdk.api.administration.models.delete_permissions_request_dto import DeletePermissionsRequestDTO +from visier.sdk.api.administration.models.get_capabilities_api_response_dto import GetCapabilitiesAPIResponseDTO +from visier.sdk.api.administration.models.get_content_packages_api_response_dto import GetContentPackagesAPIResponseDTO +from visier.sdk.api.administration.models.get_data_access_sets_api_response_dto import GetDataAccessSetsAPIResponseDTO +from visier.sdk.api.administration.models.get_data_security_objects_api_response_dto import GetDataSecurityObjectsAPIResponseDTO +from visier.sdk.api.administration.models.get_permissions_api_response_dto import GetPermissionsAPIResponseDTO +from visier.sdk.api.administration.models.permission_bulk_operation_response_dto import PermissionBulkOperationResponseDTO +from visier.sdk.api.administration.models.permission_dto import PermissionDTO +from visier.sdk.api.administration.models.permissions_list_dto import PermissionsListDTO + +from visier.sdk.api.administration.api_client import ApiClient, RequestSerialized +from visier.sdk.api.administration.api_response import ApiResponse +from visier.sdk.api.administration.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_data_access_sets( + self, + create_data_access_set_request_dto: CreateDataAccessSetRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> BulkDataAccessSetResponseDTO: + """Create shareable data access sets + + Create shareable data access sets. Shareable data access sets let you reuse common data access configurations in multiple permissions. To specify the project in which to create shareable data access sets, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param create_data_access_set_request_dto: (required) + :type create_data_access_set_request_dto: CreateDataAccessSetRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_data_access_sets_serialize( + create_data_access_set_request_dto=create_data_access_set_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "BulkDataAccessSetResponseDTO", + } + response_data = self.api_client.call_api( + *_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_data_access_sets_with_http_info( + self, + create_data_access_set_request_dto: CreateDataAccessSetRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[BulkDataAccessSetResponseDTO]: + """Create shareable data access sets + + Create shareable data access sets. Shareable data access sets let you reuse common data access configurations in multiple permissions. To specify the project in which to create shareable data access sets, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param create_data_access_set_request_dto: (required) + :type create_data_access_set_request_dto: CreateDataAccessSetRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_data_access_sets_serialize( + create_data_access_set_request_dto=create_data_access_set_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "BulkDataAccessSetResponseDTO", + } + response_data = self.api_client.call_api( + *_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_data_access_sets_without_preload_content( + self, + create_data_access_set_request_dto: CreateDataAccessSetRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 shareable data access sets + + Create shareable data access sets. Shareable data access sets let you reuse common data access configurations in multiple permissions. To specify the project in which to create shareable data access sets, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param create_data_access_set_request_dto: (required) + :type create_data_access_set_request_dto: CreateDataAccessSetRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_data_access_sets_serialize( + create_data_access_set_request_dto=create_data_access_set_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "BulkDataAccessSetResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_data_access_sets_serialize( + self, + create_data_access_set_request_dto, + _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]] = {} + _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_data_access_set_request_dto is not None: + _body_params = create_data_access_set_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v1/admin/data-access-sets', + 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_permissions( + self, + permissions_list_dto: PermissionsListDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to create permissions in.")] = 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, + ) -> PermissionBulkOperationResponseDTO: + """Create permissions + + Create new permissions. Administrating tenant users can specify the tenant in which to add these permissions. To specify the project in which to create permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param permissions_list_dto: (required) + :type permissions_list_dto: PermissionsListDTO + :param tenant_code: Specify the tenant to create permissions in. + :type tenant_code: 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._create_permissions_serialize( + permissions_list_dto=permissions_list_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionBulkOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_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_permissions_with_http_info( + self, + permissions_list_dto: PermissionsListDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to create permissions in.")] = 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[PermissionBulkOperationResponseDTO]: + """Create permissions + + Create new permissions. Administrating tenant users can specify the tenant in which to add these permissions. To specify the project in which to create permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param permissions_list_dto: (required) + :type permissions_list_dto: PermissionsListDTO + :param tenant_code: Specify the tenant to create permissions in. + :type tenant_code: 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._create_permissions_serialize( + permissions_list_dto=permissions_list_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionBulkOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_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_permissions_without_preload_content( + self, + permissions_list_dto: PermissionsListDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to create permissions in.")] = 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 permissions + + Create new permissions. Administrating tenant users can specify the tenant in which to add these permissions. To specify the project in which to create permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param permissions_list_dto: (required) + :type permissions_list_dto: PermissionsListDTO + :param tenant_code: Specify the tenant to create permissions in. + :type tenant_code: 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._create_permissions_serialize( + permissions_list_dto=permissions_list_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionBulkOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_permissions_serialize( + self, + permissions_list_dto, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # process the header parameters + # process the form parameters + # process the body parameter + if permissions_list_dto is not None: + _body_params = permissions_list_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v1/admin/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 + ) + + + + + @validate_call + def delete_permissions( + self, + delete_permissions_request_dto: DeletePermissionsRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to delete permissions from.")] = 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, + ) -> PermissionBulkOperationResponseDTO: + """Delete permissions + + Delete existing permissions. To specify the project in which to delete permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param delete_permissions_request_dto: (required) + :type delete_permissions_request_dto: DeletePermissionsRequestDTO + :param tenant_code: Specify the tenant to delete permissions from. + :type tenant_code: 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_permissions_serialize( + delete_permissions_request_dto=delete_permissions_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionBulkOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_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_permissions_with_http_info( + self, + delete_permissions_request_dto: DeletePermissionsRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to delete permissions from.")] = 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[PermissionBulkOperationResponseDTO]: + """Delete permissions + + Delete existing permissions. To specify the project in which to delete permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param delete_permissions_request_dto: (required) + :type delete_permissions_request_dto: DeletePermissionsRequestDTO + :param tenant_code: Specify the tenant to delete permissions from. + :type tenant_code: 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_permissions_serialize( + delete_permissions_request_dto=delete_permissions_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionBulkOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_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_permissions_without_preload_content( + self, + delete_permissions_request_dto: DeletePermissionsRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to delete permissions from.")] = 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 permissions + + Delete existing permissions. To specify the project in which to delete permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param delete_permissions_request_dto: (required) + :type delete_permissions_request_dto: DeletePermissionsRequestDTO + :param tenant_code: Specify the tenant to delete permissions from. + :type tenant_code: 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_permissions_serialize( + delete_permissions_request_dto=delete_permissions_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionBulkOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_permissions_serialize( + self, + delete_permissions_request_dto, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # process the header parameters + # process the form parameters + # process the body parameter + if delete_permissions_request_dto is not None: + _body_params = delete_permissions_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='DELETE', + resource_path='/v1/admin/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 + ) + + + + + @validate_call + def get_capabilities( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the capabilities from.")] = 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, + ) -> GetCapabilitiesAPIResponseDTO: + """Retrieve a list of all permission capabilities + + Retrieve all the permission capabilities in your tenant. You can use the returned capabilities in other API calls when creating or updating permissions to assign the capability to the permission. To specify the project in which to retrieve the permission capabilities, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param tenant_code: Specify the tenant to retrieve the capabilities from. + :type tenant_code: 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_capabilities_serialize( + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCapabilitiesAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_capabilities_with_http_info( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the capabilities from.")] = 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[GetCapabilitiesAPIResponseDTO]: + """Retrieve a list of all permission capabilities + + Retrieve all the permission capabilities in your tenant. You can use the returned capabilities in other API calls when creating or updating permissions to assign the capability to the permission. To specify the project in which to retrieve the permission capabilities, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param tenant_code: Specify the tenant to retrieve the capabilities from. + :type tenant_code: 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_capabilities_serialize( + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCapabilitiesAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_capabilities_without_preload_content( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the capabilities from.")] = 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: + """Retrieve a list of all permission capabilities + + Retrieve all the permission capabilities in your tenant. You can use the returned capabilities in other API calls when creating or updating permissions to assign the capability to the permission. To specify the project in which to retrieve the permission capabilities, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param tenant_code: Specify the tenant to retrieve the capabilities from. + :type tenant_code: 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_capabilities_serialize( + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCapabilitiesAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_capabilities_serialize( + self, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/capabilities', + 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_capability( + self, + capability_id: Annotated[StrictStr, Field(description="The unique identifier of the capability you want to retrieve.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a capability from.")] = 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, + ) -> CapabilityDTO: + """Retrieve a permission capability's details + + Retrieve the details of a specific capability. To specify the project in which to retrieve the permission capability, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param capability_id: The unique identifier of the capability you want to retrieve. (required) + :type capability_id: str + :param tenant_code: Specify the tenant to retrieve a capability from. + :type tenant_code: 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_capability_serialize( + capability_id=capability_id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CapabilityDTO", + } + response_data = self.api_client.call_api( + *_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_capability_with_http_info( + self, + capability_id: Annotated[StrictStr, Field(description="The unique identifier of the capability you want to retrieve.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a capability from.")] = 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[CapabilityDTO]: + """Retrieve a permission capability's details + + Retrieve the details of a specific capability. To specify the project in which to retrieve the permission capability, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param capability_id: The unique identifier of the capability you want to retrieve. (required) + :type capability_id: str + :param tenant_code: Specify the tenant to retrieve a capability from. + :type tenant_code: 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_capability_serialize( + capability_id=capability_id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CapabilityDTO", + } + response_data = self.api_client.call_api( + *_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_capability_without_preload_content( + self, + capability_id: Annotated[StrictStr, Field(description="The unique identifier of the capability you want to retrieve.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a capability from.")] = 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: + """Retrieve a permission capability's details + + Retrieve the details of a specific capability. To specify the project in which to retrieve the permission capability, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param capability_id: The unique identifier of the capability you want to retrieve. (required) + :type capability_id: str + :param tenant_code: Specify the tenant to retrieve a capability from. + :type tenant_code: 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_capability_serialize( + capability_id=capability_id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CapabilityDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_capability_serialize( + self, + capability_id, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if capability_id is not None: + _path_params['capabilityId'] = capability_id + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/capabilities/{capabilityId}', + 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_content_package( + self, + content_package_id: Annotated[StrictStr, Field(description="The unique identifier of the content package you want to retrieve.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a content package from.")] = 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, + ) -> ContentPackageDTO: + """Retrieve a content package's details + + Retrieve the details of a specific content package. To specify the project in which to retrieve a content package, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param content_package_id: The unique identifier of the content package you want to retrieve. (required) + :type content_package_id: str + :param tenant_code: Specify the tenant to retrieve a content package from. + :type tenant_code: 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_content_package_serialize( + content_package_id=content_package_id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ContentPackageDTO", + } + response_data = self.api_client.call_api( + *_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_content_package_with_http_info( + self, + content_package_id: Annotated[StrictStr, Field(description="The unique identifier of the content package you want to retrieve.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a content package from.")] = 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[ContentPackageDTO]: + """Retrieve a content package's details + + Retrieve the details of a specific content package. To specify the project in which to retrieve a content package, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param content_package_id: The unique identifier of the content package you want to retrieve. (required) + :type content_package_id: str + :param tenant_code: Specify the tenant to retrieve a content package from. + :type tenant_code: 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_content_package_serialize( + content_package_id=content_package_id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ContentPackageDTO", + } + response_data = self.api_client.call_api( + *_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_content_package_without_preload_content( + self, + content_package_id: Annotated[StrictStr, Field(description="The unique identifier of the content package you want to retrieve.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a content package from.")] = 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: + """Retrieve a content package's details + + Retrieve the details of a specific content package. To specify the project in which to retrieve a content package, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param content_package_id: The unique identifier of the content package you want to retrieve. (required) + :type content_package_id: str + :param tenant_code: Specify the tenant to retrieve a content package from. + :type tenant_code: 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_content_package_serialize( + content_package_id=content_package_id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ContentPackageDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_content_package_serialize( + self, + content_package_id, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if content_package_id is not None: + _path_params['contentPackageId'] = content_package_id + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/content-packages/{contentPackageId}', + 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_content_packages( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the content packages from.")] = None, + search_string: Annotated[Optional[StrictStr], Field(description="Optional search string to return only content packages whose display name or description contains that search string. If searchString is empty or not provided, the response returns a list of all content packages.")] = 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, + ) -> GetContentPackagesAPIResponseDTO: + """Retrieve a list of all content packages + + Retrieve the list of available content packages. You can use the returned content packages in other API calls when creating or updating permissions to add the content package to the permission. To specify the project in which to retrieve the available content packages, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param tenant_code: Specify the tenant to retrieve the content packages from. + :type tenant_code: str + :param search_string: Optional search string to return only content packages whose display name or description contains that search string. If searchString is empty or not provided, the response returns a list of all content packages. + :type search_string: 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_content_packages_serialize( + tenant_code=tenant_code, + search_string=search_string, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetContentPackagesAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_content_packages_with_http_info( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the content packages from.")] = None, + search_string: Annotated[Optional[StrictStr], Field(description="Optional search string to return only content packages whose display name or description contains that search string. If searchString is empty or not provided, the response returns a list of all content packages.")] = 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[GetContentPackagesAPIResponseDTO]: + """Retrieve a list of all content packages + + Retrieve the list of available content packages. You can use the returned content packages in other API calls when creating or updating permissions to add the content package to the permission. To specify the project in which to retrieve the available content packages, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param tenant_code: Specify the tenant to retrieve the content packages from. + :type tenant_code: str + :param search_string: Optional search string to return only content packages whose display name or description contains that search string. If searchString is empty or not provided, the response returns a list of all content packages. + :type search_string: 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_content_packages_serialize( + tenant_code=tenant_code, + search_string=search_string, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetContentPackagesAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_content_packages_without_preload_content( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the content packages from.")] = None, + search_string: Annotated[Optional[StrictStr], Field(description="Optional search string to return only content packages whose display name or description contains that search string. If searchString is empty or not provided, the response returns a list of all content packages.")] = 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: + """Retrieve a list of all content packages + + Retrieve the list of available content packages. You can use the returned content packages in other API calls when creating or updating permissions to add the content package to the permission. To specify the project in which to retrieve the available content packages, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param tenant_code: Specify the tenant to retrieve the content packages from. + :type tenant_code: str + :param search_string: Optional search string to return only content packages whose display name or description contains that search string. If searchString is empty or not provided, the response returns a list of all content packages. + :type search_string: 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_content_packages_serialize( + tenant_code=tenant_code, + search_string=search_string, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetContentPackagesAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_content_packages_serialize( + self, + tenant_code, + search_string, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if search_string is not None: + + _query_params.append(('searchString', search_string)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/content-packages', + 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_data_access_set( + self, + data_access_set_id: Annotated[StrictStr, Field(description="The unique identifier of the data access set you want to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DataAccessSetDTO: + """Retrieve a data access set's details + + Retrieve the details of a specific shareable data access set. You must know the ID of the data access set to retrieve its details. To retrieve data access set IDs, see `GET v1/admin/data-access-sets`. To specify the project in which to retrieve the shareable data access set, provide a project UUID in the `ProjectID` request header. **Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param data_access_set_id: The unique identifier of the data access set you want to retrieve. (required) + :type data_access_set_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_data_access_set_serialize( + data_access_set_id=data_access_set_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataAccessSetDTO", + } + response_data = self.api_client.call_api( + *_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_data_access_set_with_http_info( + self, + data_access_set_id: Annotated[StrictStr, Field(description="The unique identifier of the data access set you want to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DataAccessSetDTO]: + """Retrieve a data access set's details + + Retrieve the details of a specific shareable data access set. You must know the ID of the data access set to retrieve its details. To retrieve data access set IDs, see `GET v1/admin/data-access-sets`. To specify the project in which to retrieve the shareable data access set, provide a project UUID in the `ProjectID` request header. **Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param data_access_set_id: The unique identifier of the data access set you want to retrieve. (required) + :type data_access_set_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_data_access_set_serialize( + data_access_set_id=data_access_set_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataAccessSetDTO", + } + response_data = self.api_client.call_api( + *_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_data_access_set_without_preload_content( + self, + data_access_set_id: Annotated[StrictStr, Field(description="The unique identifier of the data access set you want to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a data access set's details + + Retrieve the details of a specific shareable data access set. You must know the ID of the data access set to retrieve its details. To retrieve data access set IDs, see `GET v1/admin/data-access-sets`. To specify the project in which to retrieve the shareable data access set, provide a project UUID in the `ProjectID` request header. **Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param data_access_set_id: The unique identifier of the data access set you want to retrieve. (required) + :type data_access_set_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_data_access_set_serialize( + data_access_set_id=data_access_set_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataAccessSetDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_data_access_set_serialize( + self, + data_access_set_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if data_access_set_id is not None: + _path_params['dataAccessSetId'] = data_access_set_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/data-access-sets/{dataAccessSetId}', + 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_data_access_sets( + self, + analytic_object_id: Annotated[Optional[StrictStr], Field(description="Specify the analytic object ID to retrieve the shareable data access sets for. Default is all analytic objects.")] = None, + var_with: Annotated[Optional[List[StrictStr]], Field(description="The information about the data access set to include in the request response. * If empty, returns basic information for the data access set, including its unique ID, display name, description, and analytic object ID. * If `details`, returns basic information and property data access information (`propertyAccessConfigs`).")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of data access sets to return. Default is 100. Maximum is 1000.")] = 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, + ) -> GetDataAccessSetsAPIResponseDTO: + """Retrieve a list of all data access sets + + Retrieve a list of all shareable data access sets. Data access sets define the level of access that users have to properties and property values for the analytic object in a permission. Data access sets also grant access to properties of subjects that are referenced by the analytic object in the permission. You can assign data access sets to a permission when creating or updating permissions. To specify the project in which to retrieve the shareable data access sets, provide a project UUID in the `ProjectID` request header. **Note:** * If the number of valid data access sets exceeds the default limit of 100, the response status code is 206. To retrieve more than 100 data access sets, set `limit` to a higher number. * This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param analytic_object_id: Specify the analytic object ID to retrieve the shareable data access sets for. Default is all analytic objects. + :type analytic_object_id: str + :param var_with: The information about the data access set to include in the request response. * If empty, returns basic information for the data access set, including its unique ID, display name, description, and analytic object ID. * If `details`, returns basic information and property data access information (`propertyAccessConfigs`). + :type var_with: List[str] + :param limit: The maximum number of data access sets to return. Default is 100. Maximum is 1000. + :type limit: 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._get_data_access_sets_serialize( + analytic_object_id=analytic_object_id, + var_with=var_with, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDataAccessSetsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_data_access_sets_with_http_info( + self, + analytic_object_id: Annotated[Optional[StrictStr], Field(description="Specify the analytic object ID to retrieve the shareable data access sets for. Default is all analytic objects.")] = None, + var_with: Annotated[Optional[List[StrictStr]], Field(description="The information about the data access set to include in the request response. * If empty, returns basic information for the data access set, including its unique ID, display name, description, and analytic object ID. * If `details`, returns basic information and property data access information (`propertyAccessConfigs`).")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of data access sets to return. Default is 100. Maximum is 1000.")] = 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[GetDataAccessSetsAPIResponseDTO]: + """Retrieve a list of all data access sets + + Retrieve a list of all shareable data access sets. Data access sets define the level of access that users have to properties and property values for the analytic object in a permission. Data access sets also grant access to properties of subjects that are referenced by the analytic object in the permission. You can assign data access sets to a permission when creating or updating permissions. To specify the project in which to retrieve the shareable data access sets, provide a project UUID in the `ProjectID` request header. **Note:** * If the number of valid data access sets exceeds the default limit of 100, the response status code is 206. To retrieve more than 100 data access sets, set `limit` to a higher number. * This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param analytic_object_id: Specify the analytic object ID to retrieve the shareable data access sets for. Default is all analytic objects. + :type analytic_object_id: str + :param var_with: The information about the data access set to include in the request response. * If empty, returns basic information for the data access set, including its unique ID, display name, description, and analytic object ID. * If `details`, returns basic information and property data access information (`propertyAccessConfigs`). + :type var_with: List[str] + :param limit: The maximum number of data access sets to return. Default is 100. Maximum is 1000. + :type limit: 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._get_data_access_sets_serialize( + analytic_object_id=analytic_object_id, + var_with=var_with, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDataAccessSetsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_data_access_sets_without_preload_content( + self, + analytic_object_id: Annotated[Optional[StrictStr], Field(description="Specify the analytic object ID to retrieve the shareable data access sets for. Default is all analytic objects.")] = None, + var_with: Annotated[Optional[List[StrictStr]], Field(description="The information about the data access set to include in the request response. * If empty, returns basic information for the data access set, including its unique ID, display name, description, and analytic object ID. * If `details`, returns basic information and property data access information (`propertyAccessConfigs`).")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of data access sets to return. Default is 100. Maximum is 1000.")] = 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: + """Retrieve a list of all data access sets + + Retrieve a list of all shareable data access sets. Data access sets define the level of access that users have to properties and property values for the analytic object in a permission. Data access sets also grant access to properties of subjects that are referenced by the analytic object in the permission. You can assign data access sets to a permission when creating or updating permissions. To specify the project in which to retrieve the shareable data access sets, provide a project UUID in the `ProjectID` request header. **Note:** * If the number of valid data access sets exceeds the default limit of 100, the response status code is 206. To retrieve more than 100 data access sets, set `limit` to a higher number. * This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param analytic_object_id: Specify the analytic object ID to retrieve the shareable data access sets for. Default is all analytic objects. + :type analytic_object_id: str + :param var_with: The information about the data access set to include in the request response. * If empty, returns basic information for the data access set, including its unique ID, display name, description, and analytic object ID. * If `details`, returns basic information and property data access information (`propertyAccessConfigs`). + :type var_with: List[str] + :param limit: The maximum number of data access sets to return. Default is 100. Maximum is 1000. + :type limit: 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._get_data_access_sets_serialize( + analytic_object_id=analytic_object_id, + var_with=var_with, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDataAccessSetsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_data_access_sets_serialize( + self, + analytic_object_id, + var_with, + limit, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'with': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if analytic_object_id is not None: + + _query_params.append(('analyticObjectId', analytic_object_id)) + + if var_with is not None: + + _query_params.append(('with', var_with)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/data-access-sets', + 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_data_security_objects( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The unique identifiers of the data security objects (analytic objects) to retrieve. Default is all data security objects.")] = None, + include_details: Annotated[Optional[StrictBool], Field(description="If `true`, the response includes the analytic objects (display name, ID, and object type), related objects, securable properties, and securable dimensions. If `false`, the response only includes analytic objects (display name, ID, and object type). Default is `false`.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve data security objects from.")] = 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, + ) -> GetDataSecurityObjectsAPIResponseDTO: + """Retrieve a list of data security objects + + Retrieve the list of available data security objects. Data security objects are analytic objects and their related objects that are available to define permissions' data security profiles. To specify the project in which to retrieve the available data security objects, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param id: The unique identifiers of the data security objects (analytic objects) to retrieve. Default is all data security objects. + :type id: List[str] + :param include_details: If `true`, the response includes the analytic objects (display name, ID, and object type), related objects, securable properties, and securable dimensions. If `false`, the response only includes analytic objects (display name, ID, and object type). Default is `false`. + :type include_details: bool + :param tenant_code: Specify the tenant to retrieve data security objects from. + :type tenant_code: 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_data_security_objects_serialize( + id=id, + include_details=include_details, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDataSecurityObjectsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_data_security_objects_with_http_info( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The unique identifiers of the data security objects (analytic objects) to retrieve. Default is all data security objects.")] = None, + include_details: Annotated[Optional[StrictBool], Field(description="If `true`, the response includes the analytic objects (display name, ID, and object type), related objects, securable properties, and securable dimensions. If `false`, the response only includes analytic objects (display name, ID, and object type). Default is `false`.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve data security objects from.")] = 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[GetDataSecurityObjectsAPIResponseDTO]: + """Retrieve a list of data security objects + + Retrieve the list of available data security objects. Data security objects are analytic objects and their related objects that are available to define permissions' data security profiles. To specify the project in which to retrieve the available data security objects, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param id: The unique identifiers of the data security objects (analytic objects) to retrieve. Default is all data security objects. + :type id: List[str] + :param include_details: If `true`, the response includes the analytic objects (display name, ID, and object type), related objects, securable properties, and securable dimensions. If `false`, the response only includes analytic objects (display name, ID, and object type). Default is `false`. + :type include_details: bool + :param tenant_code: Specify the tenant to retrieve data security objects from. + :type tenant_code: 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_data_security_objects_serialize( + id=id, + include_details=include_details, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDataSecurityObjectsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_data_security_objects_without_preload_content( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The unique identifiers of the data security objects (analytic objects) to retrieve. Default is all data security objects.")] = None, + include_details: Annotated[Optional[StrictBool], Field(description="If `true`, the response includes the analytic objects (display name, ID, and object type), related objects, securable properties, and securable dimensions. If `false`, the response only includes analytic objects (display name, ID, and object type). Default is `false`.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve data security objects from.")] = 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: + """Retrieve a list of data security objects + + Retrieve the list of available data security objects. Data security objects are analytic objects and their related objects that are available to define permissions' data security profiles. To specify the project in which to retrieve the available data security objects, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param id: The unique identifiers of the data security objects (analytic objects) to retrieve. Default is all data security objects. + :type id: List[str] + :param include_details: If `true`, the response includes the analytic objects (display name, ID, and object type), related objects, securable properties, and securable dimensions. If `false`, the response only includes analytic objects (display name, ID, and object type). Default is `false`. + :type include_details: bool + :param tenant_code: Specify the tenant to retrieve data security objects from. + :type tenant_code: 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_data_security_objects_serialize( + id=id, + include_details=include_details, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDataSecurityObjectsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_data_security_objects_serialize( + self, + id, + include_details, + tenant_code, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'id': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if id is not None: + + _query_params.append(('id', id)) + + if include_details is not None: + + _query_params.append(('includeDetails', include_details)) + + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/data-security-objects', + 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_permission( + self, + permission_id: Annotated[StrictStr, Field(description="The unique identifier of the permission you want to retrieve.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a permission from.")] = None, + include_details_with_status: Annotated[Optional[StrictStr], Field(description="If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`.")] = 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, + ) -> PermissionDTO: + """Retrieve a permission's details + + Retrieve the details for a specified permission. To specify the project in which to retrieve the permission, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param permission_id: The unique identifier of the permission you want to retrieve. (required) + :type permission_id: str + :param tenant_code: Specify the tenant to retrieve a permission from. + :type tenant_code: str + :param include_details_with_status: If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`. + :type include_details_with_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_permission_serialize( + permission_id=permission_id, + tenant_code=tenant_code, + include_details_with_status=include_details_with_status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionDTO", + } + response_data = self.api_client.call_api( + *_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_permission_with_http_info( + self, + permission_id: Annotated[StrictStr, Field(description="The unique identifier of the permission you want to retrieve.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a permission from.")] = None, + include_details_with_status: Annotated[Optional[StrictStr], Field(description="If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`.")] = 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[PermissionDTO]: + """Retrieve a permission's details + + Retrieve the details for a specified permission. To specify the project in which to retrieve the permission, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param permission_id: The unique identifier of the permission you want to retrieve. (required) + :type permission_id: str + :param tenant_code: Specify the tenant to retrieve a permission from. + :type tenant_code: str + :param include_details_with_status: If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`. + :type include_details_with_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_permission_serialize( + permission_id=permission_id, + tenant_code=tenant_code, + include_details_with_status=include_details_with_status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionDTO", + } + response_data = self.api_client.call_api( + *_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_permission_without_preload_content( + self, + permission_id: Annotated[StrictStr, Field(description="The unique identifier of the permission you want to retrieve.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a permission from.")] = None, + include_details_with_status: Annotated[Optional[StrictStr], Field(description="If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`.")] = 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: + """Retrieve a permission's details + + Retrieve the details for a specified permission. To specify the project in which to retrieve the permission, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param permission_id: The unique identifier of the permission you want to retrieve. (required) + :type permission_id: str + :param tenant_code: Specify the tenant to retrieve a permission from. + :type tenant_code: str + :param include_details_with_status: If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`. + :type include_details_with_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_permission_serialize( + permission_id=permission_id, + tenant_code=tenant_code, + include_details_with_status=include_details_with_status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_permission_serialize( + self, + permission_id, + tenant_code, + include_details_with_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if permission_id is not None: + _path_params['permissionId'] = permission_id + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if include_details_with_status is not None: + + _query_params.append(('includeDetailsWithStatus', include_details_with_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/permissions/{permissionId}', + 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_permissions( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the permissions from.")] = None, + include_details: Annotated[Optional[StrictBool], Field(description="If `true`, returns the permission's details. If `false`, only returns the permissions' ID, display name, and description. Default is `false`.")] = None, + include_details_with_status: Annotated[Optional[StrictBool], Field(description="If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`.")] = 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, + ) -> GetPermissionsAPIResponseDTO: + """Retrieve a list of all permissions + + Retrieve the full list of user permissions in your tenant. To specify the project in which to retrieve permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param tenant_code: Specify the tenant to retrieve the permissions from. + :type tenant_code: str + :param include_details: If `true`, returns the permission's details. If `false`, only returns the permissions' ID, display name, and description. Default is `false`. + :type include_details: bool + :param include_details_with_status: If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`. + :type include_details_with_status: 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_permissions_serialize( + tenant_code=tenant_code, + include_details=include_details, + include_details_with_status=include_details_with_status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPermissionsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_permissions_with_http_info( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the permissions from.")] = None, + include_details: Annotated[Optional[StrictBool], Field(description="If `true`, returns the permission's details. If `false`, only returns the permissions' ID, display name, and description. Default is `false`.")] = None, + include_details_with_status: Annotated[Optional[StrictBool], Field(description="If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`.")] = 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[GetPermissionsAPIResponseDTO]: + """Retrieve a list of all permissions + + Retrieve the full list of user permissions in your tenant. To specify the project in which to retrieve permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param tenant_code: Specify the tenant to retrieve the permissions from. + :type tenant_code: str + :param include_details: If `true`, returns the permission's details. If `false`, only returns the permissions' ID, display name, and description. Default is `false`. + :type include_details: bool + :param include_details_with_status: If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`. + :type include_details_with_status: 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_permissions_serialize( + tenant_code=tenant_code, + include_details=include_details, + include_details_with_status=include_details_with_status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPermissionsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_permissions_without_preload_content( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the permissions from.")] = None, + include_details: Annotated[Optional[StrictBool], Field(description="If `true`, returns the permission's details. If `false`, only returns the permissions' ID, display name, and description. Default is `false`.")] = None, + include_details_with_status: Annotated[Optional[StrictBool], Field(description="If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`.")] = 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: + """Retrieve a list of all permissions + + Retrieve the full list of user permissions in your tenant. To specify the project in which to retrieve permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param tenant_code: Specify the tenant to retrieve the permissions from. + :type tenant_code: str + :param include_details: If `true`, returns the permission's details. If `false`, only returns the permissions' ID, display name, and description. Default is `false`. + :type include_details: bool + :param include_details_with_status: If `true`, returns the validity statuses for the permission's properties in data access sets and the permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`, doesn't return validity status information. Default is `false`. + :type include_details_with_status: 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_permissions_serialize( + tenant_code=tenant_code, + include_details=include_details, + include_details_with_status=include_details_with_status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPermissionsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_permissions_serialize( + self, + tenant_code, + include_details, + include_details_with_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if include_details is not None: + + _query_params.append(('includeDetails', include_details)) + + if include_details_with_status is not None: + + _query_params.append(('includeDetailsWithStatus', include_details_with_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/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 + ) + + + + + @validate_call + def update_permissions( + self, + permissions_list_dto: PermissionsListDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to update permissions in.")] = 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, + ) -> PermissionBulkOperationResponseDTO: + """Update permissions + + Update existing permissions. To specify the project in which to update permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param permissions_list_dto: (required) + :type permissions_list_dto: PermissionsListDTO + :param tenant_code: Specify the tenant to update permissions in. + :type tenant_code: 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_permissions_serialize( + permissions_list_dto=permissions_list_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionBulkOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_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_permissions_with_http_info( + self, + permissions_list_dto: PermissionsListDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to update permissions in.")] = 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[PermissionBulkOperationResponseDTO]: + """Update permissions + + Update existing permissions. To specify the project in which to update permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param permissions_list_dto: (required) + :type permissions_list_dto: PermissionsListDTO + :param tenant_code: Specify the tenant to update permissions in. + :type tenant_code: 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_permissions_serialize( + permissions_list_dto=permissions_list_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionBulkOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_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_permissions_without_preload_content( + self, + permissions_list_dto: PermissionsListDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to update permissions in.")] = 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 permissions + + Update existing permissions. To specify the project in which to update permissions, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param permissions_list_dto: (required) + :type permissions_list_dto: PermissionsListDTO + :param tenant_code: Specify the tenant to update permissions in. + :type tenant_code: 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_permissions_serialize( + permissions_list_dto=permissions_list_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionBulkOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_permissions_serialize( + self, + permissions_list_dto, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # process the header parameters + # process the form parameters + # process the body parameter + if permissions_list_dto is not None: + _body_params = permissions_list_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='PUT', + resource_path='/v1/admin/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/src/visier.sdk.api.administration/visier/sdk/api/administration/api/production_versions_api.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/production_versions_api.py new file mode 100644 index 000000000..80c4ca2cc --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/production_versions_api.py @@ -0,0 +1,589 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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, StrictInt +from typing import Optional +from typing_extensions import Annotated +from visier.sdk.api.administration.models.get_production_versions_api_response_dto import GetProductionVersionsAPIResponseDTO +from visier.sdk.api.administration.models.production_versions_api_operation_request_dto import ProductionVersionsAPIOperationRequestDTO +from visier.sdk.api.administration.models.production_versions_api_operation_response_dto import ProductionVersionsAPIOperationResponseDTO + +from visier.sdk.api.administration.api_client import ApiClient, RequestSerialized +from visier.sdk.api.administration.api_response import ApiResponse +from visier.sdk.api.administration.rest import RESTResponseType + + +class ProductionVersionsApi: + """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_production_versions( + self, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of production versions to return. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first production version to return. Default is 0.")] = 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, + ) -> GetProductionVersionsAPIResponseDTO: + """Retrieve a list of all production versions + + Retrieve a list of all projects that were published to production, ordered from latest published to earliest published.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param limit: The maximum number of production versions to return. Default is 400. + :type limit: int + :param start: The starting index of the first production version to return. Default is 0. + :type start: 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._get_production_versions_serialize( + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProductionVersionsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_production_versions_with_http_info( + self, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of production versions to return. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first production version to return. Default is 0.")] = 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[GetProductionVersionsAPIResponseDTO]: + """Retrieve a list of all production versions + + Retrieve a list of all projects that were published to production, ordered from latest published to earliest published.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param limit: The maximum number of production versions to return. Default is 400. + :type limit: int + :param start: The starting index of the first production version to return. Default is 0. + :type start: 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._get_production_versions_serialize( + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProductionVersionsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_production_versions_without_preload_content( + self, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of production versions to return. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first production version to return. Default is 0.")] = 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: + """Retrieve a list of all production versions + + Retrieve a list of all projects that were published to production, ordered from latest published to earliest published.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param limit: The maximum number of production versions to return. Default is 400. + :type limit: int + :param start: The starting index of the first production version to return. Default is 0. + :type start: 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._get_production_versions_serialize( + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProductionVersionsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_production_versions_serialize( + self, + limit, + start, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/admin/production-versions', + 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 post_production_versions( + self, + production_versions_api_operation_request_dto: ProductionVersionsAPIOperationRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ProductionVersionsAPIOperationResponseDTO: + """Perform an operation on production versions + + Perform operations on production versions, such as exporting a production project's committed changes. If exporting, please specify `Accept: application/zip, application/json` in the header.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param production_versions_api_operation_request_dto: (required) + :type production_versions_api_operation_request_dto: ProductionVersionsAPIOperationRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_production_versions_serialize( + production_versions_api_operation_request_dto=production_versions_api_operation_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProductionVersionsAPIOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_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 post_production_versions_with_http_info( + self, + production_versions_api_operation_request_dto: ProductionVersionsAPIOperationRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ProductionVersionsAPIOperationResponseDTO]: + """Perform an operation on production versions + + Perform operations on production versions, such as exporting a production project's committed changes. If exporting, please specify `Accept: application/zip, application/json` in the header.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param production_versions_api_operation_request_dto: (required) + :type production_versions_api_operation_request_dto: ProductionVersionsAPIOperationRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_production_versions_serialize( + production_versions_api_operation_request_dto=production_versions_api_operation_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProductionVersionsAPIOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_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 post_production_versions_without_preload_content( + self, + production_versions_api_operation_request_dto: ProductionVersionsAPIOperationRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Perform an operation on production versions + + Perform operations on production versions, such as exporting a production project's committed changes. If exporting, please specify `Accept: application/zip, application/json` in the header.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param production_versions_api_operation_request_dto: (required) + :type production_versions_api_operation_request_dto: ProductionVersionsAPIOperationRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_production_versions_serialize( + production_versions_api_operation_request_dto=production_versions_api_operation_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProductionVersionsAPIOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_production_versions_serialize( + self, + production_versions_api_operation_request_dto, + _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]] = {} + _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 production_versions_api_operation_request_dto is not None: + _body_params = production_versions_api_operation_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v1alpha/admin/production-versions', + 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/src/visier.sdk.api.administration/visier/sdk/api/administration/api/profiles_api.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/profiles_api.py new file mode 100644 index 000000000..94bf753af --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/profiles_api.py @@ -0,0 +1,2711 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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 visier.sdk.api.administration.models.accessible_tenant_profile_assignment_request_dto import AccessibleTenantProfileAssignmentRequestDTO +from visier.sdk.api.administration.models.accessible_tenant_profile_assignment_response_dto import AccessibleTenantProfileAssignmentResponseDTO +from visier.sdk.api.administration.models.accessible_tenant_profile_revoke_request_dto import AccessibleTenantProfileRevokeRequestDTO +from visier.sdk.api.administration.models.accessible_tenant_profile_revoke_response_dto import AccessibleTenantProfileRevokeResponseDTO +from visier.sdk.api.administration.models.all_profile_assigned_for_accessible_tenant_dto import AllProfileAssignedForAccessibleTenantDTO +from visier.sdk.api.administration.models.all_profile_assigned_for_local_tenant_dto import AllProfileAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.local_tenant_profile_assignment_request_dto import LocalTenantProfileAssignmentRequestDTO +from visier.sdk.api.administration.models.local_tenant_profile_assignment_response_dto import LocalTenantProfileAssignmentResponseDTO +from visier.sdk.api.administration.models.local_tenant_profile_revoke_request_dto import LocalTenantProfileRevokeRequestDTO +from visier.sdk.api.administration.models.local_tenant_profile_revoke_response_dto import LocalTenantProfileRevokeResponseDTO +from visier.sdk.api.administration.models.profile_get_api_response_dto import ProfileGetAPIResponseDTO +from visier.sdk.api.administration.models.profiles_get_api_response_dto import ProfilesGetAPIResponseDTO + +from visier.sdk.api.administration.api_client import ApiClient, RequestSerialized +from visier.sdk.api.administration.api_response import ApiResponse +from visier.sdk.api.administration.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 assign_analytic_profile( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to assign.")], + accessible_tenant_profile_assignment_request_dto: AccessibleTenantProfileAssignmentRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AccessibleTenantProfileAssignmentResponseDTO: + """Assign an analytic tenant profile to administrating tenant users + + Assign an analytic tenant profile to a list of administrating tenant users for a list of analytic tenants. **Note:** - Administrating tenants only. - You can revoke a profile from a user with this request by updating the validityEndTime to be \"less than\" the current time (that is, in the past). + + :param profile_id: The ID of the profile to assign. (required) + :type profile_id: str + :param accessible_tenant_profile_assignment_request_dto: (required) + :type accessible_tenant_profile_assignment_request_dto: AccessibleTenantProfileAssignmentRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._assign_analytic_profile_serialize( + profile_id=profile_id, + accessible_tenant_profile_assignment_request_dto=accessible_tenant_profile_assignment_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AccessibleTenantProfileAssignmentResponseDTO", + } + response_data = self.api_client.call_api( + *_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 assign_analytic_profile_with_http_info( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to assign.")], + accessible_tenant_profile_assignment_request_dto: AccessibleTenantProfileAssignmentRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[AccessibleTenantProfileAssignmentResponseDTO]: + """Assign an analytic tenant profile to administrating tenant users + + Assign an analytic tenant profile to a list of administrating tenant users for a list of analytic tenants. **Note:** - Administrating tenants only. - You can revoke a profile from a user with this request by updating the validityEndTime to be \"less than\" the current time (that is, in the past). + + :param profile_id: The ID of the profile to assign. (required) + :type profile_id: str + :param accessible_tenant_profile_assignment_request_dto: (required) + :type accessible_tenant_profile_assignment_request_dto: AccessibleTenantProfileAssignmentRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._assign_analytic_profile_serialize( + profile_id=profile_id, + accessible_tenant_profile_assignment_request_dto=accessible_tenant_profile_assignment_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AccessibleTenantProfileAssignmentResponseDTO", + } + response_data = self.api_client.call_api( + *_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 assign_analytic_profile_without_preload_content( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to assign.")], + accessible_tenant_profile_assignment_request_dto: AccessibleTenantProfileAssignmentRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 an analytic tenant profile to administrating tenant users + + Assign an analytic tenant profile to a list of administrating tenant users for a list of analytic tenants. **Note:** - Administrating tenants only. - You can revoke a profile from a user with this request by updating the validityEndTime to be \"less than\" the current time (that is, in the past). + + :param profile_id: The ID of the profile to assign. (required) + :type profile_id: str + :param accessible_tenant_profile_assignment_request_dto: (required) + :type accessible_tenant_profile_assignment_request_dto: AccessibleTenantProfileAssignmentRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._assign_analytic_profile_serialize( + profile_id=profile_id, + accessible_tenant_profile_assignment_request_dto=accessible_tenant_profile_assignment_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AccessibleTenantProfileAssignmentResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _assign_analytic_profile_serialize( + self, + profile_id, + accessible_tenant_profile_assignment_request_dto, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if profile_id is not None: + _path_params['profileId'] = profile_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if accessible_tenant_profile_assignment_request_dto is not None: + _body_params = accessible_tenant_profile_assignment_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='PUT', + resource_path='/v1/admin/profiles/accessible-tenants/{profileId}/assign', + 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 assign_profile( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to assign to a list of users.")], + local_tenant_profile_assignment_request_dto: LocalTenantProfileAssignmentRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> LocalTenantProfileAssignmentResponseDTO: + """Assign a profile to a list of users + + Assign a profile to a list of users. For administrating tenants, this assigns an administrating tenant profile to a list of users. + + :param profile_id: The ID of the profile to assign to a list of users. (required) + :type profile_id: str + :param local_tenant_profile_assignment_request_dto: (required) + :type local_tenant_profile_assignment_request_dto: LocalTenantProfileAssignmentRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._assign_profile_serialize( + profile_id=profile_id, + local_tenant_profile_assignment_request_dto=local_tenant_profile_assignment_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LocalTenantProfileAssignmentResponseDTO", + } + response_data = self.api_client.call_api( + *_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 assign_profile_with_http_info( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to assign to a list of users.")], + local_tenant_profile_assignment_request_dto: LocalTenantProfileAssignmentRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[LocalTenantProfileAssignmentResponseDTO]: + """Assign a profile to a list of users + + Assign a profile to a list of users. For administrating tenants, this assigns an administrating tenant profile to a list of users. + + :param profile_id: The ID of the profile to assign to a list of users. (required) + :type profile_id: str + :param local_tenant_profile_assignment_request_dto: (required) + :type local_tenant_profile_assignment_request_dto: LocalTenantProfileAssignmentRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._assign_profile_serialize( + profile_id=profile_id, + local_tenant_profile_assignment_request_dto=local_tenant_profile_assignment_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LocalTenantProfileAssignmentResponseDTO", + } + response_data = self.api_client.call_api( + *_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 assign_profile_without_preload_content( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to assign to a list of users.")], + local_tenant_profile_assignment_request_dto: LocalTenantProfileAssignmentRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 a profile to a list of users + + Assign a profile to a list of users. For administrating tenants, this assigns an administrating tenant profile to a list of users. + + :param profile_id: The ID of the profile to assign to a list of users. (required) + :type profile_id: str + :param local_tenant_profile_assignment_request_dto: (required) + :type local_tenant_profile_assignment_request_dto: LocalTenantProfileAssignmentRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._assign_profile_serialize( + profile_id=profile_id, + local_tenant_profile_assignment_request_dto=local_tenant_profile_assignment_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LocalTenantProfileAssignmentResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _assign_profile_serialize( + self, + profile_id, + local_tenant_profile_assignment_request_dto, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if profile_id is not None: + _path_params['profileId'] = profile_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if local_tenant_profile_assignment_request_dto is not None: + _body_params = local_tenant_profile_assignment_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='PUT', + resource_path='/v1/admin/profiles/{profileId}/assign', + 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_all_profiles( + 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, + ) -> ProfilesGetAPIResponseDTO: + """Retrieve a list of all profiles + + Get a list of all available profiles. For administrating tenants, this retrieves all administrating tenant profiles. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_all_profiles_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProfilesGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_all_profiles_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[ProfilesGetAPIResponseDTO]: + """Retrieve a list of all profiles + + Get a list of all available profiles. For administrating tenants, this retrieves all administrating tenant profiles. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_all_profiles_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProfilesGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_all_profiles_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: + """Retrieve a list of all profiles + + Get a list of all available profiles. For administrating tenants, this retrieves all administrating tenant profiles. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_all_profiles_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProfilesGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_all_profiles_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/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_analytic_profile_detail( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to retrieve details for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ProfileGetAPIResponseDTO: + """Retrieve the details of an analytic tenant profile + + Get the details of an analytic tenant profile. **Note:** Administrating tenants only. + + :param profile_id: The ID of the profile to retrieve details for. (required) + :type profile_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_analytic_profile_detail_serialize( + profile_id=profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProfileGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_analytic_profile_detail_with_http_info( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to retrieve details for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ProfileGetAPIResponseDTO]: + """Retrieve the details of an analytic tenant profile + + Get the details of an analytic tenant profile. **Note:** Administrating tenants only. + + :param profile_id: The ID of the profile to retrieve details for. (required) + :type profile_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_analytic_profile_detail_serialize( + profile_id=profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProfileGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_analytic_profile_detail_without_preload_content( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to retrieve details for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve the details of an analytic tenant profile + + Get the details of an analytic tenant profile. **Note:** Administrating tenants only. + + :param profile_id: The ID of the profile to retrieve details for. (required) + :type profile_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_analytic_profile_detail_serialize( + profile_id=profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProfileGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_analytic_profile_detail_serialize( + self, + profile_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if profile_id is not None: + _path_params['profileId'] = profile_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/profiles/accessible-tenants/{profileId}', + 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_analytic_profiles( + 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, + ) -> ProfilesGetAPIResponseDTO: + """Retrieve a list of analytic tenant profiles + + Retrieve a list of profiles available for analytic tenants. **Note:** Administrating tenants only. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_analytic_profiles_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProfilesGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_analytic_profiles_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[ProfilesGetAPIResponseDTO]: + """Retrieve a list of analytic tenant profiles + + Retrieve a list of profiles available for analytic tenants. **Note:** Administrating tenants only. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_analytic_profiles_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProfilesGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_analytic_profiles_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: + """Retrieve a list of analytic tenant profiles + + Retrieve a list of profiles available for analytic tenants. **Note:** Administrating tenants only. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_analytic_profiles_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProfilesGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_analytic_profiles_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/profiles/accessible-tenants', + 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_analytic_user_profile( + self, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AllProfileAssignedForAccessibleTenantDTO: + """Retrieve an administrating tenant user's analytic tenant profiles + + Retrieve a specified user's assigned profiles for analytic tenants. **Note:** Administrating tenants only. + + :param user_id: The ID of the user you want to retrieve. (required) + :type user_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_analytic_user_profile_serialize( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllProfileAssignedForAccessibleTenantDTO", + } + response_data = self.api_client.call_api( + *_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_analytic_user_profile_with_http_info( + self, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[AllProfileAssignedForAccessibleTenantDTO]: + """Retrieve an administrating tenant user's analytic tenant profiles + + Retrieve a specified user's assigned profiles for analytic tenants. **Note:** Administrating tenants only. + + :param user_id: The ID of the user you want to retrieve. (required) + :type user_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_analytic_user_profile_serialize( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllProfileAssignedForAccessibleTenantDTO", + } + response_data = self.api_client.call_api( + *_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_analytic_user_profile_without_preload_content( + self, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve an administrating tenant user's analytic tenant profiles + + Retrieve a specified user's assigned profiles for analytic tenants. **Note:** Administrating tenants only. + + :param user_id: The ID of the user you want to retrieve. (required) + :type user_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_analytic_user_profile_serialize( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllProfileAssignedForAccessibleTenantDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_analytic_user_profile_serialize( + self, + user_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if user_id is not None: + _path_params['userId'] = user_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/users/{userId}/accessible-tenant-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_detail( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to retrieve details for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ProfileGetAPIResponseDTO: + """Retrieve the details of a profile + + Get the details of a specific profile. For administrating tenants, this retrieves the details of administrating tenant profiles. + + :param profile_id: The ID of the profile to retrieve details for. (required) + :type profile_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_detail_serialize( + profile_id=profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProfileGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_detail_with_http_info( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to retrieve details for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ProfileGetAPIResponseDTO]: + """Retrieve the details of a profile + + Get the details of a specific profile. For administrating tenants, this retrieves the details of administrating tenant profiles. + + :param profile_id: The ID of the profile to retrieve details for. (required) + :type profile_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_detail_serialize( + profile_id=profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProfileGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_detail_without_preload_content( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to retrieve details for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve the details of a profile + + Get the details of a specific profile. For administrating tenants, this retrieves the details of administrating tenant profiles. + + :param profile_id: The ID of the profile to retrieve details for. (required) + :type profile_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_detail_serialize( + profile_id=profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProfileGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_profile_detail_serialize( + self, + profile_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if profile_id is not None: + _path_params['profileId'] = profile_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/profiles/{profileId}', + 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, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AllProfileAssignedForLocalTenantDTO: + """Retrieve a user's profiles + + Retrieve a specified user's assigned profiles. For administrating tenants, this retrieves a user's administrating tenant profiles. + + :param user_id: The ID of the user you want to retrieve. (required) + :type user_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( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllProfileAssignedForLocalTenantDTO", + } + response_data = self.api_client.call_api( + *_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, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[AllProfileAssignedForLocalTenantDTO]: + """Retrieve a user's profiles + + Retrieve a specified user's assigned profiles. For administrating tenants, this retrieves a user's administrating tenant profiles. + + :param user_id: The ID of the user you want to retrieve. (required) + :type user_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( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllProfileAssignedForLocalTenantDTO", + } + response_data = self.api_client.call_api( + *_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, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a user's profiles + + Retrieve a specified user's assigned profiles. For administrating tenants, this retrieves a user's administrating tenant profiles. + + :param user_id: The ID of the user you want to retrieve. (required) + :type user_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( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllProfileAssignedForLocalTenantDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_profile_serialize( + self, + user_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if user_id is not None: + _path_params['userId'] = user_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/users/{userId}/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 remove_analytic_profile( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to remove.")], + accessible_tenant_profile_revoke_request_dto: AccessibleTenantProfileRevokeRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AccessibleTenantProfileRevokeResponseDTO: + """Remove an analytic tenant profile from administrating tenant users + + Remove an analytic tenant profile from a list of administrating tenant users for a list of analytic tenants. **Note:** Administrating tenants only. + + :param profile_id: The ID of the profile to remove. (required) + :type profile_id: str + :param accessible_tenant_profile_revoke_request_dto: (required) + :type accessible_tenant_profile_revoke_request_dto: AccessibleTenantProfileRevokeRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_analytic_profile_serialize( + profile_id=profile_id, + accessible_tenant_profile_revoke_request_dto=accessible_tenant_profile_revoke_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AccessibleTenantProfileRevokeResponseDTO", + } + response_data = self.api_client.call_api( + *_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 remove_analytic_profile_with_http_info( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to remove.")], + accessible_tenant_profile_revoke_request_dto: AccessibleTenantProfileRevokeRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[AccessibleTenantProfileRevokeResponseDTO]: + """Remove an analytic tenant profile from administrating tenant users + + Remove an analytic tenant profile from a list of administrating tenant users for a list of analytic tenants. **Note:** Administrating tenants only. + + :param profile_id: The ID of the profile to remove. (required) + :type profile_id: str + :param accessible_tenant_profile_revoke_request_dto: (required) + :type accessible_tenant_profile_revoke_request_dto: AccessibleTenantProfileRevokeRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_analytic_profile_serialize( + profile_id=profile_id, + accessible_tenant_profile_revoke_request_dto=accessible_tenant_profile_revoke_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AccessibleTenantProfileRevokeResponseDTO", + } + response_data = self.api_client.call_api( + *_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 remove_analytic_profile_without_preload_content( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to remove.")], + accessible_tenant_profile_revoke_request_dto: AccessibleTenantProfileRevokeRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Remove an analytic tenant profile from administrating tenant users + + Remove an analytic tenant profile from a list of administrating tenant users for a list of analytic tenants. **Note:** Administrating tenants only. + + :param profile_id: The ID of the profile to remove. (required) + :type profile_id: str + :param accessible_tenant_profile_revoke_request_dto: (required) + :type accessible_tenant_profile_revoke_request_dto: AccessibleTenantProfileRevokeRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_analytic_profile_serialize( + profile_id=profile_id, + accessible_tenant_profile_revoke_request_dto=accessible_tenant_profile_revoke_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AccessibleTenantProfileRevokeResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_analytic_profile_serialize( + self, + profile_id, + accessible_tenant_profile_revoke_request_dto, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if profile_id is not None: + _path_params['profileId'] = profile_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if accessible_tenant_profile_revoke_request_dto is not None: + _body_params = accessible_tenant_profile_revoke_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='DELETE', + resource_path='/v1/admin/profiles/accessible-tenants/{profileId}/remove', + 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 remove_profile( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to remove to a list of users.")], + local_tenant_profile_revoke_request_dto: LocalTenantProfileRevokeRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> LocalTenantProfileRevokeResponseDTO: + """Remove a profile from a list of users + + Remove a profile from a list of users. For administrating tenants, this removes an administrating tenant profile from a list of users. + + :param profile_id: The ID of the profile to remove to a list of users. (required) + :type profile_id: str + :param local_tenant_profile_revoke_request_dto: (required) + :type local_tenant_profile_revoke_request_dto: LocalTenantProfileRevokeRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_profile_serialize( + profile_id=profile_id, + local_tenant_profile_revoke_request_dto=local_tenant_profile_revoke_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LocalTenantProfileRevokeResponseDTO", + } + response_data = self.api_client.call_api( + *_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 remove_profile_with_http_info( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to remove to a list of users.")], + local_tenant_profile_revoke_request_dto: LocalTenantProfileRevokeRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[LocalTenantProfileRevokeResponseDTO]: + """Remove a profile from a list of users + + Remove a profile from a list of users. For administrating tenants, this removes an administrating tenant profile from a list of users. + + :param profile_id: The ID of the profile to remove to a list of users. (required) + :type profile_id: str + :param local_tenant_profile_revoke_request_dto: (required) + :type local_tenant_profile_revoke_request_dto: LocalTenantProfileRevokeRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_profile_serialize( + profile_id=profile_id, + local_tenant_profile_revoke_request_dto=local_tenant_profile_revoke_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LocalTenantProfileRevokeResponseDTO", + } + response_data = self.api_client.call_api( + *_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 remove_profile_without_preload_content( + self, + profile_id: Annotated[StrictStr, Field(description="The ID of the profile to remove to a list of users.")], + local_tenant_profile_revoke_request_dto: LocalTenantProfileRevokeRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Remove a profile from a list of users + + Remove a profile from a list of users. For administrating tenants, this removes an administrating tenant profile from a list of users. + + :param profile_id: The ID of the profile to remove to a list of users. (required) + :type profile_id: str + :param local_tenant_profile_revoke_request_dto: (required) + :type local_tenant_profile_revoke_request_dto: LocalTenantProfileRevokeRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_profile_serialize( + profile_id=profile_id, + local_tenant_profile_revoke_request_dto=local_tenant_profile_revoke_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LocalTenantProfileRevokeResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_profile_serialize( + self, + profile_id, + local_tenant_profile_revoke_request_dto, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if profile_id is not None: + _path_params['profileId'] = profile_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if local_tenant_profile_revoke_request_dto is not None: + _body_params = local_tenant_profile_revoke_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='DELETE', + resource_path='/v1/admin/profiles/{profileId}/remove', + 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/src/visier.sdk.api.administration/visier/sdk/api/administration/api/projects_api.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/projects_api.py new file mode 100644 index 000000000..be933bb7c --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/projects_api.py @@ -0,0 +1,1721 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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, StrictInt, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from visier.sdk.api.administration.models.get_project_commits_api_response_dto import GetProjectCommitsAPIResponseDTO +from visier.sdk.api.administration.models.get_projects_api_response_dto import GetProjectsAPIResponseDTO +from visier.sdk.api.administration.models.project_dto import ProjectDTO +from visier.sdk.api.administration.models.project_operation_request_dto import ProjectOperationRequestDTO +from visier.sdk.api.administration.models.project_operation_response_dto import ProjectOperationResponseDTO + +from visier.sdk.api.administration.api_client import ApiClient, RequestSerialized +from visier.sdk.api.administration.api_response import ApiResponse +from visier.sdk.api.administration.rest import RESTResponseType + + +class ProjectsApi: + """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_project( + self, + project_dto: ProjectDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ProjectDTO: + """Create a new draft project + + Create a new draft project in the tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_dto: (required) + :type project_dto: ProjectDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_project_serialize( + project_dto=project_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProjectDTO", + } + response_data = self.api_client.call_api( + *_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_project_with_http_info( + self, + project_dto: ProjectDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ProjectDTO]: + """Create a new draft project + + Create a new draft project in the tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_dto: (required) + :type project_dto: ProjectDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_project_serialize( + project_dto=project_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProjectDTO", + } + response_data = self.api_client.call_api( + *_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_project_without_preload_content( + self, + project_dto: ProjectDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 draft project + + Create a new draft project in the tenant.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_dto: (required) + :type project_dto: ProjectDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_project_serialize( + project_dto=project_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProjectDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_project_serialize( + self, + project_dto, + _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]] = {} + _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 project_dto is not None: + _body_params = project_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v1alpha/admin/projects', + 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_project( + self, + project_id: Annotated[StrictStr, Field(description="The unique ID of the draft project to be deleted.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ProjectDTO: + """Delete a draft project + + Delete a draft project in the tenant. The project will first be archived if applicable.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_id: The unique ID of the draft project to be deleted. (required) + :type project_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_project_serialize( + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProjectDTO", + } + response_data = self.api_client.call_api( + *_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_project_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="The unique ID of the draft project to be deleted.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ProjectDTO]: + """Delete a draft project + + Delete a draft project in the tenant. The project will first be archived if applicable.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_id: The unique ID of the draft project to be deleted. (required) + :type project_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_project_serialize( + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProjectDTO", + } + response_data = self.api_client.call_api( + *_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_project_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="The unique ID of the draft project to be deleted.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 draft project + + Delete a draft project in the tenant. The project will first be archived if applicable.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_id: The unique ID of the draft project to be deleted. (required) + :type project_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_project_serialize( + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProjectDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_project_serialize( + self, + project_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1alpha/admin/projects/{projectId}', + 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_project( + self, + project_id: StrictStr, + var_with: Annotated[Optional[List[StrictStr]], Field(description="The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100.")] = 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, + ) -> ProjectDTO: + """Retrieve a draft project's information + + Retrieve the details of an accessible draft project. You must know the ID of the project to retrieve its details. To retrieve draft project IDs, see `GET v1alpha/admin/projects`. A project is accessible if it is owned by the user or shared to the user.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_id: (required) + :type project_id: str + :param var_with: The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects. + :type var_with: List[str] + :param limit: The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100. + :type limit: 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._get_project_serialize( + project_id=project_id, + var_with=var_with, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProjectDTO", + } + response_data = self.api_client.call_api( + *_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_project_with_http_info( + self, + project_id: StrictStr, + var_with: Annotated[Optional[List[StrictStr]], Field(description="The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100.")] = 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[ProjectDTO]: + """Retrieve a draft project's information + + Retrieve the details of an accessible draft project. You must know the ID of the project to retrieve its details. To retrieve draft project IDs, see `GET v1alpha/admin/projects`. A project is accessible if it is owned by the user or shared to the user.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_id: (required) + :type project_id: str + :param var_with: The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects. + :type var_with: List[str] + :param limit: The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100. + :type limit: 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._get_project_serialize( + project_id=project_id, + var_with=var_with, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProjectDTO", + } + response_data = self.api_client.call_api( + *_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_project_without_preload_content( + self, + project_id: StrictStr, + var_with: Annotated[Optional[List[StrictStr]], Field(description="The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100.")] = 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: + """Retrieve a draft project's information + + Retrieve the details of an accessible draft project. You must know the ID of the project to retrieve its details. To retrieve draft project IDs, see `GET v1alpha/admin/projects`. A project is accessible if it is owned by the user or shared to the user.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_id: (required) + :type project_id: str + :param var_with: The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects. + :type var_with: List[str] + :param limit: The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100. + :type limit: 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._get_project_serialize( + project_id=project_id, + var_with=var_with, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProjectDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_project_serialize( + self, + project_id, + var_with, + limit, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'with': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if var_with is not None: + + _query_params.append(('with', var_with)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/admin/projects/{projectId}', + 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_project_commits( + self, + project_id: Annotated[StrictStr, Field(description="The unique identifier of the draft project you want to retrieve the committed changes for.")], + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of committed changes to return. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first committed change to return. Default is 0.")] = 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, + ) -> GetProjectCommitsAPIResponseDTO: + """Retrieve a list of all committed changes in a project + + Retrieve the full list of all committed changes in a project.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_id: The unique identifier of the draft project you want to retrieve the committed changes for. (required) + :type project_id: str + :param limit: The maximum number of committed changes to return. Default is 400. + :type limit: int + :param start: The starting index of the first committed change to return. Default is 0. + :type start: 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._get_project_commits_serialize( + project_id=project_id, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProjectCommitsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_project_commits_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="The unique identifier of the draft project you want to retrieve the committed changes for.")], + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of committed changes to return. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first committed change to return. Default is 0.")] = 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[GetProjectCommitsAPIResponseDTO]: + """Retrieve a list of all committed changes in a project + + Retrieve the full list of all committed changes in a project.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_id: The unique identifier of the draft project you want to retrieve the committed changes for. (required) + :type project_id: str + :param limit: The maximum number of committed changes to return. Default is 400. + :type limit: int + :param start: The starting index of the first committed change to return. Default is 0. + :type start: 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._get_project_commits_serialize( + project_id=project_id, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProjectCommitsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_project_commits_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="The unique identifier of the draft project you want to retrieve the committed changes for.")], + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of committed changes to return. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first committed change to return. Default is 0.")] = 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: + """Retrieve a list of all committed changes in a project + + Retrieve the full list of all committed changes in a project.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_id: The unique identifier of the draft project you want to retrieve the committed changes for. (required) + :type project_id: str + :param limit: The maximum number of committed changes to return. Default is 400. + :type limit: int + :param start: The starting index of the first committed change to return. Default is 0. + :type start: 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._get_project_commits_serialize( + project_id=project_id, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProjectCommitsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_project_commits_serialize( + self, + project_id, + limit, + start, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/admin/projects/{projectId}/commits', + 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_projects( + self, + var_with: Annotated[Optional[List[StrictStr]], Field(description="The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100.")] = 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, + ) -> GetProjectsAPIResponseDTO: + """Retrieve a list of draft projects accessible to the user + + Get a list of draft projects accessible to the requesting user in the tenant. A project is accessible if it is owned by the user or shared to the user.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param var_with: The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects. + :type var_with: List[str] + :param limit: The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100. + :type limit: 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._get_projects_serialize( + var_with=var_with, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProjectsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_projects_with_http_info( + self, + var_with: Annotated[Optional[List[StrictStr]], Field(description="The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100.")] = 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[GetProjectsAPIResponseDTO]: + """Retrieve a list of draft projects accessible to the user + + Get a list of draft projects accessible to the requesting user in the tenant. A project is accessible if it is owned by the user or shared to the user.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param var_with: The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects. + :type var_with: List[str] + :param limit: The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100. + :type limit: 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._get_projects_serialize( + var_with=var_with, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProjectsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_projects_without_preload_content( + self, + var_with: Annotated[Optional[List[StrictStr]], Field(description="The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100.")] = 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: + """Retrieve a list of draft projects accessible to the user + + Get a list of draft projects accessible to the requesting user in the tenant. A project is accessible if it is owned by the user or shared to the user.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param var_with: The types of draft projects to include in the request response. * If empty, returns all the `Open` draft projects. * If `Open`, returns all Open draft projects. * If `Approval`, returns all draft projects in the approval stage. Changes cannot made in Approval projects. * If `Rejected`, returns all draft projects that have been rejected. Changes cannot be committed in Rejected projects. * If `Archived`, returns all draft projects that have been archived. Changes cannot be committed in Archived projects. + :type var_with: List[str] + :param limit: The number of projects to return per type. The maximum number of projects to retrieve per type is 1000. The default is 100. + :type limit: 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._get_projects_serialize( + var_with=var_with, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProjectsAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_projects_serialize( + self, + var_with, + limit, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'with': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if var_with is not None: + + _query_params.append(('with', var_with)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/admin/projects', + 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 run_project_operation( + self, + project_id: StrictStr, + project_operation_request_dto: ProjectOperationRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ProjectOperationResponseDTO: + """Perform an operation on a draft project + + Perform operations on a draft project. The following operations are supported: * `commitAndPublish`: Commits project changes and publishes the project to production.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_id: (required) + :type project_id: str + :param project_operation_request_dto: (required) + :type project_operation_request_dto: ProjectOperationRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._run_project_operation_serialize( + project_id=project_id, + project_operation_request_dto=project_operation_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProjectOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_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 run_project_operation_with_http_info( + self, + project_id: StrictStr, + project_operation_request_dto: ProjectOperationRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ProjectOperationResponseDTO]: + """Perform an operation on a draft project + + Perform operations on a draft project. The following operations are supported: * `commitAndPublish`: Commits project changes and publishes the project to production.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_id: (required) + :type project_id: str + :param project_operation_request_dto: (required) + :type project_operation_request_dto: ProjectOperationRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._run_project_operation_serialize( + project_id=project_id, + project_operation_request_dto=project_operation_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProjectOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_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 run_project_operation_without_preload_content( + self, + project_id: StrictStr, + project_operation_request_dto: ProjectOperationRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Perform an operation on a draft project + + Perform operations on a draft project. The following operations are supported: * `commitAndPublish`: Commits project changes and publishes the project to production.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param project_id: (required) + :type project_id: str + :param project_operation_request_dto: (required) + :type project_operation_request_dto: ProjectOperationRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._run_project_operation_serialize( + project_id=project_id, + project_operation_request_dto=project_operation_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProjectOperationResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _run_project_operation_serialize( + self, + project_id, + project_operation_request_dto, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if project_operation_request_dto is not None: + _body_params = project_operation_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v1alpha/admin/projects/{projectId}', + 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/src/visier.sdk.api.administration/visier/sdk/api/administration/api/system_status_api.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/system_status_api.py new file mode 100644 index 000000000..ed42c388a --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/system_status_api.py @@ -0,0 +1,522 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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 visier.sdk.api.administration.models.system_status_dto import SystemStatusDTO + +from visier.sdk.api.administration.api_client import ApiClient, RequestSerialized +from visier.sdk.api.administration.api_response import ApiResponse +from visier.sdk.api.administration.rest import RESTResponseType + + +class SystemStatusApi: + """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 post_system_status( + 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, + ) -> SystemStatusDTO: + """Check the overall current status of Visier's systems + + Check the current overall status of Visier's systems. The overall status is one of: * ``UP`` : All systems are operational. * `DOWN`: At least one system is not fully operational. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_system_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SystemStatusDTO", + } + response_data = self.api_client.call_api( + *_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 post_system_status_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[SystemStatusDTO]: + """Check the overall current status of Visier's systems + + Check the current overall status of Visier's systems. The overall status is one of: * ``UP`` : All systems are operational. * `DOWN`: At least one system is not fully operational. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_system_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SystemStatusDTO", + } + response_data = self.api_client.call_api( + *_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 post_system_status_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: + """Check the overall current status of Visier's systems + + Check the current overall status of Visier's systems. The overall status is one of: * ``UP`` : All systems are operational. * `DOWN`: At least one system is not fully operational. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._post_system_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SystemStatusDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_system_status_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/admin/system-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 + ) + + + + + @validate_call + def system_status( + 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, + ) -> SystemStatusDTO: + """Check the overall current status of Visier's systems + + Check the current overall status of Visier's systems. The overall status is one of: * ``UP`` : All systems are operational. * `DOWN`: At least one system is not fully operational. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._system_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SystemStatusDTO", + } + response_data = self.api_client.call_api( + *_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 system_status_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[SystemStatusDTO]: + """Check the overall current status of Visier's systems + + Check the current overall status of Visier's systems. The overall status is one of: * ``UP`` : All systems are operational. * `DOWN`: At least one system is not fully operational. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._system_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SystemStatusDTO", + } + response_data = self.api_client.call_api( + *_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 system_status_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: + """Check the overall current status of Visier's systems + + Check the current overall status of Visier's systems. The overall status is one of: * ``UP`` : All systems are operational. * `DOWN`: At least one system is not fully operational. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._system_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SystemStatusDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _system_status_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/system-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/src/visier.sdk.api.administration/visier/sdk/api/administration/api/tenants_v1_api.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/tenants_v1_api.py new file mode 100644 index 000000000..d5fc3577b --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/tenants_v1_api.py @@ -0,0 +1,2463 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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, StrictInt, StrictStr +from typing import Optional +from typing_extensions import Annotated +from visier.sdk.api.administration.models.all_tenants_status_apidto import AllTenantsStatusAPIDTO +from visier.sdk.api.administration.models.tenant_detail_apidto import TenantDetailAPIDTO +from visier.sdk.api.administration.models.tenant_preview_entries_summary_dto import TenantPreviewEntriesSummaryDTO +from visier.sdk.api.administration.models.tenant_preview_entries_summary_list_dto import TenantPreviewEntriesSummaryListDTO +from visier.sdk.api.administration.models.tenant_provision_apidto import TenantProvisionAPIDTO +from visier.sdk.api.administration.models.tenant_status_apidto import TenantStatusAPIDTO +from visier.sdk.api.administration.models.update_tenant_model import UpdateTenantModel + +from visier.sdk.api.administration.api_client import ApiClient, RequestSerialized +from visier.sdk.api.administration.api_response import ApiResponse +from visier.sdk.api.administration.rest import RESTResponseType + + +class TenantsV1Api: + """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 add_tenant( + self, + tenant_provision_apidto: TenantProvisionAPIDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TenantProvisionAPIDTO: + """Add an analytic tenant + + Prior to processing and loading an analytic tenant's data files, you must provision, or create, that tenant. A provisioned analytic tenant is automatically enabled. If the tenant's data is loaded after provisioning, that data is immediately accessible by their users. Create an analytic tenant and identify the applications assigned to the tenant. Visier organizes content under a set of modules. Contact Visier Support to determine the list of modules allocated to you. + + :param tenant_provision_apidto: (required) + :type tenant_provision_apidto: TenantProvisionAPIDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_tenant_serialize( + tenant_provision_apidto=tenant_provision_apidto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantProvisionAPIDTO", + } + response_data = self.api_client.call_api( + *_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 add_tenant_with_http_info( + self, + tenant_provision_apidto: TenantProvisionAPIDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[TenantProvisionAPIDTO]: + """Add an analytic tenant + + Prior to processing and loading an analytic tenant's data files, you must provision, or create, that tenant. A provisioned analytic tenant is automatically enabled. If the tenant's data is loaded after provisioning, that data is immediately accessible by their users. Create an analytic tenant and identify the applications assigned to the tenant. Visier organizes content under a set of modules. Contact Visier Support to determine the list of modules allocated to you. + + :param tenant_provision_apidto: (required) + :type tenant_provision_apidto: TenantProvisionAPIDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_tenant_serialize( + tenant_provision_apidto=tenant_provision_apidto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantProvisionAPIDTO", + } + response_data = self.api_client.call_api( + *_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 add_tenant_without_preload_content( + self, + tenant_provision_apidto: TenantProvisionAPIDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 an analytic tenant + + Prior to processing and loading an analytic tenant's data files, you must provision, or create, that tenant. A provisioned analytic tenant is automatically enabled. If the tenant's data is loaded after provisioning, that data is immediately accessible by their users. Create an analytic tenant and identify the applications assigned to the tenant. Visier organizes content under a set of modules. Contact Visier Support to determine the list of modules allocated to you. + + :param tenant_provision_apidto: (required) + :type tenant_provision_apidto: TenantProvisionAPIDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_tenant_serialize( + tenant_provision_apidto=tenant_provision_apidto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantProvisionAPIDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_tenant_serialize( + self, + tenant_provision_apidto, + _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]] = {} + _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 tenant_provision_apidto is not None: + _body_params = tenant_provision_apidto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v1/admin/tenants', + 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_tenant( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TenantStatusAPIDTO: + """Deprovision an analytic tenant + + Warning! Deprovisioning an analytic tenant is not reversible. Before deprovisioning, you must disable an analytic tenant. For more information, see **`/v1/admin/tenants/{tenantId}/disable`**. This API removes an analytic tenant permanently from the Visier system. If you are unsure whether an analytic tenant may be re-enabled on any of the Visier modules at any time, you may instead want to disable the analytic tenant. If successful, the response returns the status \"Deprovisioned\". This indicates that the tenant is scheduled for deprovisioning, which may take several days to complete. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[TenantStatusAPIDTO]: + """Deprovision an analytic tenant + + Warning! Deprovisioning an analytic tenant is not reversible. Before deprovisioning, you must disable an analytic tenant. For more information, see **`/v1/admin/tenants/{tenantId}/disable`**. This API removes an analytic tenant permanently from the Visier system. If you are unsure whether an analytic tenant may be re-enabled on any of the Visier modules at any time, you may instead want to disable the analytic tenant. If successful, the response returns the status \"Deprovisioned\". This indicates that the tenant is scheduled for deprovisioning, which may take several days to complete. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Deprovision an analytic tenant + + Warning! Deprovisioning an analytic tenant is not reversible. Before deprovisioning, you must disable an analytic tenant. For more information, see **`/v1/admin/tenants/{tenantId}/disable`**. This API removes an analytic tenant permanently from the Visier system. If you are unsure whether an analytic tenant may be re-enabled on any of the Visier modules at any time, you may instead want to disable the analytic tenant. If successful, the response returns the status \"Deprovisioned\". This indicates that the tenant is scheduled for deprovisioning, which may take several days to complete. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_tenant_serialize( + self, + tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/admin/tenants/{tenantId}', + 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 disable_tenant( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TenantStatusAPIDTO: + """Disable an analytic tenant + + Disable an analytic tenant and remove access to Visier visualizations for the tenant's users. You must disable an analytic tenant before deprovisioning, or removing, it from the system. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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._disable_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_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 disable_tenant_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[TenantStatusAPIDTO]: + """Disable an analytic tenant + + Disable an analytic tenant and remove access to Visier visualizations for the tenant's users. You must disable an analytic tenant before deprovisioning, or removing, it from the system. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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._disable_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_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 disable_tenant_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Disable an analytic tenant + + Disable an analytic tenant and remove access to Visier visualizations for the tenant's users. You must disable an analytic tenant before deprovisioning, or removing, it from the system. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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._disable_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _disable_tenant_serialize( + self, + tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/admin/tenants/{tenantId}/disable', + 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 enable_tenant( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TenantStatusAPIDTO: + """Enable an analytic tenant + + An analytic tenant is enabled when you provision or create the tenant. Use this API to enable a tenant that you have specifically disabled; for example, if you previously did not want that tenant to have access to Visier visualizations, but now do. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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._enable_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_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 enable_tenant_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[TenantStatusAPIDTO]: + """Enable an analytic tenant + + An analytic tenant is enabled when you provision or create the tenant. Use this API to enable a tenant that you have specifically disabled; for example, if you previously did not want that tenant to have access to Visier visualizations, but now do. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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._enable_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_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 enable_tenant_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Enable an analytic tenant + + An analytic tenant is enabled when you provision or create the tenant. Use this API to enable a tenant that you have specifically disabled; for example, if you previously did not want that tenant to have access to Visier visualizations, but now do. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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._enable_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _enable_tenant_serialize( + self, + tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/admin/tenants/{tenantId}/enable', + 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_tenant( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TenantDetailAPIDTO: + """Retrieve an analytic tenant's details + + Retrieve all details for a specified analytic tenant. Doing so allows you to see the current state of the tenant, the content modules assigned to it, and all other relevant details for the tenant. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantDetailAPIDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[TenantDetailAPIDTO]: + """Retrieve an analytic tenant's details + + Retrieve all details for a specified analytic tenant. Doing so allows you to see the current state of the tenant, the content modules assigned to it, and all other relevant details for the tenant. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantDetailAPIDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve an analytic tenant's details + + Retrieve all details for a specified analytic tenant. Doing so allows you to see the current state of the tenant, the content modules assigned to it, and all other relevant details for the tenant. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantDetailAPIDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tenant_serialize( + self, + tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/tenants/{tenantId}', + 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_tenants( + self, + limit: Annotated[Optional[StrictInt], Field(description="The limit of analytic tenant details to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + details: Annotated[Optional[StrictBool], Field(description="If `true`, the response returns information about the data version and modules.")] = 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, + ) -> AllTenantsStatusAPIDTO: + """Retrieve a list of all analytic tenants + + Retrieve the full list of analytic tenants managed by you with their current states and the content modules assigned to them, and all other relevant details for the tenants if requested. + + :param limit: The limit of analytic tenant details to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param details: If `true`, the response returns information about the data version and modules. + :type details: 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_tenants_serialize( + limit=limit, + start=start, + details=details, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllTenantsStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_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_tenants_with_http_info( + self, + limit: Annotated[Optional[StrictInt], Field(description="The limit of analytic tenant details to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + details: Annotated[Optional[StrictBool], Field(description="If `true`, the response returns information about the data version and modules.")] = 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[AllTenantsStatusAPIDTO]: + """Retrieve a list of all analytic tenants + + Retrieve the full list of analytic tenants managed by you with their current states and the content modules assigned to them, and all other relevant details for the tenants if requested. + + :param limit: The limit of analytic tenant details to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param details: If `true`, the response returns information about the data version and modules. + :type details: 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_tenants_serialize( + limit=limit, + start=start, + details=details, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllTenantsStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_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_tenants_without_preload_content( + self, + limit: Annotated[Optional[StrictInt], Field(description="The limit of analytic tenant details to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + details: Annotated[Optional[StrictBool], Field(description="If `true`, the response returns information about the data version and modules.")] = 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: + """Retrieve a list of all analytic tenants + + Retrieve the full list of analytic tenants managed by you with their current states and the content modules assigned to them, and all other relevant details for the tenants if requested. + + :param limit: The limit of analytic tenant details to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param details: If `true`, the response returns information about the data version and modules. + :type details: 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_tenants_serialize( + limit=limit, + start=start, + details=details, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllTenantsStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tenants_serialize( + self, + limit, + start, + details, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + if details is not None: + + _query_params.append(('details', details)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/tenants', + 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_tenant( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant to update.")], + update_tenant_model: UpdateTenantModel, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TenantProvisionAPIDTO: + """Update an analytic tenant + + You may need to update analytic tenants as they grow and as your organization upgrades the content available to them. You may also encounter a scenario where an analytic tenant transitions across different industries. To ensure that the analytic tenant receives accurate benchmarks and predictive functionality, update their industry code in the Visier system. You can use this API to update any field on an analytic tenant, except `tenantCode`. + + :param tenant_id: The ID of the tenant to update. (required) + :type tenant_id: str + :param update_tenant_model: (required) + :type update_tenant_model: UpdateTenantModel + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_tenant_serialize( + tenant_id=tenant_id, + update_tenant_model=update_tenant_model, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantProvisionAPIDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant to update.")], + update_tenant_model: UpdateTenantModel, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[TenantProvisionAPIDTO]: + """Update an analytic tenant + + You may need to update analytic tenants as they grow and as your organization upgrades the content available to them. You may also encounter a scenario where an analytic tenant transitions across different industries. To ensure that the analytic tenant receives accurate benchmarks and predictive functionality, update their industry code in the Visier system. You can use this API to update any field on an analytic tenant, except `tenantCode`. + + :param tenant_id: The ID of the tenant to update. (required) + :type tenant_id: str + :param update_tenant_model: (required) + :type update_tenant_model: UpdateTenantModel + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_tenant_serialize( + tenant_id=tenant_id, + update_tenant_model=update_tenant_model, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantProvisionAPIDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant to update.")], + update_tenant_model: UpdateTenantModel, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 analytic tenant + + You may need to update analytic tenants as they grow and as your organization upgrades the content available to them. You may also encounter a scenario where an analytic tenant transitions across different industries. To ensure that the analytic tenant receives accurate benchmarks and predictive functionality, update their industry code in the Visier system. You can use this API to update any field on an analytic tenant, except `tenantCode`. + + :param tenant_id: The ID of the tenant to update. (required) + :type tenant_id: str + :param update_tenant_model: (required) + :type update_tenant_model: UpdateTenantModel + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_tenant_serialize( + tenant_id=tenant_id, + update_tenant_model=update_tenant_model, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantProvisionAPIDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_tenant_serialize( + self, + tenant_id, + update_tenant_model, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if update_tenant_model is not None: + _body_params = update_tenant_model + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='PUT', + resource_path='/v1/admin/tenants/{tenantId}', + 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 validate_tenant( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TenantPreviewEntriesSummaryDTO: + """Validate an analytic tenant's metric values + + Retrieve the metric values for an individual analytic tenant. The metric values included in the response are the tenant's configured summary metrics. Administrators can configure summary metrics in a project: - Sign in to Visier as an administrator. - In a project, on the navigation bar, click the **Home button**. - Click **Dashboard**, and then click **Edit Summary Metrics**. - Select the metrics that you want to validate, and then close the **Summary Metrics** dialog. - Publish the project to production. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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._validate_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantPreviewEntriesSummaryDTO", + } + response_data = self.api_client.call_api( + *_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 validate_tenant_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[TenantPreviewEntriesSummaryDTO]: + """Validate an analytic tenant's metric values + + Retrieve the metric values for an individual analytic tenant. The metric values included in the response are the tenant's configured summary metrics. Administrators can configure summary metrics in a project: - Sign in to Visier as an administrator. - In a project, on the navigation bar, click the **Home button**. - Click **Dashboard**, and then click **Edit Summary Metrics**. - Select the metrics that you want to validate, and then close the **Summary Metrics** dialog. - Publish the project to production. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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._validate_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantPreviewEntriesSummaryDTO", + } + response_data = self.api_client.call_api( + *_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 validate_tenant_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Validate an analytic tenant's metric values + + Retrieve the metric values for an individual analytic tenant. The metric values included in the response are the tenant's configured summary metrics. Administrators can configure summary metrics in a project: - Sign in to Visier as an administrator. - In a project, on the navigation bar, click the **Home button**. - Click **Dashboard**, and then click **Edit Summary Metrics**. - Select the metrics that you want to validate, and then close the **Summary Metrics** dialog. - Publish the project to production. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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._validate_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantPreviewEntriesSummaryDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _validate_tenant_serialize( + self, + tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/validation/tenants/{tenantId}', + 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 validate_tenants( + self, + limit: Annotated[Optional[StrictInt], Field(description="The limit of analytic tenant details to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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, + ) -> TenantPreviewEntriesSummaryListDTO: + """Validate metric values for all analytic tenants + + As you onboard more analytic tenants, you can validate the data visible to your users to ensure it matches the source systems from which it was exported and that it matches what your expectations are for this data. The metric values included in the response are the tenant's configured summary metrics. Administrators can configure summary metrics in a project: - Sign in to Visier as an administrator. - In a project, on the navigation bar, click the **Home** button. - Click **Dashboard**, and then click **Edit Summary Metrics**. - Select the metrics that you want to validate, and then close the **Summary Metrics** dialog. - Publish the project to production. + + :param limit: The limit of analytic tenant details to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._validate_tenants_serialize( + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantPreviewEntriesSummaryListDTO", + } + response_data = self.api_client.call_api( + *_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 validate_tenants_with_http_info( + self, + limit: Annotated[Optional[StrictInt], Field(description="The limit of analytic tenant details to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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[TenantPreviewEntriesSummaryListDTO]: + """Validate metric values for all analytic tenants + + As you onboard more analytic tenants, you can validate the data visible to your users to ensure it matches the source systems from which it was exported and that it matches what your expectations are for this data. The metric values included in the response are the tenant's configured summary metrics. Administrators can configure summary metrics in a project: - Sign in to Visier as an administrator. - In a project, on the navigation bar, click the **Home** button. - Click **Dashboard**, and then click **Edit Summary Metrics**. - Select the metrics that you want to validate, and then close the **Summary Metrics** dialog. - Publish the project to production. + + :param limit: The limit of analytic tenant details to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._validate_tenants_serialize( + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantPreviewEntriesSummaryListDTO", + } + response_data = self.api_client.call_api( + *_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 validate_tenants_without_preload_content( + self, + limit: Annotated[Optional[StrictInt], Field(description="The limit of analytic tenant details to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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: + """Validate metric values for all analytic tenants + + As you onboard more analytic tenants, you can validate the data visible to your users to ensure it matches the source systems from which it was exported and that it matches what your expectations are for this data. The metric values included in the response are the tenant's configured summary metrics. Administrators can configure summary metrics in a project: - Sign in to Visier as an administrator. - In a project, on the navigation bar, click the **Home** button. - Click **Dashboard**, and then click **Edit Summary Metrics**. - Select the metrics that you want to validate, and then close the **Summary Metrics** dialog. - Publish the project to production. + + :param limit: The limit of analytic tenant details to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._validate_tenants_serialize( + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantPreviewEntriesSummaryListDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _validate_tenants_serialize( + self, + limit, + start, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/validation/tenants', + 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/src/visier.sdk.api.administration/visier/sdk/api/administration/api/tenants_v2_api.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/tenants_v2_api.py new file mode 100644 index 000000000..d8b68ec60 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/tenants_v2_api.py @@ -0,0 +1,1450 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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, StrictInt, StrictStr +from typing import Optional +from typing_extensions import Annotated +from visier.sdk.api.administration.models.mask_message import MaskMessage +from visier.sdk.api.administration.models.tenant_management_api_get_response_dto import TenantManagementAPIGetResponseDTO +from visier.sdk.api.administration.models.tenant_management_api_list_response_dto import TenantManagementAPIListResponseDTO +from visier.sdk.api.administration.models.tenant_management_api_update_request_dto import TenantManagementAPIUpdateRequestDTO +from visier.sdk.api.administration.models.tenant_management_api_update_response_dto import TenantManagementAPIUpdateResponseDTO +from visier.sdk.api.administration.models.tenant_status_apidto import TenantStatusAPIDTO + +from visier.sdk.api.administration.api_client import ApiClient, RequestSerialized +from visier.sdk.api.administration.api_response import ApiResponse +from visier.sdk.api.administration.rest import RESTResponseType + + +class TenantsV2Api: + """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_tenant( + self, + tenant_management_api_update_request_dto: TenantManagementAPIUpdateRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TenantManagementAPIUpdateResponseDTO: + """Add an analytic tenant + + Prior to processing and loading an analytic tenant's data files, you must provision, or create, that tenant. A provisioned analytic tenant is automatically enabled. If the tenant's data is loaded after provisioning, that data is immediately accessible by their users. Create an analytic tenant and identify the applications assigned to the tenant. Visier organizes content under a set of modules. Contact Visier Support to determine the list of modules allocated to you. **Note:** API requests that contain `homeAnalysisId`, `homeAnalysisByUserGroup`, `clickThroughLink`, or `defaultCurrency` take longer to run because they require publishing a project to production. + + :param tenant_management_api_update_request_dto: (required) + :type tenant_management_api_update_request_dto: TenantManagementAPIUpdateRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_tenant_serialize( + tenant_management_api_update_request_dto=tenant_management_api_update_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantManagementAPIUpdateResponseDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_with_http_info( + self, + tenant_management_api_update_request_dto: TenantManagementAPIUpdateRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[TenantManagementAPIUpdateResponseDTO]: + """Add an analytic tenant + + Prior to processing and loading an analytic tenant's data files, you must provision, or create, that tenant. A provisioned analytic tenant is automatically enabled. If the tenant's data is loaded after provisioning, that data is immediately accessible by their users. Create an analytic tenant and identify the applications assigned to the tenant. Visier organizes content under a set of modules. Contact Visier Support to determine the list of modules allocated to you. **Note:** API requests that contain `homeAnalysisId`, `homeAnalysisByUserGroup`, `clickThroughLink`, or `defaultCurrency` take longer to run because they require publishing a project to production. + + :param tenant_management_api_update_request_dto: (required) + :type tenant_management_api_update_request_dto: TenantManagementAPIUpdateRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_tenant_serialize( + tenant_management_api_update_request_dto=tenant_management_api_update_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantManagementAPIUpdateResponseDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_without_preload_content( + self, + tenant_management_api_update_request_dto: TenantManagementAPIUpdateRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 an analytic tenant + + Prior to processing and loading an analytic tenant's data files, you must provision, or create, that tenant. A provisioned analytic tenant is automatically enabled. If the tenant's data is loaded after provisioning, that data is immediately accessible by their users. Create an analytic tenant and identify the applications assigned to the tenant. Visier organizes content under a set of modules. Contact Visier Support to determine the list of modules allocated to you. **Note:** API requests that contain `homeAnalysisId`, `homeAnalysisByUserGroup`, `clickThroughLink`, or `defaultCurrency` take longer to run because they require publishing a project to production. + + :param tenant_management_api_update_request_dto: (required) + :type tenant_management_api_update_request_dto: TenantManagementAPIUpdateRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_tenant_serialize( + tenant_management_api_update_request_dto=tenant_management_api_update_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantManagementAPIUpdateResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_tenant_serialize( + self, + tenant_management_api_update_request_dto, + _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]] = {} + _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 tenant_management_api_update_request_dto is not None: + _body_params = tenant_management_api_update_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v2/admin/tenants', + 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_tenant( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TenantStatusAPIDTO: + """Deprovision an analytic tenant + + Warning! Deprovisioning an analytic tenant is not reversible. Before deprovisioning, you must disable an analytic tenant. For more information, see **`/v1/admin/tenants/{tenantId}/disable`**. This API removes an analytic tenant permanently from the Visier system. If you are unsure whether an analytic tenant may be re-enabled on any of the Visier modules at any time, you may instead want to disable the analytic tenant. If successful, the response returns the status \"Deprovisioned\". This indicates that the tenant is scheduled for deprovisioning, which may take several days to complete. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[TenantStatusAPIDTO]: + """Deprovision an analytic tenant + + Warning! Deprovisioning an analytic tenant is not reversible. Before deprovisioning, you must disable an analytic tenant. For more information, see **`/v1/admin/tenants/{tenantId}/disable`**. This API removes an analytic tenant permanently from the Visier system. If you are unsure whether an analytic tenant may be re-enabled on any of the Visier modules at any time, you may instead want to disable the analytic tenant. If successful, the response returns the status \"Deprovisioned\". This indicates that the tenant is scheduled for deprovisioning, which may take several days to complete. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Deprovision an analytic tenant + + Warning! Deprovisioning an analytic tenant is not reversible. Before deprovisioning, you must disable an analytic tenant. For more information, see **`/v1/admin/tenants/{tenantId}/disable`**. This API removes an analytic tenant permanently from the Visier system. If you are unsure whether an analytic tenant may be re-enabled on any of the Visier modules at any time, you may instead want to disable the analytic tenant. If successful, the response returns the status \"Deprovisioned\". This indicates that the tenant is scheduled for deprovisioning, which may take several days to complete. + + :param tenant_id: The ID of the tenant. For example, WFF_{XXX}~{YYY} where {XXX} is the administrating tenant code and {YYY} is the analytic tenant code. (required) + :type tenant_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_tenant_serialize( + tenant_id=tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantStatusAPIDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_tenant_serialize( + self, + tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v2/admin/tenants/{tenantId}', + 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 list_tenants( + self, + mask_message: MaskMessage, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of tenants to return. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first tenant to return. Default is 0.")] = 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, + ) -> TenantManagementAPIListResponseDTO: + """Retrieve a list of all analytic tenants + + Retrieve the full list of analytic tenants managed by you with their current states and the content modules assigned to them, and all other relevant details for the tenants if requested. + + :param mask_message: (required) + :type mask_message: MaskMessage + :param limit: The maximum number of tenants to return. Default is 400. + :type limit: int + :param start: The starting index of the first tenant to return. Default is 0. + :type start: 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._list_tenants_serialize( + mask_message=mask_message, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantManagementAPIListResponseDTO", + } + response_data = self.api_client.call_api( + *_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 list_tenants_with_http_info( + self, + mask_message: MaskMessage, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of tenants to return. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first tenant to return. Default is 0.")] = 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[TenantManagementAPIListResponseDTO]: + """Retrieve a list of all analytic tenants + + Retrieve the full list of analytic tenants managed by you with their current states and the content modules assigned to them, and all other relevant details for the tenants if requested. + + :param mask_message: (required) + :type mask_message: MaskMessage + :param limit: The maximum number of tenants to return. Default is 400. + :type limit: int + :param start: The starting index of the first tenant to return. Default is 0. + :type start: 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._list_tenants_serialize( + mask_message=mask_message, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantManagementAPIListResponseDTO", + } + response_data = self.api_client.call_api( + *_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 list_tenants_without_preload_content( + self, + mask_message: MaskMessage, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of tenants to return. Default is 400.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The starting index of the first tenant to return. Default is 0.")] = 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: + """Retrieve a list of all analytic tenants + + Retrieve the full list of analytic tenants managed by you with their current states and the content modules assigned to them, and all other relevant details for the tenants if requested. + + :param mask_message: (required) + :type mask_message: MaskMessage + :param limit: The maximum number of tenants to return. Default is 400. + :type limit: int + :param start: The starting index of the first tenant to return. Default is 0. + :type start: 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._list_tenants_serialize( + mask_message=mask_message, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantManagementAPIListResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_tenants_serialize( + self, + mask_message, + limit, + start, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # process the header parameters + # process the form parameters + # process the body parameter + if mask_message is not None: + _body_params = mask_message + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='GET', + resource_path='/v2/admin/tenants', + 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 tenant_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant to retrieve.")], + mask_message: MaskMessage, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TenantManagementAPIGetResponseDTO: + """Retrieve an analytic tenant's details + + Retrieve the details for a specified analytic tenant. Doing so allows you to see the current state of the tenant, the content modules assigned to it, and all other relevant details for the tenant. + + :param tenant_id: The ID of the tenant to retrieve. (required) + :type tenant_id: str + :param mask_message: (required) + :type mask_message: MaskMessage + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._tenant_info_serialize( + tenant_id=tenant_id, + mask_message=mask_message, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantManagementAPIGetResponseDTO", + } + response_data = self.api_client.call_api( + *_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 tenant_info_with_http_info( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant to retrieve.")], + mask_message: MaskMessage, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[TenantManagementAPIGetResponseDTO]: + """Retrieve an analytic tenant's details + + Retrieve the details for a specified analytic tenant. Doing so allows you to see the current state of the tenant, the content modules assigned to it, and all other relevant details for the tenant. + + :param tenant_id: The ID of the tenant to retrieve. (required) + :type tenant_id: str + :param mask_message: (required) + :type mask_message: MaskMessage + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._tenant_info_serialize( + tenant_id=tenant_id, + mask_message=mask_message, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantManagementAPIGetResponseDTO", + } + response_data = self.api_client.call_api( + *_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 tenant_info_without_preload_content( + self, + tenant_id: Annotated[StrictStr, Field(description="The ID of the tenant to retrieve.")], + mask_message: MaskMessage, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve an analytic tenant's details + + Retrieve the details for a specified analytic tenant. Doing so allows you to see the current state of the tenant, the content modules assigned to it, and all other relevant details for the tenant. + + :param tenant_id: The ID of the tenant to retrieve. (required) + :type tenant_id: str + :param mask_message: (required) + :type mask_message: MaskMessage + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._tenant_info_serialize( + tenant_id=tenant_id, + mask_message=mask_message, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantManagementAPIGetResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _tenant_info_serialize( + self, + tenant_id, + mask_message, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if mask_message is not None: + _body_params = mask_message + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='GET', + resource_path='/v2/admin/tenants/{tenantId}', + 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_tenant( + self, + tenant_id: StrictStr, + tenant_management_api_update_request_dto: TenantManagementAPIUpdateRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TenantManagementAPIUpdateResponseDTO: + """Update an analytic tenant + + You may need to update analytic tenants as they grow and as your organization upgrades the content available to them. You may also encounter a scenario where an analytic tenant transitions across different industries. To make updates to your tenants, use this API. * To ensure that the analytic tenant receives accurate benchmarks and predictive functionality, update their industry code in the Visier system. * To programmatically assign the Home analysis that analytic tenants see at login, use this API to set the default Home analysis for a tenant and specific user groups of that tenant. You can use this API to update any field on an analytic tenant, except `tenantCode`. **Note:** API requests that contain `homeAnalysisId`, `homeAnalysisByUserGroup`, `clickThroughLink`, or `defaultCurrency` take longer to run because they require publishing a project to production. + + :param tenant_id: (required) + :type tenant_id: str + :param tenant_management_api_update_request_dto: (required) + :type tenant_management_api_update_request_dto: TenantManagementAPIUpdateRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_tenant_serialize( + tenant_id=tenant_id, + tenant_management_api_update_request_dto=tenant_management_api_update_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantManagementAPIUpdateResponseDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_with_http_info( + self, + tenant_id: StrictStr, + tenant_management_api_update_request_dto: TenantManagementAPIUpdateRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[TenantManagementAPIUpdateResponseDTO]: + """Update an analytic tenant + + You may need to update analytic tenants as they grow and as your organization upgrades the content available to them. You may also encounter a scenario where an analytic tenant transitions across different industries. To make updates to your tenants, use this API. * To ensure that the analytic tenant receives accurate benchmarks and predictive functionality, update their industry code in the Visier system. * To programmatically assign the Home analysis that analytic tenants see at login, use this API to set the default Home analysis for a tenant and specific user groups of that tenant. You can use this API to update any field on an analytic tenant, except `tenantCode`. **Note:** API requests that contain `homeAnalysisId`, `homeAnalysisByUserGroup`, `clickThroughLink`, or `defaultCurrency` take longer to run because they require publishing a project to production. + + :param tenant_id: (required) + :type tenant_id: str + :param tenant_management_api_update_request_dto: (required) + :type tenant_management_api_update_request_dto: TenantManagementAPIUpdateRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_tenant_serialize( + tenant_id=tenant_id, + tenant_management_api_update_request_dto=tenant_management_api_update_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantManagementAPIUpdateResponseDTO", + } + response_data = self.api_client.call_api( + *_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_tenant_without_preload_content( + self, + tenant_id: StrictStr, + tenant_management_api_update_request_dto: TenantManagementAPIUpdateRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 analytic tenant + + You may need to update analytic tenants as they grow and as your organization upgrades the content available to them. You may also encounter a scenario where an analytic tenant transitions across different industries. To make updates to your tenants, use this API. * To ensure that the analytic tenant receives accurate benchmarks and predictive functionality, update their industry code in the Visier system. * To programmatically assign the Home analysis that analytic tenants see at login, use this API to set the default Home analysis for a tenant and specific user groups of that tenant. You can use this API to update any field on an analytic tenant, except `tenantCode`. **Note:** API requests that contain `homeAnalysisId`, `homeAnalysisByUserGroup`, `clickThroughLink`, or `defaultCurrency` take longer to run because they require publishing a project to production. + + :param tenant_id: (required) + :type tenant_id: str + :param tenant_management_api_update_request_dto: (required) + :type tenant_management_api_update_request_dto: TenantManagementAPIUpdateRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_tenant_serialize( + tenant_id=tenant_id, + tenant_management_api_update_request_dto=tenant_management_api_update_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantManagementAPIUpdateResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_tenant_serialize( + self, + tenant_id, + tenant_management_api_update_request_dto, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if tenant_id is not None: + _path_params['tenantId'] = tenant_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if tenant_management_api_update_request_dto is not None: + _body_params = tenant_management_api_update_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='PUT', + resource_path='/v2/admin/tenants/{tenantId}', + 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/src/visier.sdk.api.administration/visier/sdk/api/administration/api/user_groups_v2_api.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/user_groups_v2_api.py new file mode 100644 index 000000000..4f602a78c --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/user_groups_v2_api.py @@ -0,0 +1,1967 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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, StrictInt, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from visier.sdk.api.administration.models.delete_user_group_v2_request import DeleteUserGroupV2Request +from visier.sdk.api.administration.models.user_group_change_definition_dto import UserGroupChangeDefinitionDTO +from visier.sdk.api.administration.models.user_group_change_response_dto import UserGroupChangeResponseDTO +from visier.sdk.api.administration.models.user_group_delete_response_dto import UserGroupDeleteResponseDTO +from visier.sdk.api.administration.models.user_group_single_delete_response_dto import UserGroupSingleDeleteResponseDTO +from visier.sdk.api.administration.models.user_groups_change_dto import UserGroupsChangeDTO +from visier.sdk.api.administration.models.user_groups_delete_request_dto import UserGroupsDeleteRequestDTO + +from visier.sdk.api.administration.api_client import ApiClient, RequestSerialized +from visier.sdk.api.administration.api_response import ApiResponse +from visier.sdk.api.administration.rest import RESTResponseType + + +class UserGroupsV2Api: + """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_groups( + self, + user_groups_change_dto: UserGroupsChangeDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> UserGroupChangeResponseDTO: + """Create multiple user groups + + Create new user groups. To specify the tenant in which to add new user groups, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to create new user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_groups_change_dto: (required) + :type user_groups_change_dto: UserGroupsChangeDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_groups_serialize( + user_groups_change_dto=user_groups_change_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupChangeResponseDTO", + } + response_data = self.api_client.call_api( + *_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_groups_with_http_info( + self, + user_groups_change_dto: UserGroupsChangeDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[UserGroupChangeResponseDTO]: + """Create multiple user groups + + Create new user groups. To specify the tenant in which to add new user groups, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to create new user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_groups_change_dto: (required) + :type user_groups_change_dto: UserGroupsChangeDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_groups_serialize( + user_groups_change_dto=user_groups_change_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupChangeResponseDTO", + } + response_data = self.api_client.call_api( + *_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_groups_without_preload_content( + self, + user_groups_change_dto: UserGroupsChangeDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 groups + + Create new user groups. To specify the tenant in which to add new user groups, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to create new user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_groups_change_dto: (required) + :type user_groups_change_dto: UserGroupsChangeDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_groups_serialize( + user_groups_change_dto=user_groups_change_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupChangeResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_user_groups_serialize( + self, + user_groups_change_dto, + _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]] = {} + _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 user_groups_change_dto is not None: + _body_params = user_groups_change_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v2beta/admin/user-groups', + 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_group( + self, + user_group_id: Annotated[StrictStr, Field(description="The ID of user group to delete.")], + delete_user_group_v2_request: DeleteUserGroupV2Request, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> UserGroupSingleDeleteResponseDTO: + """Delete a user group + + Delete a specific user group. To specify the tenant in which to delete a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to delete a user group, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_group_id: The ID of user group to delete. (required) + :type user_group_id: str + :param delete_user_group_v2_request: (required) + :type delete_user_group_v2_request: DeleteUserGroupV2Request + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_group_serialize( + user_group_id=user_group_id, + delete_user_group_v2_request=delete_user_group_v2_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupSingleDeleteResponseDTO", + } + response_data = self.api_client.call_api( + *_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_group_with_http_info( + self, + user_group_id: Annotated[StrictStr, Field(description="The ID of user group to delete.")], + delete_user_group_v2_request: DeleteUserGroupV2Request, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[UserGroupSingleDeleteResponseDTO]: + """Delete a user group + + Delete a specific user group. To specify the tenant in which to delete a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to delete a user group, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_group_id: The ID of user group to delete. (required) + :type user_group_id: str + :param delete_user_group_v2_request: (required) + :type delete_user_group_v2_request: DeleteUserGroupV2Request + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_group_serialize( + user_group_id=user_group_id, + delete_user_group_v2_request=delete_user_group_v2_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupSingleDeleteResponseDTO", + } + response_data = self.api_client.call_api( + *_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_group_without_preload_content( + self, + user_group_id: Annotated[StrictStr, Field(description="The ID of user group to delete.")], + delete_user_group_v2_request: DeleteUserGroupV2Request, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 group + + Delete a specific user group. To specify the tenant in which to delete a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to delete a user group, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_group_id: The ID of user group to delete. (required) + :type user_group_id: str + :param delete_user_group_v2_request: (required) + :type delete_user_group_v2_request: DeleteUserGroupV2Request + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_group_serialize( + user_group_id=user_group_id, + delete_user_group_v2_request=delete_user_group_v2_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupSingleDeleteResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_user_group_serialize( + self, + user_group_id, + delete_user_group_v2_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if user_group_id is not None: + _path_params['userGroupId'] = user_group_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if delete_user_group_v2_request is not None: + _body_params = delete_user_group_v2_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='DELETE', + resource_path='/v2beta/admin/user-groups/{userGroupId}', + 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_groups( + self, + user_groups_delete_request_dto: UserGroupsDeleteRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> UserGroupDeleteResponseDTO: + """Delete multiple user groups + + Delete user groups in bulk. To specify the tenant in which to delete user groups, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to delete user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_groups_delete_request_dto: (required) + :type user_groups_delete_request_dto: UserGroupsDeleteRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_groups_serialize( + user_groups_delete_request_dto=user_groups_delete_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupDeleteResponseDTO", + } + response_data = self.api_client.call_api( + *_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_groups_with_http_info( + self, + user_groups_delete_request_dto: UserGroupsDeleteRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[UserGroupDeleteResponseDTO]: + """Delete multiple user groups + + Delete user groups in bulk. To specify the tenant in which to delete user groups, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to delete user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_groups_delete_request_dto: (required) + :type user_groups_delete_request_dto: UserGroupsDeleteRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_groups_serialize( + user_groups_delete_request_dto=user_groups_delete_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupDeleteResponseDTO", + } + response_data = self.api_client.call_api( + *_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_groups_without_preload_content( + self, + user_groups_delete_request_dto: UserGroupsDeleteRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 groups + + Delete user groups in bulk. To specify the tenant in which to delete user groups, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to delete user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_groups_delete_request_dto: (required) + :type user_groups_delete_request_dto: UserGroupsDeleteRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_groups_serialize( + user_groups_delete_request_dto=user_groups_delete_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupDeleteResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_user_groups_serialize( + self, + user_groups_delete_request_dto, + _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]] = {} + _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 user_groups_delete_request_dto is not None: + _body_params = user_groups_delete_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='DELETE', + resource_path='/v2beta/admin/user-groups', + 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_group( + self, + user_group_id: Annotated[StrictStr, Field(description="The ID of user group.")], + var_with: Annotated[Optional[StrictStr], Field(description="Controls the amount of detail to return in the response. Omit to return detailed information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information.")] = 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, + ) -> UserGroupChangeDefinitionDTO: + """Retrieve the details of a user group + + Retrieve all available information about a specific user group.
To specify the tenant in which to retrieve a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to return a user group, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_group_id: The ID of user group. (required) + :type user_group_id: str + :param var_with: Controls the amount of detail to return in the response. Omit to return detailed information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. + :type var_with: 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_group_serialize( + user_group_id=user_group_id, + var_with=var_with, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupChangeDefinitionDTO", + } + response_data = self.api_client.call_api( + *_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_group_with_http_info( + self, + user_group_id: Annotated[StrictStr, Field(description="The ID of user group.")], + var_with: Annotated[Optional[StrictStr], Field(description="Controls the amount of detail to return in the response. Omit to return detailed information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information.")] = 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[UserGroupChangeDefinitionDTO]: + """Retrieve the details of a user group + + Retrieve all available information about a specific user group.
To specify the tenant in which to retrieve a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to return a user group, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_group_id: The ID of user group. (required) + :type user_group_id: str + :param var_with: Controls the amount of detail to return in the response. Omit to return detailed information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. + :type var_with: 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_group_serialize( + user_group_id=user_group_id, + var_with=var_with, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupChangeDefinitionDTO", + } + response_data = self.api_client.call_api( + *_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_group_without_preload_content( + self, + user_group_id: Annotated[StrictStr, Field(description="The ID of user group.")], + var_with: Annotated[Optional[StrictStr], Field(description="Controls the amount of detail to return in the response. Omit to return detailed information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information.")] = 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: + """Retrieve the details of a user group + + Retrieve all available information about a specific user group.
To specify the tenant in which to retrieve a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header. To specify the project in which to return a user group, provide a project UUID in the `ProjectID` request header.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_group_id: The ID of user group. (required) + :type user_group_id: str + :param var_with: Controls the amount of detail to return in the response. Omit to return detailed information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. + :type var_with: 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_group_serialize( + user_group_id=user_group_id, + var_with=var_with, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupChangeDefinitionDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_group_serialize( + self, + user_group_id, + var_with, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if user_group_id is not None: + _path_params['userGroupId'] = user_group_id + # process the query parameters + if var_with is not None: + + _query_params.append(('with', var_with)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v2beta/admin/user-groups/{userGroupId}', + 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_groups( + self, + var_with: Annotated[Optional[StrictStr], Field(description="Controls the amount of detail to return in the response. Omit to return basic information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of user groups to retrieve is 1000. The default is 100.")] = 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, + ) -> UserGroupsChangeDTO: + """Retrieve a list of user groups + + Retrieve a collection of user groups. Use `with` to control the amount of detail returned in the response. `with` supports these values: * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. This API can return a maximum of 1000 user groups. The default number of user groups to return is 100. To specify the project in which to return user groups, provide a project UUID in the `ProjectID` request header.
To specify the tenant in which to retrieve user groups, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param var_with: Controls the amount of detail to return in the response. Omit to return basic information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. + :type var_with: str + :param limit: The number of results to return. The maximum number of user groups to retrieve is 1000. The default is 100. + :type limit: 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._get_user_groups_serialize( + var_with=var_with, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupsChangeDTO", + } + response_data = self.api_client.call_api( + *_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_groups_with_http_info( + self, + var_with: Annotated[Optional[StrictStr], Field(description="Controls the amount of detail to return in the response. Omit to return basic information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of user groups to retrieve is 1000. The default is 100.")] = 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[UserGroupsChangeDTO]: + """Retrieve a list of user groups + + Retrieve a collection of user groups. Use `with` to control the amount of detail returned in the response. `with` supports these values: * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. This API can return a maximum of 1000 user groups. The default number of user groups to return is 100. To specify the project in which to return user groups, provide a project UUID in the `ProjectID` request header.
To specify the tenant in which to retrieve user groups, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param var_with: Controls the amount of detail to return in the response. Omit to return basic information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. + :type var_with: str + :param limit: The number of results to return. The maximum number of user groups to retrieve is 1000. The default is 100. + :type limit: 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._get_user_groups_serialize( + var_with=var_with, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupsChangeDTO", + } + response_data = self.api_client.call_api( + *_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_groups_without_preload_content( + self, + var_with: Annotated[Optional[StrictStr], Field(description="Controls the amount of detail to return in the response. Omit to return basic information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of user groups to retrieve is 1000. The default is 100.")] = 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: + """Retrieve a list of user groups + + Retrieve a collection of user groups. Use `with` to control the amount of detail returned in the response. `with` supports these values: * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. This API can return a maximum of 1000 user groups. The default number of user groups to return is 100. To specify the project in which to return user groups, provide a project UUID in the `ProjectID` request header.
To specify the tenant in which to retrieve user groups, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param var_with: Controls the amount of detail to return in the response. Omit to return basic information. * **permissions**: Include the user group's permissions. * **users**: Include the users in the user group. * **details**: Include all available information. + :type var_with: str + :param limit: The number of results to return. The maximum number of user groups to retrieve is 1000. The default is 100. + :type limit: 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._get_user_groups_serialize( + var_with=var_with, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupsChangeDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_groups_serialize( + self, + var_with, + limit, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if var_with is not None: + + _query_params.append(('with', var_with)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v2beta/admin/user-groups', + 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_groups( + self, + user_groups_change_dto: UserGroupsChangeDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> UserGroupChangeResponseDTO: + """Patch multiple user groups + + Make partial changes to user groups. To specify the tenant in which to patch a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header or `tenantCode` for each user group in the request body. Unlike `PUT`, which completely replaces the user group definition, use `PATCH` to change specific fields in the user group without affecting omitted fields. To specify the project in which to patch user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_groups_change_dto: (required) + :type user_groups_change_dto: UserGroupsChangeDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_groups_serialize( + user_groups_change_dto=user_groups_change_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupChangeResponseDTO", + } + response_data = self.api_client.call_api( + *_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_groups_with_http_info( + self, + user_groups_change_dto: UserGroupsChangeDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[UserGroupChangeResponseDTO]: + """Patch multiple user groups + + Make partial changes to user groups. To specify the tenant in which to patch a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header or `tenantCode` for each user group in the request body. Unlike `PUT`, which completely replaces the user group definition, use `PATCH` to change specific fields in the user group without affecting omitted fields. To specify the project in which to patch user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_groups_change_dto: (required) + :type user_groups_change_dto: UserGroupsChangeDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_groups_serialize( + user_groups_change_dto=user_groups_change_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupChangeResponseDTO", + } + response_data = self.api_client.call_api( + *_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_groups_without_preload_content( + self, + user_groups_change_dto: UserGroupsChangeDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Patch multiple user groups + + Make partial changes to user groups. To specify the tenant in which to patch a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header or `tenantCode` for each user group in the request body. Unlike `PUT`, which completely replaces the user group definition, use `PATCH` to change specific fields in the user group without affecting omitted fields. To specify the project in which to patch user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_groups_change_dto: (required) + :type user_groups_change_dto: UserGroupsChangeDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_groups_serialize( + user_groups_change_dto=user_groups_change_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupChangeResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_user_groups_serialize( + self, + user_groups_change_dto, + _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]] = {} + _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 user_groups_change_dto is not None: + _body_params = user_groups_change_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v2beta/admin/user-groups', + 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 put_user_groups( + self, + user_groups_change_dto: UserGroupsChangeDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> UserGroupChangeResponseDTO: + """Update multiple user groups + + Update existing user groups. To specify the tenant in which to update a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header or `tenantCode` for each user group in the request body. When updating user groups, the user group definition in your API call replaces the prior definition. You must provide the entire definition in the `PUT` call. If you omit values from the update request, those values are removed from the user group. We recommend that you retrieve a user group's details before you update the user group with new values. To specify the project in which to update user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_groups_change_dto: (required) + :type user_groups_change_dto: UserGroupsChangeDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_user_groups_serialize( + user_groups_change_dto=user_groups_change_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupChangeResponseDTO", + } + response_data = self.api_client.call_api( + *_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 put_user_groups_with_http_info( + self, + user_groups_change_dto: UserGroupsChangeDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[UserGroupChangeResponseDTO]: + """Update multiple user groups + + Update existing user groups. To specify the tenant in which to update a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header or `tenantCode` for each user group in the request body. When updating user groups, the user group definition in your API call replaces the prior definition. You must provide the entire definition in the `PUT` call. If you omit values from the update request, those values are removed from the user group. We recommend that you retrieve a user group's details before you update the user group with new values. To specify the project in which to update user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_groups_change_dto: (required) + :type user_groups_change_dto: UserGroupsChangeDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_user_groups_serialize( + user_groups_change_dto=user_groups_change_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupChangeResponseDTO", + } + response_data = self.api_client.call_api( + *_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 put_user_groups_without_preload_content( + self, + user_groups_change_dto: UserGroupsChangeDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 groups + + Update existing user groups. To specify the tenant in which to update a user group, administrating tenants can provide an analytic tenant code in the `TargetTenantID` request header or `tenantCode` for each user group in the request body. When updating user groups, the user group definition in your API call replaces the prior definition. You must provide the entire definition in the `PUT` call. If you omit values from the update request, those values are removed from the user group. We recommend that you retrieve a user group's details before you update the user group with new values. To specify the project in which to update user groups, provide a project UUID in the `ProjectID` request header or `projectId` for each user group in the request body.
**Note:** This API is in **beta**. While in beta, APIs are interface-stable and implementation may change without notice. Rarely, interface changes may occur that are not backwards-compatible and require advance communication. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param user_groups_change_dto: (required) + :type user_groups_change_dto: UserGroupsChangeDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_user_groups_serialize( + user_groups_change_dto=user_groups_change_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupChangeResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_user_groups_serialize( + self, + user_groups_change_dto, + _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]] = {} + _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 user_groups_change_dto is not None: + _body_params = user_groups_change_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='PUT', + resource_path='/v2beta/admin/user-groups', + 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/src/visier.sdk.api.administration/visier/sdk/api/administration/api/users_v1_api.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/users_v1_api.py new file mode 100644 index 000000000..0d41a48a8 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/users_v1_api.py @@ -0,0 +1,5828 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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, StrictInt, StrictStr +from typing import Any, Dict, Optional, Union +from typing_extensions import Annotated +from visier.sdk.api.administration.models.all_users_get_api_response_dto import AllUsersGetAPIResponseDTO +from visier.sdk.api.administration.models.assign_revoke_permissions_request_dto import AssignRevokePermissionsRequestDTO +from visier.sdk.api.administration.models.assign_revoke_permissions_response_dto import AssignRevokePermissionsResponseDTO +from visier.sdk.api.administration.models.permission_assigned_users_dto import PermissionAssignedUsersDTO +from visier.sdk.api.administration.models.permissions_to_user_group_for_tenant_dto import PermissionsToUserGroupForTenantDTO +from visier.sdk.api.administration.models.permissions_to_user_groups_request_dto import PermissionsToUserGroupsRequestDTO +from visier.sdk.api.administration.models.security_assignment_response_dto import SecurityAssignmentResponseDTO +from visier.sdk.api.administration.models.user_creation_api_request_dto import UserCreationAPIRequestDTO +from visier.sdk.api.administration.models.user_creation_api_response_dto import UserCreationAPIResponseDTO +from visier.sdk.api.administration.models.user_get_api_response_dto import UserGetAPIResponseDTO +from visier.sdk.api.administration.models.user_groups_get_api_response_dto import UserGroupsGetAPIResponseDTO +from visier.sdk.api.administration.models.user_groups_users_dto import UserGroupsUsersDTO +from visier.sdk.api.administration.models.user_update_api_request_dto import UserUpdateAPIRequestDTO +from visier.sdk.api.administration.models.users_to_user_groups_request_dto import UsersToUserGroupsRequestDTO + +from visier.sdk.api.administration.api_client import ApiClient, RequestSerialized +from visier.sdk.api.administration.api_response import ApiResponse +from visier.sdk.api.administration.rest import RESTResponseType + + +class UsersV1Api: + """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 add_user( + self, + user_creation_api_request_dto: UserCreationAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to create a user in.")] = 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, + ) -> UserCreationAPIResponseDTO: + """Add a user + + Create a new user. Administrating tenant users can specify the tenant in which to add a user. + + :param user_creation_api_request_dto: (required) + :type user_creation_api_request_dto: UserCreationAPIRequestDTO + :param tenant_code: Specify the tenant to create a user in. + :type tenant_code: 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._add_user_serialize( + user_creation_api_request_dto=user_creation_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserCreationAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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 add_user_with_http_info( + self, + user_creation_api_request_dto: UserCreationAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to create a user in.")] = 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[UserCreationAPIResponseDTO]: + """Add a user + + Create a new user. Administrating tenant users can specify the tenant in which to add a user. + + :param user_creation_api_request_dto: (required) + :type user_creation_api_request_dto: UserCreationAPIRequestDTO + :param tenant_code: Specify the tenant to create a user in. + :type tenant_code: 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._add_user_serialize( + user_creation_api_request_dto=user_creation_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserCreationAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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 add_user_without_preload_content( + self, + user_creation_api_request_dto: UserCreationAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to create a user in.")] = 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: + """Add a user + + Create a new user. Administrating tenant users can specify the tenant in which to add a user. + + :param user_creation_api_request_dto: (required) + :type user_creation_api_request_dto: UserCreationAPIRequestDTO + :param tenant_code: Specify the tenant to create a user in. + :type tenant_code: 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._add_user_serialize( + user_creation_api_request_dto=user_creation_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserCreationAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_user_serialize( + self, + user_creation_api_request_dto, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # process the header parameters + # process the form parameters + # process the body parameter + if user_creation_api_request_dto is not None: + _body_params = user_creation_api_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v1/admin/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 add_users_to_user_group( + self, + users_to_user_groups_request_dto: UsersToUserGroupsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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, + ) -> SecurityAssignmentResponseDTO: + """Assign users to user groups + + This API allows you to assign users to specific user groups. To assign users to user groups in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can assign users to user groups in analytic tenants by providing a tenant code and project ID in the request body. + + :param users_to_user_groups_request_dto: (required) + :type users_to_user_groups_request_dto: UsersToUserGroupsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._add_users_to_user_group_serialize( + users_to_user_groups_request_dto=users_to_user_groups_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SecurityAssignmentResponseDTO", + } + response_data = self.api_client.call_api( + *_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 add_users_to_user_group_with_http_info( + self, + users_to_user_groups_request_dto: UsersToUserGroupsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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[SecurityAssignmentResponseDTO]: + """Assign users to user groups + + This API allows you to assign users to specific user groups. To assign users to user groups in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can assign users to user groups in analytic tenants by providing a tenant code and project ID in the request body. + + :param users_to_user_groups_request_dto: (required) + :type users_to_user_groups_request_dto: UsersToUserGroupsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._add_users_to_user_group_serialize( + users_to_user_groups_request_dto=users_to_user_groups_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SecurityAssignmentResponseDTO", + } + response_data = self.api_client.call_api( + *_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 add_users_to_user_group_without_preload_content( + self, + users_to_user_groups_request_dto: UsersToUserGroupsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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: + """Assign users to user groups + + This API allows you to assign users to specific user groups. To assign users to user groups in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can assign users to user groups in analytic tenants by providing a tenant code and project ID in the request body. + + :param users_to_user_groups_request_dto: (required) + :type users_to_user_groups_request_dto: UsersToUserGroupsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._add_users_to_user_group_serialize( + users_to_user_groups_request_dto=users_to_user_groups_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SecurityAssignmentResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_users_to_user_group_serialize( + self, + users_to_user_groups_request_dto, + project_id, + target_tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if project_id is not None: + _header_params['ProjectID'] = project_id + if target_tenant_id is not None: + _header_params['TargetTenantID'] = target_tenant_id + # process the form parameters + # process the body parameter + if users_to_user_groups_request_dto is not None: + _body_params = users_to_user_groups_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='PUT', + resource_path='/v1/admin/user-groups/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 assign_permissions( + self, + assign_revoke_permissions_request_dto: AssignRevokePermissionsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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, + ) -> AssignRevokePermissionsResponseDTO: + """Assign permissions to users + + This API allows you to assign a permission to specific users. Administrating tenant users can assign permissions to users in the administrating tenant and in the analytic tenants those users belong to. To assign permissions to users in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can assign permissions to users in analytic tenants by providing a tenant code and project ID in the request body. + + :param assign_revoke_permissions_request_dto: (required) + :type assign_revoke_permissions_request_dto: AssignRevokePermissionsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._assign_permissions_serialize( + assign_revoke_permissions_request_dto=assign_revoke_permissions_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssignRevokePermissionsResponseDTO", + } + response_data = self.api_client.call_api( + *_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 assign_permissions_with_http_info( + self, + assign_revoke_permissions_request_dto: AssignRevokePermissionsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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[AssignRevokePermissionsResponseDTO]: + """Assign permissions to users + + This API allows you to assign a permission to specific users. Administrating tenant users can assign permissions to users in the administrating tenant and in the analytic tenants those users belong to. To assign permissions to users in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can assign permissions to users in analytic tenants by providing a tenant code and project ID in the request body. + + :param assign_revoke_permissions_request_dto: (required) + :type assign_revoke_permissions_request_dto: AssignRevokePermissionsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._assign_permissions_serialize( + assign_revoke_permissions_request_dto=assign_revoke_permissions_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssignRevokePermissionsResponseDTO", + } + response_data = self.api_client.call_api( + *_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 assign_permissions_without_preload_content( + self, + assign_revoke_permissions_request_dto: AssignRevokePermissionsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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: + """Assign permissions to users + + This API allows you to assign a permission to specific users. Administrating tenant users can assign permissions to users in the administrating tenant and in the analytic tenants those users belong to. To assign permissions to users in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can assign permissions to users in analytic tenants by providing a tenant code and project ID in the request body. + + :param assign_revoke_permissions_request_dto: (required) + :type assign_revoke_permissions_request_dto: AssignRevokePermissionsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._assign_permissions_serialize( + assign_revoke_permissions_request_dto=assign_revoke_permissions_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssignRevokePermissionsResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _assign_permissions_serialize( + self, + assign_revoke_permissions_request_dto, + project_id, + target_tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if project_id is not None: + _header_params['ProjectID'] = project_id + if target_tenant_id is not None: + _header_params['TargetTenantID'] = target_tenant_id + # process the form parameters + # process the body parameter + if assign_revoke_permissions_request_dto is not None: + _body_params = assign_revoke_permissions_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='PUT', + resource_path='/v1/admin/permissions/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 assign_permissions_to_user_groups( + self, + permissions_to_user_groups_request_dto: PermissionsToUserGroupsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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, + ) -> PermissionsToUserGroupForTenantDTO: + """Assign permissions to user groups + + This API allows you to assign a permission to specific user groups. This assigns the permission to all users in the user group. To assign permissions to user groups in a project, provide a project UUID in the `ProjectID` request header. + + :param permissions_to_user_groups_request_dto: (required) + :type permissions_to_user_groups_request_dto: PermissionsToUserGroupsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._assign_permissions_to_user_groups_serialize( + permissions_to_user_groups_request_dto=permissions_to_user_groups_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionsToUserGroupForTenantDTO", + } + response_data = self.api_client.call_api( + *_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 assign_permissions_to_user_groups_with_http_info( + self, + permissions_to_user_groups_request_dto: PermissionsToUserGroupsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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[PermissionsToUserGroupForTenantDTO]: + """Assign permissions to user groups + + This API allows you to assign a permission to specific user groups. This assigns the permission to all users in the user group. To assign permissions to user groups in a project, provide a project UUID in the `ProjectID` request header. + + :param permissions_to_user_groups_request_dto: (required) + :type permissions_to_user_groups_request_dto: PermissionsToUserGroupsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._assign_permissions_to_user_groups_serialize( + permissions_to_user_groups_request_dto=permissions_to_user_groups_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionsToUserGroupForTenantDTO", + } + response_data = self.api_client.call_api( + *_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 assign_permissions_to_user_groups_without_preload_content( + self, + permissions_to_user_groups_request_dto: PermissionsToUserGroupsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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: + """Assign permissions to user groups + + This API allows you to assign a permission to specific user groups. This assigns the permission to all users in the user group. To assign permissions to user groups in a project, provide a project UUID in the `ProjectID` request header. + + :param permissions_to_user_groups_request_dto: (required) + :type permissions_to_user_groups_request_dto: PermissionsToUserGroupsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._assign_permissions_to_user_groups_serialize( + permissions_to_user_groups_request_dto=permissions_to_user_groups_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionsToUserGroupForTenantDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _assign_permissions_to_user_groups_serialize( + self, + permissions_to_user_groups_request_dto, + project_id, + target_tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if project_id is not None: + _header_params['ProjectID'] = project_id + if target_tenant_id is not None: + _header_params['TargetTenantID'] = target_tenant_id + # process the form parameters + # process the body parameter + if permissions_to_user_groups_request_dto is not None: + _body_params = permissions_to_user_groups_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='PUT', + resource_path='/v1/admin/user-groups/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 + ) + + + + + @validate_call + def delete_user( + self, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to delete.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to delete a user in.")] = 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, + ) -> object: + """Delete a user + + Delete an existing user. Administrating tenant users can specify the tenant from which to delete a user. + + :param user_id: The ID of the user you want to delete. (required) + :type user_id: str + :param tenant_code: Specify the tenant to delete a user in. + :type tenant_code: 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( + user_id=user_id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + } + response_data = self.api_client.call_api( + *_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, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to delete.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to delete a user in.")] = 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[object]: + """Delete a user + + Delete an existing user. Administrating tenant users can specify the tenant from which to delete a user. + + :param user_id: The ID of the user you want to delete. (required) + :type user_id: str + :param tenant_code: Specify the tenant to delete a user in. + :type tenant_code: 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( + user_id=user_id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + } + response_data = self.api_client.call_api( + *_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, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to delete.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to delete a user in.")] = 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 a user + + Delete an existing user. Administrating tenant users can specify the tenant from which to delete a user. + + :param user_id: The ID of the user you want to delete. (required) + :type user_id: str + :param tenant_code: Specify the tenant to delete a user in. + :type tenant_code: 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( + user_id=user_id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_user_serialize( + self, + user_id, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if user_id is not None: + _path_params['userId'] = user_id + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/admin/users/{userId}', + 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_all_permissions_xlsx( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve permissions from.")] = 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, + ) -> bytearray: + """Retrieve a list of all permissions in XLSX format + + This API allows you to export the list of permissions in a tenant. This report includes the permission name, permission description, and permission ID for all permissions in the tenant. Administrating tenant users can export permissions lists for the administrating tenant and the analytic tenants those users belong to. + + :param tenant_code: Specify the tenant to retrieve permissions from. + :type tenant_code: 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_all_permissions_xlsx_serialize( + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_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_all_permissions_xlsx_with_http_info( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve permissions from.")] = 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[bytearray]: + """Retrieve a list of all permissions in XLSX format + + This API allows you to export the list of permissions in a tenant. This report includes the permission name, permission description, and permission ID for all permissions in the tenant. Administrating tenant users can export permissions lists for the administrating tenant and the analytic tenants those users belong to. + + :param tenant_code: Specify the tenant to retrieve permissions from. + :type tenant_code: 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_all_permissions_xlsx_serialize( + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_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_all_permissions_xlsx_without_preload_content( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve permissions from.")] = 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: + """Retrieve a list of all permissions in XLSX format + + This API allows you to export the list of permissions in a tenant. This report includes the permission name, permission description, and permission ID for all permissions in the tenant. Administrating tenant users can export permissions lists for the administrating tenant and the analytic tenants those users belong to. + + :param tenant_code: Specify the tenant to retrieve permissions from. + :type tenant_code: 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_all_permissions_xlsx_serialize( + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_all_permissions_xlsx_serialize( + self, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # 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( + [ + 'application/vnd.ms-excel', + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/users/reports/permissions-list', + 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_all_user_groups( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the list of user groups from.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of users to retrieve is 1000.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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, + ) -> UserGroupsGetAPIResponseDTO: + """Retrieve a list of all user groups + + This API allows you to retrieve the full list of user groups in a tenant. To specify the project in which to retrieve user groups for a tenant, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user information from production. + + :param tenant_code: Specify the tenant to retrieve the list of user groups from. + :type tenant_code: str + :param limit: The number of results to return. The maximum number of users to retrieve is 1000. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. + :type start: int + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_all_user_groups_serialize( + tenant_code=tenant_code, + limit=limit, + start=start, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupsGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_all_user_groups_with_http_info( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the list of user groups from.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of users to retrieve is 1000.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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[UserGroupsGetAPIResponseDTO]: + """Retrieve a list of all user groups + + This API allows you to retrieve the full list of user groups in a tenant. To specify the project in which to retrieve user groups for a tenant, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user information from production. + + :param tenant_code: Specify the tenant to retrieve the list of user groups from. + :type tenant_code: str + :param limit: The number of results to return. The maximum number of users to retrieve is 1000. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. + :type start: int + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_all_user_groups_serialize( + tenant_code=tenant_code, + limit=limit, + start=start, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupsGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_all_user_groups_without_preload_content( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the list of user groups from.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of users to retrieve is 1000.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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: + """Retrieve a list of all user groups + + This API allows you to retrieve the full list of user groups in a tenant. To specify the project in which to retrieve user groups for a tenant, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user information from production. + + :param tenant_code: Specify the tenant to retrieve the list of user groups from. + :type tenant_code: str + :param limit: The number of results to return. The maximum number of users to retrieve is 1000. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. + :type start: int + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_all_user_groups_serialize( + tenant_code=tenant_code, + limit=limit, + start=start, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupsGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_all_user_groups_serialize( + self, + tenant_code, + limit, + start, + project_id, + target_tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # process the header parameters + if project_id is not None: + _header_params['ProjectID'] = project_id + if target_tenant_id is not None: + _header_params['TargetTenantID'] = target_tenant_id + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/user-groups', + 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_all_users( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a list of users from.")] = None, + assigned_profiles: Annotated[Optional[StrictBool], Field(description="If true, the response returns a list of the user's assigned profiles.")] = None, + assigned_permissions: Annotated[Optional[StrictBool], Field(description="If true, the response returns the user's assigned permissions.")] = None, + assigned_user_groups: Annotated[Optional[StrictBool], Field(description="If true, the response returns the user's assigned user groups.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of users to retrieve is 1000.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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, + ) -> AllUsersGetAPIResponseDTO: + """Retrieve a list of all users + + This API allows you to retrieve the full list of users and their current states. To specify the project in which to retrieve user information, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user information from production. + + :param tenant_code: Specify the tenant to retrieve a list of users from. + :type tenant_code: str + :param assigned_profiles: If true, the response returns a list of the user's assigned profiles. + :type assigned_profiles: bool + :param assigned_permissions: If true, the response returns the user's assigned permissions. + :type assigned_permissions: bool + :param assigned_user_groups: If true, the response returns the user's assigned user groups. + :type assigned_user_groups: bool + :param limit: The number of results to return. The maximum number of users to retrieve is 1000. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_all_users_serialize( + tenant_code=tenant_code, + assigned_profiles=assigned_profiles, + assigned_permissions=assigned_permissions, + assigned_user_groups=assigned_user_groups, + limit=limit, + start=start, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllUsersGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_all_users_with_http_info( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a list of users from.")] = None, + assigned_profiles: Annotated[Optional[StrictBool], Field(description="If true, the response returns a list of the user's assigned profiles.")] = None, + assigned_permissions: Annotated[Optional[StrictBool], Field(description="If true, the response returns the user's assigned permissions.")] = None, + assigned_user_groups: Annotated[Optional[StrictBool], Field(description="If true, the response returns the user's assigned user groups.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of users to retrieve is 1000.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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[AllUsersGetAPIResponseDTO]: + """Retrieve a list of all users + + This API allows you to retrieve the full list of users and their current states. To specify the project in which to retrieve user information, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user information from production. + + :param tenant_code: Specify the tenant to retrieve a list of users from. + :type tenant_code: str + :param assigned_profiles: If true, the response returns a list of the user's assigned profiles. + :type assigned_profiles: bool + :param assigned_permissions: If true, the response returns the user's assigned permissions. + :type assigned_permissions: bool + :param assigned_user_groups: If true, the response returns the user's assigned user groups. + :type assigned_user_groups: bool + :param limit: The number of results to return. The maximum number of users to retrieve is 1000. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_all_users_serialize( + tenant_code=tenant_code, + assigned_profiles=assigned_profiles, + assigned_permissions=assigned_permissions, + assigned_user_groups=assigned_user_groups, + limit=limit, + start=start, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllUsersGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_all_users_without_preload_content( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a list of users from.")] = None, + assigned_profiles: Annotated[Optional[StrictBool], Field(description="If true, the response returns a list of the user's assigned profiles.")] = None, + assigned_permissions: Annotated[Optional[StrictBool], Field(description="If true, the response returns the user's assigned permissions.")] = None, + assigned_user_groups: Annotated[Optional[StrictBool], Field(description="If true, the response returns the user's assigned user groups.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of users to retrieve is 1000.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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: + """Retrieve a list of all users + + This API allows you to retrieve the full list of users and their current states. To specify the project in which to retrieve user information, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user information from production. + + :param tenant_code: Specify the tenant to retrieve a list of users from. + :type tenant_code: str + :param assigned_profiles: If true, the response returns a list of the user's assigned profiles. + :type assigned_profiles: bool + :param assigned_permissions: If true, the response returns the user's assigned permissions. + :type assigned_permissions: bool + :param assigned_user_groups: If true, the response returns the user's assigned user groups. + :type assigned_user_groups: bool + :param limit: The number of results to return. The maximum number of users to retrieve is 1000. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_all_users_serialize( + tenant_code=tenant_code, + assigned_profiles=assigned_profiles, + assigned_permissions=assigned_permissions, + assigned_user_groups=assigned_user_groups, + limit=limit, + start=start, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllUsersGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_all_users_serialize( + self, + tenant_code, + assigned_profiles, + assigned_permissions, + assigned_user_groups, + limit, + start, + project_id, + target_tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if assigned_profiles is not None: + + _query_params.append(('assignedProfiles', assigned_profiles)) + + if assigned_permissions is not None: + + _query_params.append(('assignedPermissions', assigned_permissions)) + + if assigned_user_groups is not None: + + _query_params.append(('assignedUserGroups', assigned_user_groups)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # process the header parameters + if project_id is not None: + _header_params['ProjectID'] = project_id + if target_tenant_id is not None: + _header_params['TargetTenantID'] = target_tenant_id + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/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 get_application_logs_xlsx( + self, + start_time: Annotated[Optional[StrictStr], Field(description="An inclusive date-time to start retrieving Application Logs from.")] = None, + end_time: Annotated[Optional[StrictStr], Field(description="An exclusive date-time to stop retrieving Application Logs from.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve Application Logs from.")] = 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, + ) -> bytearray: + """Retrieve the Application Logs + + This API allows you to export the Application Logs for a tenant. The Application Logs track information about your users and how they are using the application. Performing regular audits will help you identify potential security issues and keep your data safe. As part of user management, download the Application Logs to monitor user activity and logon events to ensure your users are performing authorized activities. Administrating tenant users can export application logs for the administrating tenant and the analytic tenants those users belong to. + + :param start_time: An inclusive date-time to start retrieving Application Logs from. + :type start_time: str + :param end_time: An exclusive date-time to stop retrieving Application Logs from. + :type end_time: str + :param tenant_code: Specify the tenant to retrieve Application Logs from. + :type tenant_code: 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_application_logs_xlsx_serialize( + start_time=start_time, + end_time=end_time, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_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_application_logs_xlsx_with_http_info( + self, + start_time: Annotated[Optional[StrictStr], Field(description="An inclusive date-time to start retrieving Application Logs from.")] = None, + end_time: Annotated[Optional[StrictStr], Field(description="An exclusive date-time to stop retrieving Application Logs from.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve Application Logs from.")] = 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[bytearray]: + """Retrieve the Application Logs + + This API allows you to export the Application Logs for a tenant. The Application Logs track information about your users and how they are using the application. Performing regular audits will help you identify potential security issues and keep your data safe. As part of user management, download the Application Logs to monitor user activity and logon events to ensure your users are performing authorized activities. Administrating tenant users can export application logs for the administrating tenant and the analytic tenants those users belong to. + + :param start_time: An inclusive date-time to start retrieving Application Logs from. + :type start_time: str + :param end_time: An exclusive date-time to stop retrieving Application Logs from. + :type end_time: str + :param tenant_code: Specify the tenant to retrieve Application Logs from. + :type tenant_code: 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_application_logs_xlsx_serialize( + start_time=start_time, + end_time=end_time, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_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_application_logs_xlsx_without_preload_content( + self, + start_time: Annotated[Optional[StrictStr], Field(description="An inclusive date-time to start retrieving Application Logs from.")] = None, + end_time: Annotated[Optional[StrictStr], Field(description="An exclusive date-time to stop retrieving Application Logs from.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve Application Logs from.")] = 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: + """Retrieve the Application Logs + + This API allows you to export the Application Logs for a tenant. The Application Logs track information about your users and how they are using the application. Performing regular audits will help you identify potential security issues and keep your data safe. As part of user management, download the Application Logs to monitor user activity and logon events to ensure your users are performing authorized activities. Administrating tenant users can export application logs for the administrating tenant and the analytic tenants those users belong to. + + :param start_time: An inclusive date-time to start retrieving Application Logs from. + :type start_time: str + :param end_time: An exclusive date-time to stop retrieving Application Logs from. + :type end_time: str + :param tenant_code: Specify the tenant to retrieve Application Logs from. + :type tenant_code: 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_application_logs_xlsx_serialize( + start_time=start_time, + end_time=end_time, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_application_logs_xlsx_serialize( + self, + start_time, + end_time, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if start_time is not None: + + _query_params.append(('startTime', start_time)) + + if end_time is not None: + + _query_params.append(('endTime', end_time)) + + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # 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( + [ + 'application/vnd.ms-excel', + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/users/reports/application-logs', + 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_data_security_report_xlsx( + self, + user_id: Annotated[StrictStr, Field(description="The ID of the user to retrieve the report for.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the Data Security Report from.")] = 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, + ) -> bytearray: + """Retrieve the Data Security Report + + This API allows you to export the data security report of a user. The Data Security Report provides information about a specific user to see which populations and properties that user has access to as a result of the permissions assigned to them. Administrating tenant users can export the report for users in the administrating tenant and the analytic tenants those users belong to. + + :param user_id: The ID of the user to retrieve the report for. (required) + :type user_id: str + :param tenant_code: Specify the tenant to retrieve the Data Security Report from. + :type tenant_code: 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_data_security_report_xlsx_serialize( + user_id=user_id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_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_data_security_report_xlsx_with_http_info( + self, + user_id: Annotated[StrictStr, Field(description="The ID of the user to retrieve the report for.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the Data Security Report from.")] = 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[bytearray]: + """Retrieve the Data Security Report + + This API allows you to export the data security report of a user. The Data Security Report provides information about a specific user to see which populations and properties that user has access to as a result of the permissions assigned to them. Administrating tenant users can export the report for users in the administrating tenant and the analytic tenants those users belong to. + + :param user_id: The ID of the user to retrieve the report for. (required) + :type user_id: str + :param tenant_code: Specify the tenant to retrieve the Data Security Report from. + :type tenant_code: 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_data_security_report_xlsx_serialize( + user_id=user_id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_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_data_security_report_xlsx_without_preload_content( + self, + user_id: Annotated[StrictStr, Field(description="The ID of the user to retrieve the report for.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the Data Security Report from.")] = 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: + """Retrieve the Data Security Report + + This API allows you to export the data security report of a user. The Data Security Report provides information about a specific user to see which populations and properties that user has access to as a result of the permissions assigned to them. Administrating tenant users can export the report for users in the administrating tenant and the analytic tenants those users belong to. + + :param user_id: The ID of the user to retrieve the report for. (required) + :type user_id: str + :param tenant_code: Specify the tenant to retrieve the Data Security Report from. + :type tenant_code: 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_data_security_report_xlsx_serialize( + user_id=user_id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_data_security_report_xlsx_serialize( + self, + user_id, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if user_id is not None: + _path_params['userId'] = user_id + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # 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( + [ + 'application/vnd.ms-excel', + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/users/{userId}/reports/data-security', + 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_permission_assigned_users( + self, + permission_id: Annotated[StrictStr, Field(description="The unique identifier of the permission you want to retrieve users for.")], + include_user_groups: Annotated[Optional[StrictBool], Field(description="If `true`, the response returns a list of all users that are assigned the permission, including users that are assigned the permission through a user group. If `false`, the response returns a list of the users that are directly assigned the permission.")] = None, + tenant_filter: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the list of users from.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of tenants to retrieve is 100.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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, + ) -> PermissionAssignedUsersDTO: + """Retrieve users that are assigned a specific permission + + This API allows you to retrieve all the users that are assigned a specified permission. You must know the ID of the permission you want to retrieve users for. To specify the project in which to retrieve users assigned to a specific permission for the login tenant, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves users assigned to a specific permission from production. + + :param permission_id: The unique identifier of the permission you want to retrieve users for. (required) + :type permission_id: str + :param include_user_groups: If `true`, the response returns a list of all users that are assigned the permission, including users that are assigned the permission through a user group. If `false`, the response returns a list of the users that are directly assigned the permission. + :type include_user_groups: bool + :param tenant_filter: Specify the tenant to retrieve the list of users from. + :type tenant_filter: str + :param limit: The number of results to return. The maximum number of tenants to retrieve is 100. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_permission_assigned_users_serialize( + permission_id=permission_id, + include_user_groups=include_user_groups, + tenant_filter=tenant_filter, + limit=limit, + start=start, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionAssignedUsersDTO", + } + response_data = self.api_client.call_api( + *_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_permission_assigned_users_with_http_info( + self, + permission_id: Annotated[StrictStr, Field(description="The unique identifier of the permission you want to retrieve users for.")], + include_user_groups: Annotated[Optional[StrictBool], Field(description="If `true`, the response returns a list of all users that are assigned the permission, including users that are assigned the permission through a user group. If `false`, the response returns a list of the users that are directly assigned the permission.")] = None, + tenant_filter: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the list of users from.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of tenants to retrieve is 100.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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[PermissionAssignedUsersDTO]: + """Retrieve users that are assigned a specific permission + + This API allows you to retrieve all the users that are assigned a specified permission. You must know the ID of the permission you want to retrieve users for. To specify the project in which to retrieve users assigned to a specific permission for the login tenant, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves users assigned to a specific permission from production. + + :param permission_id: The unique identifier of the permission you want to retrieve users for. (required) + :type permission_id: str + :param include_user_groups: If `true`, the response returns a list of all users that are assigned the permission, including users that are assigned the permission through a user group. If `false`, the response returns a list of the users that are directly assigned the permission. + :type include_user_groups: bool + :param tenant_filter: Specify the tenant to retrieve the list of users from. + :type tenant_filter: str + :param limit: The number of results to return. The maximum number of tenants to retrieve is 100. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_permission_assigned_users_serialize( + permission_id=permission_id, + include_user_groups=include_user_groups, + tenant_filter=tenant_filter, + limit=limit, + start=start, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionAssignedUsersDTO", + } + response_data = self.api_client.call_api( + *_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_permission_assigned_users_without_preload_content( + self, + permission_id: Annotated[StrictStr, Field(description="The unique identifier of the permission you want to retrieve users for.")], + include_user_groups: Annotated[Optional[StrictBool], Field(description="If `true`, the response returns a list of all users that are assigned the permission, including users that are assigned the permission through a user group. If `false`, the response returns a list of the users that are directly assigned the permission.")] = None, + tenant_filter: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the list of users from.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of tenants to retrieve is 100.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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: + """Retrieve users that are assigned a specific permission + + This API allows you to retrieve all the users that are assigned a specified permission. You must know the ID of the permission you want to retrieve users for. To specify the project in which to retrieve users assigned to a specific permission for the login tenant, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves users assigned to a specific permission from production. + + :param permission_id: The unique identifier of the permission you want to retrieve users for. (required) + :type permission_id: str + :param include_user_groups: If `true`, the response returns a list of all users that are assigned the permission, including users that are assigned the permission through a user group. If `false`, the response returns a list of the users that are directly assigned the permission. + :type include_user_groups: bool + :param tenant_filter: Specify the tenant to retrieve the list of users from. + :type tenant_filter: str + :param limit: The number of results to return. The maximum number of tenants to retrieve is 100. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_permission_assigned_users_serialize( + permission_id=permission_id, + include_user_groups=include_user_groups, + tenant_filter=tenant_filter, + limit=limit, + start=start, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionAssignedUsersDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_permission_assigned_users_serialize( + self, + permission_id, + include_user_groups, + tenant_filter, + limit, + start, + project_id, + target_tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if permission_id is not None: + _path_params['permissionId'] = permission_id + # process the query parameters + if include_user_groups is not None: + + _query_params.append(('includeUserGroups', include_user_groups)) + + if tenant_filter is not None: + + _query_params.append(('tenantFilter', tenant_filter)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # process the header parameters + if project_id is not None: + _header_params['ProjectID'] = project_id + if target_tenant_id is not None: + _header_params['TargetTenantID'] = target_tenant_id + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/permissions/{permissionId}/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 get_profile_assignments_xlsx( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve profile assignments from.")] = 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, + ) -> bytearray: + """Retrieve user profile assignments in XLSX format + + This API allows you to export the profiles assigned to each user. This report details the profiles assigned to each user and the profile validity period. Administrating tenant users can export profile assignments for the administrating tenant and the analytic tenants those users belong to. + + :param tenant_code: Specify the tenant to retrieve profile assignments from. + :type tenant_code: 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_assignments_xlsx_serialize( + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_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_assignments_xlsx_with_http_info( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve profile assignments from.")] = 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[bytearray]: + """Retrieve user profile assignments in XLSX format + + This API allows you to export the profiles assigned to each user. This report details the profiles assigned to each user and the profile validity period. Administrating tenant users can export profile assignments for the administrating tenant and the analytic tenants those users belong to. + + :param tenant_code: Specify the tenant to retrieve profile assignments from. + :type tenant_code: 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_assignments_xlsx_serialize( + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_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_assignments_xlsx_without_preload_content( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve profile assignments from.")] = 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: + """Retrieve user profile assignments in XLSX format + + This API allows you to export the profiles assigned to each user. This report details the profiles assigned to each user and the profile validity period. Administrating tenant users can export profile assignments for the administrating tenant and the analytic tenants those users belong to. + + :param tenant_code: Specify the tenant to retrieve profile assignments from. + :type tenant_code: 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_assignments_xlsx_serialize( + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_profile_assignments_xlsx_serialize( + self, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # 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( + [ + 'application/vnd.ms-excel', + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/users/reports/profile-assignments', + 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_detail( + self, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to retrieve.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a user from.")] = None, + assigned_profiles: Annotated[Optional[StrictBool], Field(description="If true, the response returns a list of the user's assigned profiles.")] = None, + assigned_permissions: Annotated[Optional[StrictBool], Field(description="If true, the response returns the user's assigned permissions.")] = None, + assigned_user_groups: Annotated[Optional[StrictBool], Field(description="If true, the response returns the user's assigned user groups.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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, + ) -> UserGetAPIResponseDTO: + """Retrieve a user's details + + This API allows you to retrieve all details for a specified user. To specify the project in which to retrieve user information, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user information from production. + + :param user_id: The ID of the user you want to retrieve. (required) + :type user_id: str + :param tenant_code: Specify the tenant to retrieve a user from. + :type tenant_code: str + :param assigned_profiles: If true, the response returns a list of the user's assigned profiles. + :type assigned_profiles: bool + :param assigned_permissions: If true, the response returns the user's assigned permissions. + :type assigned_permissions: bool + :param assigned_user_groups: If true, the response returns the user's assigned user groups. + :type assigned_user_groups: bool + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_detail_serialize( + user_id=user_id, + tenant_code=tenant_code, + assigned_profiles=assigned_profiles, + assigned_permissions=assigned_permissions, + assigned_user_groups=assigned_user_groups, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_detail_with_http_info( + self, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to retrieve.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a user from.")] = None, + assigned_profiles: Annotated[Optional[StrictBool], Field(description="If true, the response returns a list of the user's assigned profiles.")] = None, + assigned_permissions: Annotated[Optional[StrictBool], Field(description="If true, the response returns the user's assigned permissions.")] = None, + assigned_user_groups: Annotated[Optional[StrictBool], Field(description="If true, the response returns the user's assigned user groups.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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[UserGetAPIResponseDTO]: + """Retrieve a user's details + + This API allows you to retrieve all details for a specified user. To specify the project in which to retrieve user information, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user information from production. + + :param user_id: The ID of the user you want to retrieve. (required) + :type user_id: str + :param tenant_code: Specify the tenant to retrieve a user from. + :type tenant_code: str + :param assigned_profiles: If true, the response returns a list of the user's assigned profiles. + :type assigned_profiles: bool + :param assigned_permissions: If true, the response returns the user's assigned permissions. + :type assigned_permissions: bool + :param assigned_user_groups: If true, the response returns the user's assigned user groups. + :type assigned_user_groups: bool + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_detail_serialize( + user_id=user_id, + tenant_code=tenant_code, + assigned_profiles=assigned_profiles, + assigned_permissions=assigned_permissions, + assigned_user_groups=assigned_user_groups, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_detail_without_preload_content( + self, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to retrieve.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve a user from.")] = None, + assigned_profiles: Annotated[Optional[StrictBool], Field(description="If true, the response returns a list of the user's assigned profiles.")] = None, + assigned_permissions: Annotated[Optional[StrictBool], Field(description="If true, the response returns the user's assigned permissions.")] = None, + assigned_user_groups: Annotated[Optional[StrictBool], Field(description="If true, the response returns the user's assigned user groups.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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: + """Retrieve a user's details + + This API allows you to retrieve all details for a specified user. To specify the project in which to retrieve user information, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user information from production. + + :param user_id: The ID of the user you want to retrieve. (required) + :type user_id: str + :param tenant_code: Specify the tenant to retrieve a user from. + :type tenant_code: str + :param assigned_profiles: If true, the response returns a list of the user's assigned profiles. + :type assigned_profiles: bool + :param assigned_permissions: If true, the response returns the user's assigned permissions. + :type assigned_permissions: bool + :param assigned_user_groups: If true, the response returns the user's assigned user groups. + :type assigned_user_groups: bool + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_detail_serialize( + user_id=user_id, + tenant_code=tenant_code, + assigned_profiles=assigned_profiles, + assigned_permissions=assigned_permissions, + assigned_user_groups=assigned_user_groups, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGetAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_detail_serialize( + self, + user_id, + tenant_code, + assigned_profiles, + assigned_permissions, + assigned_user_groups, + project_id, + target_tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if user_id is not None: + _path_params['userId'] = user_id + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if assigned_profiles is not None: + + _query_params.append(('assignedProfiles', assigned_profiles)) + + if assigned_permissions is not None: + + _query_params.append(('assignedPermissions', assigned_permissions)) + + if assigned_user_groups is not None: + + _query_params.append(('assignedUserGroups', assigned_user_groups)) + + # process the header parameters + if project_id is not None: + _header_params['ProjectID'] = project_id + if target_tenant_id is not None: + _header_params['TargetTenantID'] = target_tenant_id + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/users/{userId}', + 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_group_users( + self, + user_group_id: Annotated[StrictStr, Field(description="The ID of user group.")], + tenant_filter: Annotated[Optional[StrictStr], Field(description="Specifies the tenant to retrieve the list of users from.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of tenants to retrieve is 100.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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, + ) -> UserGroupsUsersDTO: + """Retrieve a list of user group users + + This API allows you to retrieve the list of users explicitly assigned to a user group. Users that are implicitly included in the user group through the user group's dynamic filters are not returned by this endpoint. To specify the project in which to retrieve user group users for the login tenant, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user group users from production. + + :param user_group_id: The ID of user group. (required) + :type user_group_id: str + :param tenant_filter: Specifies the tenant to retrieve the list of users from. + :type tenant_filter: str + :param limit: The number of results to return. The maximum number of tenants to retrieve is 100. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_group_users_serialize( + user_group_id=user_group_id, + tenant_filter=tenant_filter, + limit=limit, + start=start, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupsUsersDTO", + } + response_data = self.api_client.call_api( + *_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_group_users_with_http_info( + self, + user_group_id: Annotated[StrictStr, Field(description="The ID of user group.")], + tenant_filter: Annotated[Optional[StrictStr], Field(description="Specifies the tenant to retrieve the list of users from.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of tenants to retrieve is 100.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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[UserGroupsUsersDTO]: + """Retrieve a list of user group users + + This API allows you to retrieve the list of users explicitly assigned to a user group. Users that are implicitly included in the user group through the user group's dynamic filters are not returned by this endpoint. To specify the project in which to retrieve user group users for the login tenant, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user group users from production. + + :param user_group_id: The ID of user group. (required) + :type user_group_id: str + :param tenant_filter: Specifies the tenant to retrieve the list of users from. + :type tenant_filter: str + :param limit: The number of results to return. The maximum number of tenants to retrieve is 100. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_group_users_serialize( + user_group_id=user_group_id, + tenant_filter=tenant_filter, + limit=limit, + start=start, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupsUsersDTO", + } + response_data = self.api_client.call_api( + *_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_group_users_without_preload_content( + self, + user_group_id: Annotated[StrictStr, Field(description="The ID of user group.")], + tenant_filter: Annotated[Optional[StrictStr], Field(description="Specifies the tenant to retrieve the list of users from.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of results to return. The maximum number of tenants to retrieve is 100.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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: + """Retrieve a list of user group users + + This API allows you to retrieve the list of users explicitly assigned to a user group. Users that are implicitly included in the user group through the user group's dynamic filters are not returned by this endpoint. To specify the project in which to retrieve user group users for the login tenant, provide a project UUID in the `ProjectID` request header. If omitted, the request retrieves user group users from production. + + :param user_group_id: The ID of user group. (required) + :type user_group_id: str + :param tenant_filter: Specifies the tenant to retrieve the list of users from. + :type tenant_filter: str + :param limit: The number of results to return. The maximum number of tenants to retrieve is 100. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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_group_users_serialize( + user_group_id=user_group_id, + tenant_filter=tenant_filter, + limit=limit, + start=start, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserGroupsUsersDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_group_users_serialize( + self, + user_group_id, + tenant_filter, + limit, + start, + project_id, + target_tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if user_group_id is not None: + _path_params['userGroupId'] = user_group_id + # process the query parameters + if tenant_filter is not None: + + _query_params.append(('tenantFilter', tenant_filter)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # process the header parameters + if project_id is not None: + _header_params['ProjectID'] = project_id + if target_tenant_id is not None: + _header_params['TargetTenantID'] = target_tenant_id + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/user-groups/{userGroupId}/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 get_user_permissions_xlsx( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the permission assignments report from.")] = 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, + ) -> bytearray: + """Retrieve user permissions in XLSX format + + This API allows you to export the user permission assignments for a tenant. The permission assignments report provides a summary of the permissions your users have been assigned and how each permission is being used across your user base, as well as the users that do not have any permissions assigned to them. Administrating tenant users can export permission assignments for the administrating tenant and the analytic tenants those users belong to. + + :param tenant_code: Specify the tenant to retrieve the permission assignments report from. + :type tenant_code: 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_permissions_xlsx_serialize( + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_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_permissions_xlsx_with_http_info( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the permission assignments report from.")] = 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[bytearray]: + """Retrieve user permissions in XLSX format + + This API allows you to export the user permission assignments for a tenant. The permission assignments report provides a summary of the permissions your users have been assigned and how each permission is being used across your user base, as well as the users that do not have any permissions assigned to them. Administrating tenant users can export permission assignments for the administrating tenant and the analytic tenants those users belong to. + + :param tenant_code: Specify the tenant to retrieve the permission assignments report from. + :type tenant_code: 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_permissions_xlsx_serialize( + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_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_permissions_xlsx_without_preload_content( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to retrieve the permission assignments report from.")] = 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: + """Retrieve user permissions in XLSX format + + This API allows you to export the user permission assignments for a tenant. The permission assignments report provides a summary of the permissions your users have been assigned and how each permission is being used across your user base, as well as the users that do not have any permissions assigned to them. Administrating tenant users can export permission assignments for the administrating tenant and the analytic tenants those users belong to. + + :param tenant_code: Specify the tenant to retrieve the permission assignments report from. + :type tenant_code: 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_permissions_xlsx_serialize( + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_permissions_xlsx_serialize( + self, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # 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( + [ + 'application/vnd.ms-excel', + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/users/reports/permission-assignments', + 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 remove_permissions( + self, + assign_revoke_permissions_request_dto: AssignRevokePermissionsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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, + ) -> AssignRevokePermissionsResponseDTO: + """Remove permissions from users + + This API allows you to remove a permission from specific users. Administrating tenant users can remove permissions from users in the administrating tenant and in the analytic tenants those users belong to. To remove permission from users in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can remove permissions from users in analytic tenants by providing a tenant code and project ID in the request body. + + :param assign_revoke_permissions_request_dto: (required) + :type assign_revoke_permissions_request_dto: AssignRevokePermissionsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._remove_permissions_serialize( + assign_revoke_permissions_request_dto=assign_revoke_permissions_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssignRevokePermissionsResponseDTO", + } + response_data = self.api_client.call_api( + *_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 remove_permissions_with_http_info( + self, + assign_revoke_permissions_request_dto: AssignRevokePermissionsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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[AssignRevokePermissionsResponseDTO]: + """Remove permissions from users + + This API allows you to remove a permission from specific users. Administrating tenant users can remove permissions from users in the administrating tenant and in the analytic tenants those users belong to. To remove permission from users in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can remove permissions from users in analytic tenants by providing a tenant code and project ID in the request body. + + :param assign_revoke_permissions_request_dto: (required) + :type assign_revoke_permissions_request_dto: AssignRevokePermissionsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._remove_permissions_serialize( + assign_revoke_permissions_request_dto=assign_revoke_permissions_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssignRevokePermissionsResponseDTO", + } + response_data = self.api_client.call_api( + *_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 remove_permissions_without_preload_content( + self, + assign_revoke_permissions_request_dto: AssignRevokePermissionsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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: + """Remove permissions from users + + This API allows you to remove a permission from specific users. Administrating tenant users can remove permissions from users in the administrating tenant and in the analytic tenants those users belong to. To remove permission from users in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can remove permissions from users in analytic tenants by providing a tenant code and project ID in the request body. + + :param assign_revoke_permissions_request_dto: (required) + :type assign_revoke_permissions_request_dto: AssignRevokePermissionsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._remove_permissions_serialize( + assign_revoke_permissions_request_dto=assign_revoke_permissions_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssignRevokePermissionsResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_permissions_serialize( + self, + assign_revoke_permissions_request_dto, + project_id, + target_tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if project_id is not None: + _header_params['ProjectID'] = project_id + if target_tenant_id is not None: + _header_params['TargetTenantID'] = target_tenant_id + # process the form parameters + # process the body parameter + if assign_revoke_permissions_request_dto is not None: + _body_params = assign_revoke_permissions_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='DELETE', + resource_path='/v1/admin/permissions/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 remove_users_from_user_group( + self, + users_to_user_groups_request_dto: UsersToUserGroupsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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, + ) -> SecurityAssignmentResponseDTO: + """Remove users from user groups + + This API allows you to remove users from specific user groups. To remove users from user groups in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can remove users to user groups in analytic tenants by providing a tenant code and project ID in the request body. + + :param users_to_user_groups_request_dto: (required) + :type users_to_user_groups_request_dto: UsersToUserGroupsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._remove_users_from_user_group_serialize( + users_to_user_groups_request_dto=users_to_user_groups_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SecurityAssignmentResponseDTO", + } + response_data = self.api_client.call_api( + *_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 remove_users_from_user_group_with_http_info( + self, + users_to_user_groups_request_dto: UsersToUserGroupsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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[SecurityAssignmentResponseDTO]: + """Remove users from user groups + + This API allows you to remove users from specific user groups. To remove users from user groups in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can remove users to user groups in analytic tenants by providing a tenant code and project ID in the request body. + + :param users_to_user_groups_request_dto: (required) + :type users_to_user_groups_request_dto: UsersToUserGroupsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._remove_users_from_user_group_serialize( + users_to_user_groups_request_dto=users_to_user_groups_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SecurityAssignmentResponseDTO", + } + response_data = self.api_client.call_api( + *_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 remove_users_from_user_group_without_preload_content( + self, + users_to_user_groups_request_dto: UsersToUserGroupsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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: + """Remove users from user groups + + This API allows you to remove users from specific user groups. To remove users from user groups in a project for the administrating tenant, provide a project UUID in the `ProjectID` request header. Administrating tenants can remove users to user groups in analytic tenants by providing a tenant code and project ID in the request body. + + :param users_to_user_groups_request_dto: (required) + :type users_to_user_groups_request_dto: UsersToUserGroupsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._remove_users_from_user_group_serialize( + users_to_user_groups_request_dto=users_to_user_groups_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SecurityAssignmentResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_users_from_user_group_serialize( + self, + users_to_user_groups_request_dto, + project_id, + target_tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if project_id is not None: + _header_params['ProjectID'] = project_id + if target_tenant_id is not None: + _header_params['TargetTenantID'] = target_tenant_id + # process the form parameters + # process the body parameter + if users_to_user_groups_request_dto is not None: + _body_params = users_to_user_groups_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='DELETE', + resource_path='/v1/admin/user-groups/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 revoke_permissions_from_user_groups( + self, + permissions_to_user_groups_request_dto: PermissionsToUserGroupsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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, + ) -> PermissionsToUserGroupForTenantDTO: + """Remove permissions from user groups + + This API allows you to remove a permission from specific user groups. To remove permissions from user groups in a project, provide a project UUID in the `ProjectID` request header. + + :param permissions_to_user_groups_request_dto: (required) + :type permissions_to_user_groups_request_dto: PermissionsToUserGroupsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._revoke_permissions_from_user_groups_serialize( + permissions_to_user_groups_request_dto=permissions_to_user_groups_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionsToUserGroupForTenantDTO", + } + response_data = self.api_client.call_api( + *_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 revoke_permissions_from_user_groups_with_http_info( + self, + permissions_to_user_groups_request_dto: PermissionsToUserGroupsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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[PermissionsToUserGroupForTenantDTO]: + """Remove permissions from user groups + + This API allows you to remove a permission from specific user groups. To remove permissions from user groups in a project, provide a project UUID in the `ProjectID` request header. + + :param permissions_to_user_groups_request_dto: (required) + :type permissions_to_user_groups_request_dto: PermissionsToUserGroupsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._revoke_permissions_from_user_groups_serialize( + permissions_to_user_groups_request_dto=permissions_to_user_groups_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionsToUserGroupForTenantDTO", + } + response_data = self.api_client.call_api( + *_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 revoke_permissions_from_user_groups_without_preload_content( + self, + permissions_to_user_groups_request_dto: PermissionsToUserGroupsRequestDTO, + project_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify a project in which to make the request. If omitted, the request uses the production version.")] = None, + target_tenant_id: Annotated[Optional[StrictStr], Field(description="Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.")] = 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: + """Remove permissions from user groups + + This API allows you to remove a permission from specific user groups. To remove permissions from user groups in a project, provide a project UUID in the `ProjectID` request header. + + :param permissions_to_user_groups_request_dto: (required) + :type permissions_to_user_groups_request_dto: PermissionsToUserGroupsRequestDTO + :param project_id: Optionally, specify a project in which to make the request. If omitted, the request uses the production version. + :type project_id: str + :param target_tenant_id: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant. + :type target_tenant_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._revoke_permissions_from_user_groups_serialize( + permissions_to_user_groups_request_dto=permissions_to_user_groups_request_dto, + project_id=project_id, + target_tenant_id=target_tenant_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PermissionsToUserGroupForTenantDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _revoke_permissions_from_user_groups_serialize( + self, + permissions_to_user_groups_request_dto, + project_id, + target_tenant_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if project_id is not None: + _header_params['ProjectID'] = project_id + if target_tenant_id is not None: + _header_params['TargetTenantID'] = target_tenant_id + # process the form parameters + # process the body parameter + if permissions_to_user_groups_request_dto is not None: + _body_params = permissions_to_user_groups_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='DELETE', + resource_path='/v1/admin/user-groups/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 + ) + + + + + @validate_call + def update_user( + self, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to update.")], + user_update_api_request_dto: UserUpdateAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to update a user in.")] = 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, + ) -> UserUpdateAPIRequestDTO: + """Update a user + + Update an existing user's information, such as their display name or if the user is enabled in Visier. + + :param user_id: The ID of the user you want to update. (required) + :type user_id: str + :param user_update_api_request_dto: (required) + :type user_update_api_request_dto: UserUpdateAPIRequestDTO + :param tenant_code: Specify the tenant to update a user in. + :type tenant_code: 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_user_serialize( + user_id=user_id, + user_update_api_request_dto=user_update_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserUpdateAPIRequestDTO", + } + response_data = self.api_client.call_api( + *_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_user_with_http_info( + self, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to update.")], + user_update_api_request_dto: UserUpdateAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to update a user in.")] = 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[UserUpdateAPIRequestDTO]: + """Update a user + + Update an existing user's information, such as their display name or if the user is enabled in Visier. + + :param user_id: The ID of the user you want to update. (required) + :type user_id: str + :param user_update_api_request_dto: (required) + :type user_update_api_request_dto: UserUpdateAPIRequestDTO + :param tenant_code: Specify the tenant to update a user in. + :type tenant_code: 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_user_serialize( + user_id=user_id, + user_update_api_request_dto=user_update_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserUpdateAPIRequestDTO", + } + response_data = self.api_client.call_api( + *_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_user_without_preload_content( + self, + user_id: Annotated[StrictStr, Field(description="The ID of the user you want to update.")], + user_update_api_request_dto: UserUpdateAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to update a user in.")] = 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 user + + Update an existing user's information, such as their display name or if the user is enabled in Visier. + + :param user_id: The ID of the user you want to update. (required) + :type user_id: str + :param user_update_api_request_dto: (required) + :type user_update_api_request_dto: UserUpdateAPIRequestDTO + :param tenant_code: Specify the tenant to update a user in. + :type tenant_code: 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_user_serialize( + user_id=user_id, + user_update_api_request_dto=user_update_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserUpdateAPIRequestDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_user_serialize( + self, + user_id, + user_update_api_request_dto, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if user_id is not None: + _path_params['userId'] = user_id + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # process the header parameters + # process the form parameters + # process the body parameter + if user_update_api_request_dto is not None: + _body_params = user_update_api_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='PUT', + resource_path='/v1/admin/users/{userId}', + 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/src/visier.sdk.api.administration/visier/sdk/api/administration/api/users_v2_api.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/users_v2_api.py new file mode 100644 index 000000000..caf283fbc --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/api/users_v2_api.py @@ -0,0 +1,906 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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 visier.sdk.api.administration.models.users_api_response_dto import UsersAPIResponseDTO +from visier.sdk.api.administration.models.users_creation_api_request_dto import UsersCreationAPIRequestDTO +from visier.sdk.api.administration.models.users_delete_api_request_dto import UsersDeleteAPIRequestDTO +from visier.sdk.api.administration.models.users_update_api_request_dto import UsersUpdateAPIRequestDTO + +from visier.sdk.api.administration.api_client import ApiClient, RequestSerialized +from visier.sdk.api.administration.api_response import ApiResponse +from visier.sdk.api.administration.rest import RESTResponseType + + +class UsersV2Api: + """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 add_users( + self, + users_creation_api_request_dto: UsersCreationAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to create a user in.")] = 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, + ) -> UsersAPIResponseDTO: + """Add users + + Create new users. Administrating tenant users can specify the tenant in which to add these users.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param users_creation_api_request_dto: (required) + :type users_creation_api_request_dto: UsersCreationAPIRequestDTO + :param tenant_code: Specify the tenant to create a user in. + :type tenant_code: 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._add_users_serialize( + users_creation_api_request_dto=users_creation_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UsersAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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 add_users_with_http_info( + self, + users_creation_api_request_dto: UsersCreationAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to create a user in.")] = 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[UsersAPIResponseDTO]: + """Add users + + Create new users. Administrating tenant users can specify the tenant in which to add these users.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param users_creation_api_request_dto: (required) + :type users_creation_api_request_dto: UsersCreationAPIRequestDTO + :param tenant_code: Specify the tenant to create a user in. + :type tenant_code: 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._add_users_serialize( + users_creation_api_request_dto=users_creation_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UsersAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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 add_users_without_preload_content( + self, + users_creation_api_request_dto: UsersCreationAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to create a user in.")] = 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: + """Add users + + Create new users. Administrating tenant users can specify the tenant in which to add these users.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param users_creation_api_request_dto: (required) + :type users_creation_api_request_dto: UsersCreationAPIRequestDTO + :param tenant_code: Specify the tenant to create a user in. + :type tenant_code: 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._add_users_serialize( + users_creation_api_request_dto=users_creation_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UsersAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_users_serialize( + self, + users_creation_api_request_dto, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # process the header parameters + # process the form parameters + # process the body parameter + if users_creation_api_request_dto is not None: + _body_params = users_creation_api_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='/v2/admin/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 delete_users( + self, + users_delete_api_request_dto: UsersDeleteAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to delete a user in.")] = 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, + ) -> UsersAPIResponseDTO: + """Delete users + + Delete an existing user. Administrating tenant users can specify the tenant from which to delete a user.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param users_delete_api_request_dto: (required) + :type users_delete_api_request_dto: UsersDeleteAPIRequestDTO + :param tenant_code: Specify the tenant to delete a user in. + :type tenant_code: 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_users_serialize( + users_delete_api_request_dto=users_delete_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UsersAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_users_with_http_info( + self, + users_delete_api_request_dto: UsersDeleteAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to delete a user in.")] = 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[UsersAPIResponseDTO]: + """Delete users + + Delete an existing user. Administrating tenant users can specify the tenant from which to delete a user.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param users_delete_api_request_dto: (required) + :type users_delete_api_request_dto: UsersDeleteAPIRequestDTO + :param tenant_code: Specify the tenant to delete a user in. + :type tenant_code: 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_users_serialize( + users_delete_api_request_dto=users_delete_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UsersAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_users_without_preload_content( + self, + users_delete_api_request_dto: UsersDeleteAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to delete a user in.")] = 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 users + + Delete an existing user. Administrating tenant users can specify the tenant from which to delete a user.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param users_delete_api_request_dto: (required) + :type users_delete_api_request_dto: UsersDeleteAPIRequestDTO + :param tenant_code: Specify the tenant to delete a user in. + :type tenant_code: 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_users_serialize( + users_delete_api_request_dto=users_delete_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UsersAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_users_serialize( + self, + users_delete_api_request_dto, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # process the header parameters + # process the form parameters + # process the body parameter + if users_delete_api_request_dto is not None: + _body_params = users_delete_api_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='DELETE', + resource_path='/v2/admin/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 update_users( + self, + users_update_api_request_dto: UsersUpdateAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to update a user in.")] = 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, + ) -> UsersAPIResponseDTO: + """Update users + + Update an existing user's information, such as their display name or if the user is enabled in Visier.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param users_update_api_request_dto: (required) + :type users_update_api_request_dto: UsersUpdateAPIRequestDTO + :param tenant_code: Specify the tenant to update a user in. + :type tenant_code: 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_users_serialize( + users_update_api_request_dto=users_update_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UsersAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_users_with_http_info( + self, + users_update_api_request_dto: UsersUpdateAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to update a user in.")] = 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[UsersAPIResponseDTO]: + """Update users + + Update an existing user's information, such as their display name or if the user is enabled in Visier.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param users_update_api_request_dto: (required) + :type users_update_api_request_dto: UsersUpdateAPIRequestDTO + :param tenant_code: Specify the tenant to update a user in. + :type tenant_code: 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_users_serialize( + users_update_api_request_dto=users_update_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UsersAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_users_without_preload_content( + self, + users_update_api_request_dto: UsersUpdateAPIRequestDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="Specify the tenant to update a user in.")] = 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 users + + Update an existing user's information, such as their display name or if the user is enabled in Visier.
**Note:** This API is in **limited availability**. If you are interested in using it, please contact your Customer Success Manager (CSM). + + :param users_update_api_request_dto: (required) + :type users_update_api_request_dto: UsersUpdateAPIRequestDTO + :param tenant_code: Specify the tenant to update a user in. + :type tenant_code: 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_users_serialize( + users_update_api_request_dto=users_update_api_request_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UsersAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_users_serialize( + self, + users_update_api_request_dto, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # process the header parameters + # process the form parameters + # process the body parameter + if users_update_api_request_dto is not None: + _body_params = users_update_api_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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='PUT', + resource_path='/v2/admin/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/src/visier.sdk.api.administration/visier/sdk/api/administration/api_client.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api_client.py new file mode 100644 index 000000000..00bbe012e --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/api_client.py @@ -0,0 +1,796 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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 json +import mimetypes +import os +import re +import tempfile + +from urllib.parse import quote +from typing import Tuple, Optional, List, Dict, Union +from pydantic import SecretStr + +from visier.sdk.api.administration.configuration import Configuration +from visier.sdk.api.administration.api_response import ApiResponse, T as ApiResponseT +import visier.sdk.api.administration.models +from visier.sdk.api.administration import rest +from visier.sdk.api.administration.exceptions import ( + ApiValueError, + ApiException, + BadRequestException, + UnauthorizedException, + ForbiddenException, + NotFoundException, + ServiceException +) + +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, + 'object': object, + } + _pool = None + + def __init__( + self, + configuration=None, + header_name=None, + header_value=None, + cookie=None, + auth_retries=2 + ) -> 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 = 'OpenAPI-Generator/0.0.1/python' + self.client_side_validation = configuration.client_side_validation + self.auth_retries = auth_retries + + 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) + ) + + # 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 or self.configuration.ignore_operation_servers: + url = self.configuration.host + 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 + """ + + attempt = 0 + while attempt < self.auth_retries: + # 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 + ) + if response_data.status == 401: + if not self.configuration.refresh_config: + break + attempt += 1 + self.configuration.refresh_config(self.configuration, True) + self.update_params_for_auth(header_params, + post_params, + ['ApiKeyAuth', 'CookieAuth', 'OAuth2Auth'], + None, + None, + None + ) + continue + return response_data + + raise ApiException(f"Request failed after {self.auth_retries} retries") + + 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 = response_data.data + 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 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 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, 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("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(visier.sdk.api.administration.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 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, 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]]): + """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 + 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, 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 + + for accept in accepts: + if re.search('json', accept, re.IGNORECASE): + return accept + + 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: + config_auth_settings = self.configuration.auth_settings() + for auth in auth_settings: + auth_setting = config_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/src/visier.sdk.api.administration/visier/sdk/api/administration/api_response.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/api_response.py new file mode 100644 index 000000000..9bc7c11f6 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/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/src/visier.sdk.api.administration/visier/sdk/api/administration/configuration.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/configuration.py new file mode 100644 index 000000000..d33e41dbe --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/configuration.py @@ -0,0 +1,775 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import base64 +import copy +import hashlib +import http.client as httplib +import logging +import multiprocessing +import secrets +import sys +import threading +import time +import webbrowser +from http import HTTPStatus +from logging import FileHandler +from queue import Queue, Empty +from typing import Optional +from urllib.parse import urljoin, quote, urlparse, urlencode +from wsgiref.simple_server import make_server + +import urllib3 +from flask import Flask, request +from pydantic import BaseModel + +from visier.sdk.api.administration.exceptions import ApiException + +import multiprocessing +import urllib3 + + +JSON_SCHEMA_VALIDATION_KEYWORDS = { + 'multipleOf', 'maximum', 'exclusiveMaximum', + 'minimum', 'exclusiveMinimum', 'maxLength', + 'minLength', 'pattern', 'maxItems', 'minItems' +} + +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 = None + + def __init__(self, + host=None, + api_key=None, + username=None, + password=None, + client_id=None, + client_secret=None, + redirect_uri=None, + vanity=None, + scope=None, + asid_token=None, + access_token=None, + refresh_token=None, + token_expiration_secs=3600, + server_index=None, + server_variables=None, + server_operation_index=None, + server_operation_variables=None, + ignore_operation_servers=False, + ssl_ca_cert=None, + retries=None, + *, + debug: Optional[bool] = None + ) -> None: + """Constructor + """ + self._base_path = "http://localhost" 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 = api_key + """API key is necessary for all types of authentication.""" + + # TODO remove api_key_prefix + self.api_key_prefix = {} + """dict to store API prefix (e.g. Bearer) + """ + self.refresh_config = default_refresh_config + """function hook to refresh config (e.g. asid_token, access_token, refresh_token) + """ + self.username = username + """Username for HTTP basic authentication + """ + self.password = password + """Password for HTTP basic authentication + """ + + # TODO add description + self.token_expiration_secs = token_expiration_secs + self._token_acquired_at = None + + self.client_id = client_id + self.client_secret = client_secret + self.redirect_uri = redirect_uri + self.vanity = vanity + self.scope = scope if scope else 'read' + self.asid_token = asid_token + self.access_token = access_token + """Access token + """ + self.refresh_token = refresh_token + + + self.logger = {} + """Logging Settings + """ + self.logger["package_logger"] = logging.getLogger("visier.sdk.api.administration") + 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): + 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, value): + object.__setattr__(self, name, value) + + @classmethod + def set_default(cls, default): + """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): + """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): + """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 = Configuration() + return cls._default + + @property + def logger_file(self): + """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): + """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): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value): + """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): + """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): + """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, alias=None): + """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_config is not None: + self.refresh_config(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 + + def get_basic_auth_token(self): + """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): + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + + if self.refresh_config: + self.refresh_config(self, False) + + # Necessary apiKey for all auth types + auth = {'ApiKeyAuth': { + 'type': 'api_key', + 'in': 'header', + 'key': 'apikey', + 'value': self.api_key + }} + + if self.asid_token: + auth['CookieAuth'] = { + 'type': 'api_key', + 'in': 'cookie', + 'key': 'VisierASIDToken', + 'value': f'VisierASIDToken={self.asid_token}' + } + + if self.access_token: + auth['OAuth2Auth'] = { + 'type': 'bearer', + 'in': 'header', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + } + return auth + + def to_debug_report(self): + """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: 0.0.1\n"\ + "SDK Package Version: 0.0.1".\ + format(env=sys.platform, pyversion=sys.version) + + def get_host_settings(self): + """Gets an array of host settings + + :return: An array of host settings + """ + return [ + { + 'url': "", + 'description': "No description provided", + } + ] + + def get_host_from_settings(self, index, variables=None, servers=None): + """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): + """Return generated host.""" + return self.get_host_from_settings(self.server_index, variables=self.server_variables) + + @host.setter + def host(self, value): + """Fix base path.""" + self._base_path = value + self.server_index = None + + @property + def access_token(self): + return self._access_token + + @access_token.setter + def access_token(self, value): + self._access_token = value + self._token_acquired_at = time.time() + + @property + def asid_token(self): + return self._asid_token + + @asid_token.setter + def asid_token(self, value): + self._asid_token = value + self._token_acquired_at = time.time() + + def is_token_expired(self): + # Not using token expiration logic + if self.token_expiration_secs is None: + return False + + # Token has not been acquired yet + if not self._token_acquired_at: + return True + + return time.time() - self._token_acquired_at > self.token_expiration_secs + +# Additional logic to handle authentication +######################################################################################################################## +ACCESS_TOKEN = 'access_token' +API_KEY = "apikey" +AUTHORIZATION_CODE = "authorization_code" +CLIENT_ID = "client_id" +CODE = "code" +CODE_CHALLENGE = "code_challenge" +CODE_CHALLENGE_METHOD = "code_challenge_method" +CODE_VERIFIER = "code_verifier" +GRANT_TYPE = "grant_type" +PASSWORD = "password" +REDIRECT_URI = "redirect_uri" +REFRESH_TOKEN = "refresh_token" +RESPONSE_TYPE = "response_type" +SCOPE = "scope" +USERNAME = "username" + +# Disable werkzeug logging for the callback server +logging.getLogger('werkzeug').disabled = True + +class CallbackServer: + """Callback server that listens for the OAuth2 authorization code""" + + def __init__(self, provided_url: str) -> None: + parsed_uri = urlparse(provided_url) + self.host = parsed_uri.hostname or "localhost" + self.port = parsed_uri.port or 5000 + self.path = parsed_uri.path or "/oauth2/callback" + + self.server = None + self.flask_thread = None + self.app = Flask(__name__) + self.app.route(self.path, methods=["GET"])(self.callback) + self.queue = Queue() + + def callback(self): + """The handler for the OAuth2 callback providing the auth code""" + code = request.args.get(CODE) + self.queue.put(code) + return "

You can now close this window

" + + def start(self): + """Starts the callback server""" + self.server = make_server(self.host, self.port, self.app) + self.flask_thread = threading.Thread(target=self.server.serve_forever) + self.flask_thread.start() + + def stop(self): + """Stops the callback server""" + if self.server: + self.server.shutdown() + self.flask_thread.join() + self.server = None + self.flask_thread = None + + def __enter__(self): + self.start() + return self + + def __exit__(self, ex_type, ex_value, trace_back): + self.stop() + + +class TokenRequestDTO(BaseModel): + grant_type: str + client_id: str + scope: str + username: str = None + password: str = None + code: str = None + code_verifier: str = None + redirect_uri: str = None + refresh_token: str = None + + +class TokenResponseDTO(BaseModel): + access_token: str + refresh_token: str + id_token: str + token_type: str + expires_in: int + + +http = urllib3.PoolManager() + + +def _post_request(url: str, data: dict, additional_headers: dict = None, auth=None): + headers = { + 'Accept': 'application/jsonlines, application/json', + 'User-Agent': 'OpenAPI-python', + 'Content-Type': 'application/x-www-form-urlencoded' + } + if additional_headers: + headers.update(additional_headers) + + if auth: + username, password = auth + auth_header = base64.b64encode(f"{username}:{password}".encode('utf-8')).decode('ascii') + headers['Authorization'] = f'Basic {auth_header}' + + response = http.request( + 'POST', + url, + body=urlencode(data), + headers=headers, + retries=False + ) + if response.status != HTTPStatus.OK: + raise ApiException.from_response(response) + + return response + + +def _connect_asid(config): + url = urljoin(config.host, '/v1/admin/visierSecureToken') + data = { + USERNAME: config.username, + PASSWORD: config.password + } + if config.vanity: + data["vanityName"] = config.vanity + response = _post_request(url=url, data=data) + config.asid_token = response.data.decode(('utf-8')) + + +def _update_access_token(config, token_request: TokenRequestDTO): + url = config.host + "/v1/auth/oauth2/token" + body = token_request.dict() + if config.redirect_uri: + body[REDIRECT_URI] = config.redirect_uri + auth = (config.client_id, quote(config.client_secret, safe='')) + headers = { + API_KEY: config.api_key, + } + + response = _post_request(url=url, data=body, additional_headers=headers, auth=auth) + tokenResponse = TokenResponseDTO(**response.json()) + config.access_token = tokenResponse.access_token + config.refresh_token = tokenResponse.refresh_token + config.token_expiration_secs = tokenResponse.expires_in + + +def _refresh_token(config): + token_request = TokenRequestDTO( + grant_type=REFRESH_TOKEN, + client_id=config.client_id, + scope=config.scope, + refresh_token=config.refresh_token + ) + _update_access_token(config, token_request) + + +def _connect_oauth_password(config): + token_request = TokenRequestDTO( + grant_type=PASSWORD, + client_id=config.client_id, + scope=config.scope, + username=config.username, + password=config.password + ) + _update_access_token(config, token_request) + + +def _connect_oauth_code(config): + """Connect to Visier using (three-legged) OAuth2.""" + code_verifier = secrets.token_urlsafe(64) + code_challenge_digest = hashlib.sha256(code_verifier.encode()).digest() + code_challenge = base64.urlsafe_b64encode(code_challenge_digest).decode().rstrip("=") + + url_prefix = config.host + "/v1/auth/oauth2" + svr = CallbackServer(config.redirect_uri) + query_args = { + API_KEY: config.api_key, + RESPONSE_TYPE: CODE, + CLIENT_ID: config.client_id, + CODE_CHALLENGE_METHOD: "S256", + CODE_CHALLENGE: code_challenge + } + if config.redirect_uri: + query_args[REDIRECT_URI] = config.redirect_uri + + browser_url = f'{url_prefix}/authorize?{urlencode(query_args)}' + webbrowser.open(browser_url) + try: + svr.start() + code = svr.queue.get(block=True, timeout=120) + token_request = TokenRequestDTO( + grant_type=AUTHORIZATION_CODE, + client_id=config.client_id, + scope=config.scope, + code=code, + code_verifier=code_verifier + ) + _update_access_token(config, token_request) + except Empty as empty: + raise ApiException("Timed out waiting for OAuth2 auth code") from empty + finally: + svr.stop() + + +def _connect_oauth(config): + if config.refresh_token: + _refresh_token(config) + elif config.username and config.password: + _connect_oauth_password(config) + else: + _connect_oauth_code(config) + + +def _need_to_connect(config): + if config.client_id and config.client_secret: + return not config.access_token or config.is_token_expired() + + if config.username and config.password: + return not config.asid_token or config.is_token_expired() + + raise ValueError("No valid authentication method found") + + +def default_refresh_config(config, force_refresh: bool = False): + if not force_refresh and not _need_to_connect(config): + return + + if config.client_id and config.client_secret: + _connect_oauth(config) + elif config.username and config.password: + _connect_asid(config) diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/exceptions.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/exceptions.py new file mode 100644 index 000000000..970f53665 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/exceptions.py @@ -0,0 +1,199 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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) + + 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.reason) + 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 + + +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/src/visier.sdk.api.administration/visier/sdk/api/administration/models/__init__.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/__init__.py new file mode 100644 index 000000000..a79b924c7 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/__init__.py @@ -0,0 +1,186 @@ +# coding: utf-8 + +# flake8: noqa +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +# import models into model package +from visier.sdk.api.administration.models.accessible_tenant_profile_assignment_request_dto import AccessibleTenantProfileAssignmentRequestDTO +from visier.sdk.api.administration.models.accessible_tenant_profile_assignment_response_dto import AccessibleTenantProfileAssignmentResponseDTO +from visier.sdk.api.administration.models.accessible_tenant_profile_revoke_request_dto import AccessibleTenantProfileRevokeRequestDTO +from visier.sdk.api.administration.models.accessible_tenant_profile_revoke_response_dto import AccessibleTenantProfileRevokeResponseDTO +from visier.sdk.api.administration.models.additional_capabilities_dto import AdditionalCapabilitiesDTO +from visier.sdk.api.administration.models.admin_capability_config_dto import AdminCapabilityConfigDTO +from visier.sdk.api.administration.models.all_permissions_assigned_for_local_tenant_dto import AllPermissionsAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.all_profile_assigned_for_accessible_tenant_dto import AllProfileAssignedForAccessibleTenantDTO +from visier.sdk.api.administration.models.all_profile_assigned_for_local_tenant_dto import AllProfileAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.all_tenants_status_apidto import AllTenantsStatusAPIDTO +from visier.sdk.api.administration.models.all_user_groups_assigned_for_local_tenant_dto import AllUserGroupsAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.all_users_get_api_response_dto import AllUsersGetAPIResponseDTO +from visier.sdk.api.administration.models.analytic_object_dto import AnalyticObjectDTO +from visier.sdk.api.administration.models.assign_revoke_permission_by_permission_dto import AssignRevokePermissionByPermissionDTO +from visier.sdk.api.administration.models.assign_revoke_permission_by_tenant_dto import AssignRevokePermissionByTenantDTO +from visier.sdk.api.administration.models.assign_revoke_permission_by_user_dto import AssignRevokePermissionByUserDTO +from visier.sdk.api.administration.models.assign_revoke_permission_request_dto import AssignRevokePermissionRequestDTO +from visier.sdk.api.administration.models.assign_revoke_permissions_request_dto import AssignRevokePermissionsRequestDTO +from visier.sdk.api.administration.models.assign_revoke_permissions_response_dto import AssignRevokePermissionsResponseDTO +from visier.sdk.api.administration.models.bulk_data_access_set_response_dto import BulkDataAccessSetResponseDTO +from visier.sdk.api.administration.models.business_location_dto import BusinessLocationDTO +from visier.sdk.api.administration.models.capabilities_dto import CapabilitiesDTO +from visier.sdk.api.administration.models.capability_dto import CapabilityDTO +from visier.sdk.api.administration.models.commit_and_publish_operation_response_dto import CommitAndPublishOperationResponseDTO +from visier.sdk.api.administration.models.commit_dto import CommitDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_excluded_source_list_dto import ConsolidatedAnalyticsAPIExcludedSourceListDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_source_tenant_list_dto import ConsolidatedAnalyticsAPISourceTenantListDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_create_request_dto import ConsolidatedAnalyticsAPITenantCreateRequestDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_list_response_dto import ConsolidatedAnalyticsAPITenantListResponseDTO +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_with_details import ConsolidatedAnalyticsAPITenantWithDetails +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_with_details_list_response_dto import ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO +from visier.sdk.api.administration.models.content_package_dto import ContentPackageDTO +from visier.sdk.api.administration.models.create_data_access_set_request_dto import CreateDataAccessSetRequestDTO +from visier.sdk.api.administration.models.custom_property_dto import CustomPropertyDTO +from visier.sdk.api.administration.models.custom_tenant_property_dto import CustomTenantPropertyDTO +from visier.sdk.api.administration.models.data_access_set_dto import DataAccessSetDTO +from visier.sdk.api.administration.models.data_access_set_error_dto import DataAccessSetErrorDTO +from visier.sdk.api.administration.models.data_access_set_failure_dto import DataAccessSetFailureDTO +from visier.sdk.api.administration.models.data_access_set_success_dto import DataAccessSetSuccessDTO +from visier.sdk.api.administration.models.data_security_profile_dto import DataSecurityProfileDTO +from visier.sdk.api.administration.models.delete_permissions_request_dto import DeletePermissionsRequestDTO +from visier.sdk.api.administration.models.delete_user_group_v2_request import DeleteUserGroupV2Request +from visier.sdk.api.administration.models.dimension_filter_dto import DimensionFilterDTO +from visier.sdk.api.administration.models.dynamic_dimension_filter_dto import DynamicDimensionFilterDTO +from visier.sdk.api.administration.models.dynamic_property_mapping_dto import DynamicPropertyMappingDTO +from visier.sdk.api.administration.models.element_ids_dto import ElementIDsDTO +from visier.sdk.api.administration.models.error_dto import ErrorDTO +from visier.sdk.api.administration.models.excluded_sources_body import ExcludedSourcesBody +from visier.sdk.api.administration.models.export_production_versions_api_operation_parameters_dto import ExportProductionVersionsAPIOperationParametersDTO +from visier.sdk.api.administration.models.failed_accessible_tenant_profile_assignment_dto import FailedAccessibleTenantProfileAssignmentDTO +from visier.sdk.api.administration.models.failed_local_tenant_profile_assignment_dto import FailedLocalTenantProfileAssignmentDTO +from visier.sdk.api.administration.models.failed_local_tenant_profile_revoke_dto import FailedLocalTenantProfileRevokeDTO +from visier.sdk.api.administration.models.get_capabilities_api_response_dto import GetCapabilitiesAPIResponseDTO +from visier.sdk.api.administration.models.get_content_packages_api_response_dto import GetContentPackagesAPIResponseDTO +from visier.sdk.api.administration.models.get_data_access_sets_api_response_dto import GetDataAccessSetsAPIResponseDTO +from visier.sdk.api.administration.models.get_data_security_objects_api_response_dto import GetDataSecurityObjectsAPIResponseDTO +from visier.sdk.api.administration.models.get_permissions_api_response_dto import GetPermissionsAPIResponseDTO +from visier.sdk.api.administration.models.get_production_versions_api_response_dto import GetProductionVersionsAPIResponseDTO +from visier.sdk.api.administration.models.get_project_commits_api_response_dto import GetProjectCommitsAPIResponseDTO +from visier.sdk.api.administration.models.get_projects_api_response_dto import GetProjectsAPIResponseDTO +from visier.sdk.api.administration.models.google_protobuf_any import GoogleProtobufAny +from visier.sdk.api.administration.models.hierarchy_property_dto import HierarchyPropertyDTO +from visier.sdk.api.administration.models.home_analysis_by_user_group_dto import HomeAnalysisByUserGroupDTO +from visier.sdk.api.administration.models.inherited_access_config_dto import InheritedAccessConfigDTO +from visier.sdk.api.administration.models.inherited_reference_member_filter_config_dto import InheritedReferenceMemberFilterConfigDTO +from visier.sdk.api.administration.models.last_login_dto import LastLoginDTO +from visier.sdk.api.administration.models.local_tenant_profile_assignment_request_dto import LocalTenantProfileAssignmentRequestDTO +from visier.sdk.api.administration.models.local_tenant_profile_assignment_response_dto import LocalTenantProfileAssignmentResponseDTO +from visier.sdk.api.administration.models.local_tenant_profile_revoke_request_dto import LocalTenantProfileRevokeRequestDTO +from visier.sdk.api.administration.models.local_tenant_profile_revoke_response_dto import LocalTenantProfileRevokeResponseDTO +from visier.sdk.api.administration.models.mask_message import MaskMessage +from visier.sdk.api.administration.models.member_filter_config_dto import MemberFilterConfigDTO +from visier.sdk.api.administration.models.member_selection_dto import MemberSelectionDTO +from visier.sdk.api.administration.models.metric_validation_summary_dto import MetricValidationSummaryDTO +from visier.sdk.api.administration.models.module_settings_dto import ModuleSettingsDTO +from visier.sdk.api.administration.models.permission_assigned_by_tenant_dto import PermissionAssignedByTenantDTO +from visier.sdk.api.administration.models.permission_assigned_for_local_tenant_dto import PermissionAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.permission_assigned_user_dto import PermissionAssignedUserDTO +from visier.sdk.api.administration.models.permission_assigned_users_dto import PermissionAssignedUsersDTO +from visier.sdk.api.administration.models.permission_bulk_operation_response_dto import PermissionBulkOperationResponseDTO +from visier.sdk.api.administration.models.permission_dto import PermissionDTO +from visier.sdk.api.administration.models.permission_error_dto import PermissionErrorDTO +from visier.sdk.api.administration.models.permission_failure_dto import PermissionFailureDTO +from visier.sdk.api.administration.models.permission_response_dto import PermissionResponseDTO +from visier.sdk.api.administration.models.permission_success_dto import PermissionSuccessDTO +from visier.sdk.api.administration.models.permissions_list_dto import PermissionsListDTO +from visier.sdk.api.administration.models.permissions_to_user_group_for_tenant_dto import PermissionsToUserGroupForTenantDTO +from visier.sdk.api.administration.models.permissions_to_user_group_request_dto import PermissionsToUserGroupRequestDTO +from visier.sdk.api.administration.models.permissions_to_user_groups_request_dto import PermissionsToUserGroupsRequestDTO +from visier.sdk.api.administration.models.production_versions_api_operation_request_dto import ProductionVersionsAPIOperationRequestDTO +from visier.sdk.api.administration.models.production_versions_api_operation_response_dto import ProductionVersionsAPIOperationResponseDTO +from visier.sdk.api.administration.models.profile_assigned_for_accessible_tenant_dto import ProfileAssignedForAccessibleTenantDTO +from visier.sdk.api.administration.models.profile_assigned_for_local_tenant_dto import ProfileAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.profile_get_api_response_dto import ProfileGetAPIResponseDTO +from visier.sdk.api.administration.models.profiles_get_api_response_dto import ProfilesGetAPIResponseDTO +from visier.sdk.api.administration.models.project_dto import ProjectDTO +from visier.sdk.api.administration.models.project_operation_request_dto import ProjectOperationRequestDTO +from visier.sdk.api.administration.models.project_operation_response_dto import ProjectOperationResponseDTO +from visier.sdk.api.administration.models.property_access_config_dto import PropertyAccessConfigDTO +from visier.sdk.api.administration.models.property_set_config_dto import PropertySetConfigDTO +from visier.sdk.api.administration.models.reduced_error_dto import ReducedErrorDTO +from visier.sdk.api.administration.models.reduced_tenant_code_error_dto import ReducedTenantCodeErrorDTO +from visier.sdk.api.administration.models.reduced_user_id_error_dto import ReducedUserIdErrorDTO +from visier.sdk.api.administration.models.related_analytic_object_dto import RelatedAnalyticObjectDTO +from visier.sdk.api.administration.models.role_modules_config_dto import RoleModulesConfigDTO +from visier.sdk.api.administration.models.securable_dimension_dto import SecurableDimensionDTO +from visier.sdk.api.administration.models.securable_property_dto import SecurablePropertyDTO +from visier.sdk.api.administration.models.security_assignment_response_dto import SecurityAssignmentResponseDTO +from visier.sdk.api.administration.models.shareable_data_access_set import ShareableDataAccessSet +from visier.sdk.api.administration.models.simple_user_dto import SimpleUserDTO +from visier.sdk.api.administration.models.static_dimension_filter_dto import StaticDimensionFilterDTO +from visier.sdk.api.administration.models.status import Status +from visier.sdk.api.administration.models.successful_accessible_tenant_profile_assignment_dto import SuccessfulAccessibleTenantProfileAssignmentDTO +from visier.sdk.api.administration.models.successful_local_tenant_profile_assignment_dto import SuccessfulLocalTenantProfileAssignmentDTO +from visier.sdk.api.administration.models.system_status_dto import SystemStatusDTO +from visier.sdk.api.administration.models.target_project_for_tenant_dto import TargetProjectForTenantDTO +from visier.sdk.api.administration.models.target_project_for_tenants_list_dto import TargetProjectForTenantsListDTO +from visier.sdk.api.administration.models.target_tenant_code_dto import TargetTenantCodeDTO +from visier.sdk.api.administration.models.tenant_assignments_dto import TenantAssignmentsDTO +from visier.sdk.api.administration.models.tenant_code_body import TenantCodeBody +from visier.sdk.api.administration.models.tenant_code_error_dto import TenantCodeErrorDTO +from visier.sdk.api.administration.models.tenant_detail_apidto import TenantDetailAPIDTO +from visier.sdk.api.administration.models.tenant_management_api_get_response_dto import TenantManagementAPIGetResponseDTO +from visier.sdk.api.administration.models.tenant_management_api_list_response_dto import TenantManagementAPIListResponseDTO +from visier.sdk.api.administration.models.tenant_management_api_update_request_dto import TenantManagementAPIUpdateRequestDTO +from visier.sdk.api.administration.models.tenant_management_api_update_response_dto import TenantManagementAPIUpdateResponseDTO +from visier.sdk.api.administration.models.tenant_module_dto import TenantModuleDTO +from visier.sdk.api.administration.models.tenant_preview_entries_summary_dto import TenantPreviewEntriesSummaryDTO +from visier.sdk.api.administration.models.tenant_preview_entries_summary_list_dto import TenantPreviewEntriesSummaryListDTO +from visier.sdk.api.administration.models.tenant_provision_apidto import TenantProvisionAPIDTO +from visier.sdk.api.administration.models.tenant_status_apidto import TenantStatusAPIDTO +from visier.sdk.api.administration.models.update_tenant_model import UpdateTenantModel +from visier.sdk.api.administration.models.user_creation_api_request_dto import UserCreationAPIRequestDTO +from visier.sdk.api.administration.models.user_creation_api_response_dto import UserCreationAPIResponseDTO +from visier.sdk.api.administration.models.user_get_api_response_dto import UserGetAPIResponseDTO +from visier.sdk.api.administration.models.user_group_assigned_for_local_tenant_dto import UserGroupAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.user_group_change_definition_dto import UserGroupChangeDefinitionDTO +from visier.sdk.api.administration.models.user_group_change_dimension_filter_dto import UserGroupChangeDimensionFilterDTO +from visier.sdk.api.administration.models.user_group_change_failure_dto import UserGroupChangeFailureDTO +from visier.sdk.api.administration.models.user_group_change_filter_dto import UserGroupChangeFilterDTO +from visier.sdk.api.administration.models.user_group_change_member_selection_dto import UserGroupChangeMemberSelectionDTO +from visier.sdk.api.administration.models.user_group_change_response_dto import UserGroupChangeResponseDTO +from visier.sdk.api.administration.models.user_group_change_success_dto import UserGroupChangeSuccessDTO +from visier.sdk.api.administration.models.user_group_change_users_dto import UserGroupChangeUsersDTO +from visier.sdk.api.administration.models.user_group_delete_dto import UserGroupDeleteDTO +from visier.sdk.api.administration.models.user_group_delete_failure_dto import UserGroupDeleteFailureDTO +from visier.sdk.api.administration.models.user_group_delete_response_dto import UserGroupDeleteResponseDTO +from visier.sdk.api.administration.models.user_group_delete_success_dto import UserGroupDeleteSuccessDTO +from visier.sdk.api.administration.models.user_group_filters_dto import UserGroupFiltersDTO +from visier.sdk.api.administration.models.user_group_get_api_response_dto import UserGroupGetAPIResponseDTO +from visier.sdk.api.administration.models.user_group_single_delete_response_dto import UserGroupSingleDeleteResponseDTO +from visier.sdk.api.administration.models.user_groups_change_dto import UserGroupsChangeDTO +from visier.sdk.api.administration.models.user_groups_delete_request_dto import UserGroupsDeleteRequestDTO +from visier.sdk.api.administration.models.user_groups_get_api_response_dto import UserGroupsGetAPIResponseDTO +from visier.sdk.api.administration.models.user_groups_users_dto import UserGroupsUsersDTO +from visier.sdk.api.administration.models.user_groups_users_for_tenant_dto import UserGroupsUsersForTenantDTO +from visier.sdk.api.administration.models.user_id_error_dto import UserIdErrorDTO +from visier.sdk.api.administration.models.user_property_dto import UserPropertyDTO +from visier.sdk.api.administration.models.user_security_assignments_dto import UserSecurityAssignmentsDTO +from visier.sdk.api.administration.models.user_update_api_request_dto import UserUpdateAPIRequestDTO +from visier.sdk.api.administration.models.users_api_error_message_dto import UsersAPIErrorMessageDTO +from visier.sdk.api.administration.models.users_api_failure_dto import UsersAPIFailureDTO +from visier.sdk.api.administration.models.users_api_response_dto import UsersAPIResponseDTO +from visier.sdk.api.administration.models.users_api_success_dto import UsersAPISuccessDTO +from visier.sdk.api.administration.models.users_creation_api_request_dto import UsersCreationAPIRequestDTO +from visier.sdk.api.administration.models.users_delete_api_request_dto import UsersDeleteAPIRequestDTO +from visier.sdk.api.administration.models.users_to_user_group_request_dto import UsersToUserGroupRequestDTO +from visier.sdk.api.administration.models.users_to_user_groups_request_dto import UsersToUserGroupsRequestDTO +from visier.sdk.api.administration.models.users_update_api_request_dto import UsersUpdateAPIRequestDTO +from visier.sdk.api.administration.models.users_update_api_user_dto import UsersUpdateAPIUserDTO diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_assignment_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_assignment_request_dto.py new file mode 100644 index 000000000..a60c4afcc --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_assignment_request_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.target_tenant_code_dto import TargetTenantCodeDTO +from typing import Optional, Set +from typing_extensions import Self + +class AccessibleTenantProfileAssignmentRequestDTO(BaseModel): + """ + AccessibleTenantProfileAssignmentRequestDTO + """ # noqa: E501 + target_tenant_codes: Optional[List[TargetTenantCodeDTO]] = Field(default=None, description="A list of objects representing the analytic tenants for profiles assigned to the users.", alias="targetTenantCodes") + target_user_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of users to assign this profile.", alias="targetUserIds") + validity_end_time: Optional[StrictStr] = Field(default=None, description="An exclusive date-time when this profile is no longer active.", alias="validityEndTime") + validity_start_time: Optional[StrictStr] = Field(default=None, description="An inclusive date-time when this profile is active.", alias="validityStartTime") + __properties: ClassVar[List[str]] = ["targetTenantCodes", "targetUserIds", "validityEndTime", "validityStartTime"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AccessibleTenantProfileAssignmentRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 target_tenant_codes (list) + _items = [] + if self.target_tenant_codes: + for _item in self.target_tenant_codes: + if _item: + _items.append(_item.to_dict()) + _dict['targetTenantCodes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AccessibleTenantProfileAssignmentRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "targetTenantCodes": [TargetTenantCodeDTO.from_dict(_item) for _item in obj["targetTenantCodes"]] if obj.get("targetTenantCodes") is not None else None, + "targetUserIds": obj.get("targetUserIds"), + "validityEndTime": obj.get("validityEndTime"), + "validityStartTime": obj.get("validityStartTime") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_assignment_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_assignment_response_dto.py new file mode 100644 index 000000000..617f72893 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_assignment_response_dto.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.failed_accessible_tenant_profile_assignment_dto import FailedAccessibleTenantProfileAssignmentDTO +from visier.sdk.api.administration.models.successful_accessible_tenant_profile_assignment_dto import SuccessfulAccessibleTenantProfileAssignmentDTO +from visier.sdk.api.administration.models.tenant_code_error_dto import TenantCodeErrorDTO +from visier.sdk.api.administration.models.user_id_error_dto import UserIdErrorDTO +from typing import Optional, Set +from typing_extensions import Self + +class AccessibleTenantProfileAssignmentResponseDTO(BaseModel): + """ + AccessibleTenantProfileAssignmentResponseDTO + """ # noqa: E501 + bad_tenant_codes: Optional[List[TenantCodeErrorDTO]] = Field(default=None, description="A list of objects representing any tenants that returned errors.", alias="badTenantCodes") + bad_user_ids: Optional[List[UserIdErrorDTO]] = Field(default=None, description="A list of objects representing the user IDs that may not be valid.", alias="badUserIds") + errors: Optional[StrictBool] = Field(default=None, description="If true, an error is generated by the request.") + failed_assignments: Optional[List[FailedAccessibleTenantProfileAssignmentDTO]] = Field(default=None, description="A list of objects representing any errors during the assignment operation.", alias="failedAssignments") + successful_assignments: Optional[List[SuccessfulAccessibleTenantProfileAssignmentDTO]] = Field(default=None, description="A list of user IDs that were successfully assigned the profiles.", alias="successfulAssignments") + __properties: ClassVar[List[str]] = ["badTenantCodes", "badUserIds", "errors", "failedAssignments", "successfulAssignments"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AccessibleTenantProfileAssignmentResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 bad_tenant_codes (list) + _items = [] + if self.bad_tenant_codes: + for _item in self.bad_tenant_codes: + if _item: + _items.append(_item.to_dict()) + _dict['badTenantCodes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in bad_user_ids (list) + _items = [] + if self.bad_user_ids: + for _item in self.bad_user_ids: + if _item: + _items.append(_item.to_dict()) + _dict['badUserIds'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in failed_assignments (list) + _items = [] + if self.failed_assignments: + for _item in self.failed_assignments: + if _item: + _items.append(_item.to_dict()) + _dict['failedAssignments'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in successful_assignments (list) + _items = [] + if self.successful_assignments: + for _item in self.successful_assignments: + if _item: + _items.append(_item.to_dict()) + _dict['successfulAssignments'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AccessibleTenantProfileAssignmentResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "badTenantCodes": [TenantCodeErrorDTO.from_dict(_item) for _item in obj["badTenantCodes"]] if obj.get("badTenantCodes") is not None else None, + "badUserIds": [UserIdErrorDTO.from_dict(_item) for _item in obj["badUserIds"]] if obj.get("badUserIds") is not None else None, + "errors": obj.get("errors"), + "failedAssignments": [FailedAccessibleTenantProfileAssignmentDTO.from_dict(_item) for _item in obj["failedAssignments"]] if obj.get("failedAssignments") is not None else None, + "successfulAssignments": [SuccessfulAccessibleTenantProfileAssignmentDTO.from_dict(_item) for _item in obj["successfulAssignments"]] if obj.get("successfulAssignments") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_revoke_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_revoke_request_dto.py new file mode 100644 index 000000000..6248ba10f --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_revoke_request_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.target_tenant_code_dto import TargetTenantCodeDTO +from typing import Optional, Set +from typing_extensions import Self + +class AccessibleTenantProfileRevokeRequestDTO(BaseModel): + """ + AccessibleTenantProfileRevokeRequestDTO + """ # noqa: E501 + target_tenant_codes: Optional[List[TargetTenantCodeDTO]] = Field(default=None, description="A list of objects representing the analytic tenants for removing profiles from each target user ID.", alias="targetTenantCodes") + target_user_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of users to remove this profile from.", alias="targetUserIds") + __properties: ClassVar[List[str]] = ["targetTenantCodes", "targetUserIds"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AccessibleTenantProfileRevokeRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 target_tenant_codes (list) + _items = [] + if self.target_tenant_codes: + for _item in self.target_tenant_codes: + if _item: + _items.append(_item.to_dict()) + _dict['targetTenantCodes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AccessibleTenantProfileRevokeRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "targetTenantCodes": [TargetTenantCodeDTO.from_dict(_item) for _item in obj["targetTenantCodes"]] if obj.get("targetTenantCodes") is not None else None, + "targetUserIds": obj.get("targetUserIds") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_revoke_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_revoke_response_dto.py new file mode 100644 index 000000000..9d05d827e --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/accessible_tenant_profile_revoke_response_dto.py @@ -0,0 +1,124 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.reduced_tenant_code_error_dto import ReducedTenantCodeErrorDTO +from visier.sdk.api.administration.models.reduced_user_id_error_dto import ReducedUserIdErrorDTO +from visier.sdk.api.administration.models.successful_local_tenant_profile_assignment_dto import SuccessfulLocalTenantProfileAssignmentDTO +from typing import Optional, Set +from typing_extensions import Self + +class AccessibleTenantProfileRevokeResponseDTO(BaseModel): + """ + AccessibleTenantProfileRevokeResponseDTO + """ # noqa: E501 + bad_tenant_codes: Optional[List[ReducedTenantCodeErrorDTO]] = Field(default=None, description="A list of objects representing any tenants that returned errors.", alias="badTenantCodes") + bad_user_ids: Optional[List[ReducedUserIdErrorDTO]] = Field(default=None, description="A list of objects representing the user IDs that may not be valid.", alias="badUserIds") + succeeded: Optional[List[SuccessfulLocalTenantProfileAssignmentDTO]] = Field(default=None, description="A list of objects representing the valid user IDs that succeeded.") + unaffected_users: Optional[List[SuccessfulLocalTenantProfileAssignmentDTO]] = Field(default=None, description="A list of objects representing the valid user IDs that were not affected.", alias="unaffectedUsers") + __properties: ClassVar[List[str]] = ["badTenantCodes", "badUserIds", "succeeded", "unaffectedUsers"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AccessibleTenantProfileRevokeResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 bad_tenant_codes (list) + _items = [] + if self.bad_tenant_codes: + for _item in self.bad_tenant_codes: + if _item: + _items.append(_item.to_dict()) + _dict['badTenantCodes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in bad_user_ids (list) + _items = [] + if self.bad_user_ids: + for _item in self.bad_user_ids: + if _item: + _items.append(_item.to_dict()) + _dict['badUserIds'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in succeeded (list) + _items = [] + if self.succeeded: + for _item in self.succeeded: + if _item: + _items.append(_item.to_dict()) + _dict['succeeded'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in unaffected_users (list) + _items = [] + if self.unaffected_users: + for _item in self.unaffected_users: + if _item: + _items.append(_item.to_dict()) + _dict['unaffectedUsers'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AccessibleTenantProfileRevokeResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "badTenantCodes": [ReducedTenantCodeErrorDTO.from_dict(_item) for _item in obj["badTenantCodes"]] if obj.get("badTenantCodes") is not None else None, + "badUserIds": [ReducedUserIdErrorDTO.from_dict(_item) for _item in obj["badUserIds"]] if obj.get("badUserIds") is not None else None, + "succeeded": [SuccessfulLocalTenantProfileAssignmentDTO.from_dict(_item) for _item in obj["succeeded"]] if obj.get("succeeded") is not None else None, + "unaffectedUsers": [SuccessfulLocalTenantProfileAssignmentDTO.from_dict(_item) for _item in obj["unaffectedUsers"]] if obj.get("unaffectedUsers") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/additional_capabilities_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/additional_capabilities_dto.py new file mode 100644 index 000000000..fa6035084 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/additional_capabilities_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 AdditionalCapabilitiesDTO(BaseModel): + """ + AdditionalCapabilitiesDTO + """ # noqa: E501 + additional_capabilities: Optional[List[StrictStr]] = Field(default=None, description="The additional capabilities assigned to this profile.", alias="additionalCapabilities") + __properties: ClassVar[List[str]] = ["additionalCapabilities"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AdditionalCapabilitiesDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 AdditionalCapabilitiesDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "additionalCapabilities": obj.get("additionalCapabilities") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/admin_capability_config_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/admin_capability_config_dto.py new file mode 100644 index 000000000..4f1ffd837 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/admin_capability_config_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 AdminCapabilityConfigDTO(BaseModel): + """ + AdminCapabilityConfigDTO + """ # noqa: E501 + all_capabilities_access: Optional[StrictBool] = Field(default=None, description="If `true`, the permission has all possible capabilities.", alias="allCapabilitiesAccess") + capabilities: Optional[List[StrictStr]] = Field(default=None, description="A list of the capabilities assigned in the permission. Not required if `allCapabilitiesAccess` is true.") + __properties: ClassVar[List[str]] = ["allCapabilitiesAccess", "capabilities"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AdminCapabilityConfigDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 AdminCapabilityConfigDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "allCapabilitiesAccess": obj.get("allCapabilitiesAccess"), + "capabilities": obj.get("capabilities") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_permissions_assigned_for_local_tenant_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_permissions_assigned_for_local_tenant_dto.py new file mode 100644 index 000000000..d1a080a6d --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_permissions_assigned_for_local_tenant_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.permission_assigned_for_local_tenant_dto import PermissionAssignedForLocalTenantDTO +from typing import Optional, Set +from typing_extensions import Self + +class AllPermissionsAssignedForLocalTenantDTO(BaseModel): + """ + AllPermissionsAssignedForLocalTenantDTO + """ # noqa: E501 + assigned_permissions: Optional[List[PermissionAssignedForLocalTenantDTO]] = Field(default=None, description="A list of objects representing the user's permissions.", alias="assignedPermissions") + __properties: ClassVar[List[str]] = ["assignedPermissions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AllPermissionsAssignedForLocalTenantDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 assigned_permissions (list) + _items = [] + if self.assigned_permissions: + for _item in self.assigned_permissions: + if _item: + _items.append(_item.to_dict()) + _dict['assignedPermissions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AllPermissionsAssignedForLocalTenantDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "assignedPermissions": [PermissionAssignedForLocalTenantDTO.from_dict(_item) for _item in obj["assignedPermissions"]] if obj.get("assignedPermissions") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_profile_assigned_for_accessible_tenant_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_profile_assigned_for_accessible_tenant_dto.py new file mode 100644 index 000000000..919d2e2ae --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_profile_assigned_for_accessible_tenant_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.profile_assigned_for_accessible_tenant_dto import ProfileAssignedForAccessibleTenantDTO +from typing import Optional, Set +from typing_extensions import Self + +class AllProfileAssignedForAccessibleTenantDTO(BaseModel): + """ + AllProfileAssignedForAccessibleTenantDTO + """ # noqa: E501 + assigned_profiles_for_accessible_tenant: Optional[List[ProfileAssignedForAccessibleTenantDTO]] = Field(default=None, description="A list of objects representing the user profiles assigned to the user and their validity range.", alias="assignedProfilesForAccessibleTenant") + __properties: ClassVar[List[str]] = ["assignedProfilesForAccessibleTenant"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AllProfileAssignedForAccessibleTenantDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 assigned_profiles_for_accessible_tenant (list) + _items = [] + if self.assigned_profiles_for_accessible_tenant: + for _item in self.assigned_profiles_for_accessible_tenant: + if _item: + _items.append(_item.to_dict()) + _dict['assignedProfilesForAccessibleTenant'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AllProfileAssignedForAccessibleTenantDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "assignedProfilesForAccessibleTenant": [ProfileAssignedForAccessibleTenantDTO.from_dict(_item) for _item in obj["assignedProfilesForAccessibleTenant"]] if obj.get("assignedProfilesForAccessibleTenant") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_profile_assigned_for_local_tenant_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_profile_assigned_for_local_tenant_dto.py new file mode 100644 index 000000000..088c11abe --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_profile_assigned_for_local_tenant_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.profile_assigned_for_local_tenant_dto import ProfileAssignedForLocalTenantDTO +from typing import Optional, Set +from typing_extensions import Self + +class AllProfileAssignedForLocalTenantDTO(BaseModel): + """ + AllProfileAssignedForLocalTenantDTO + """ # noqa: E501 + assigned_profiles: Optional[List[ProfileAssignedForLocalTenantDTO]] = Field(default=None, description="A list of objects representing the user profiles assigned to the user and their validity range.", alias="assignedProfiles") + __properties: ClassVar[List[str]] = ["assignedProfiles"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AllProfileAssignedForLocalTenantDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 assigned_profiles (list) + _items = [] + if self.assigned_profiles: + for _item in self.assigned_profiles: + if _item: + _items.append(_item.to_dict()) + _dict['assignedProfiles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AllProfileAssignedForLocalTenantDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "assignedProfiles": [ProfileAssignedForLocalTenantDTO.from_dict(_item) for _item in obj["assignedProfiles"]] if obj.get("assignedProfiles") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_tenants_status_apidto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_tenants_status_apidto.py new file mode 100644 index 000000000..9ba3de240 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_tenants_status_apidto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.tenant_detail_apidto import TenantDetailAPIDTO +from typing import Optional, Set +from typing_extensions import Self + +class AllTenantsStatusAPIDTO(BaseModel): + """ + AllTenantsStatusAPIDTO + """ # noqa: E501 + limit: Optional[StrictInt] = Field(default=None, description="The limit of analytic tenants to return. The maximum value is 1000.") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving values from, also known as offset. The index begins at 0.") + tenants: Optional[List[TenantDetailAPIDTO]] = Field(default=None, description="A list of objects representing all the analytic tenants.") + __properties: ClassVar[List[str]] = ["limit", "start", "tenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AllTenantsStatusAPIDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tenants (list) + _items = [] + if self.tenants: + for _item in self.tenants: + if _item: + _items.append(_item.to_dict()) + _dict['tenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AllTenantsStatusAPIDTO 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"), + "start": obj.get("start"), + "tenants": [TenantDetailAPIDTO.from_dict(_item) for _item in obj["tenants"]] if obj.get("tenants") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_user_groups_assigned_for_local_tenant_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_user_groups_assigned_for_local_tenant_dto.py new file mode 100644 index 000000000..baf7cfbda --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_user_groups_assigned_for_local_tenant_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_group_assigned_for_local_tenant_dto import UserGroupAssignedForLocalTenantDTO +from typing import Optional, Set +from typing_extensions import Self + +class AllUserGroupsAssignedForLocalTenantDTO(BaseModel): + """ + AllUserGroupsAssignedForLocalTenantDTO + """ # noqa: E501 + assigned_user_groups: Optional[List[UserGroupAssignedForLocalTenantDTO]] = Field(default=None, description="A list of objects representing the available user groups.", alias="assignedUserGroups") + __properties: ClassVar[List[str]] = ["assignedUserGroups"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AllUserGroupsAssignedForLocalTenantDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 assigned_user_groups (list) + _items = [] + if self.assigned_user_groups: + for _item in self.assigned_user_groups: + if _item: + _items.append(_item.to_dict()) + _dict['assignedUserGroups'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AllUserGroupsAssignedForLocalTenantDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "assignedUserGroups": [UserGroupAssignedForLocalTenantDTO.from_dict(_item) for _item in obj["assignedUserGroups"]] if obj.get("assignedUserGroups") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_users_get_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_users_get_api_response_dto.py new file mode 100644 index 000000000..8096d78e1 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/all_users_get_api_response_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_get_api_response_dto import UserGetAPIResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class AllUsersGetAPIResponseDTO(BaseModel): + """ + AllUsersGetAPIResponseDTO + """ # noqa: E501 + limit: Optional[StrictInt] = Field(default=None, description="The number of results to return. The maximum number of users to retrieve is 1000.") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving results from, also known as offset. The index begins at 0.") + users: Optional[List[UserGetAPIResponseDTO]] = Field(default=None, description="A list of available users.") + __properties: ClassVar[List[str]] = ["limit", "start", "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 AllUsersGetAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 in self.users: + if _item: + _items.append(_item.to_dict()) + _dict['users'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AllUsersGetAPIResponseDTO 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"), + "start": obj.get("start"), + "users": [UserGetAPIResponseDTO.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/analytic_object_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/analytic_object_dto.py new file mode 100644 index 000000000..d858a906b --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/analytic_object_dto.py @@ -0,0 +1,131 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.related_analytic_object_dto import RelatedAnalyticObjectDTO +from visier.sdk.api.administration.models.securable_dimension_dto import SecurableDimensionDTO +from visier.sdk.api.administration.models.securable_property_dto import SecurablePropertyDTO +from typing import Optional, Set +from typing_extensions import Self + +class AnalyticObjectDTO(BaseModel): + """ + AnalyticObjectDTO + """ # noqa: E501 + analytic_object_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the analytic object.", alias="analyticObjectId") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable name to display in Visier, such as \"Employee\".", alias="displayName") + object_type: Optional[StrictStr] = Field(default=None, description="The analytic object type.", alias="objectType") + related_objects: Optional[List[RelatedAnalyticObjectDTO]] = Field(default=None, description="The analytic objects related to the data security object.", alias="relatedObjects") + securable_dimensions: Optional[List[SecurableDimensionDTO]] = Field(default=None, description="A list of dimensions that are available to define population access filters in the permission.", alias="securableDimensions") + securable_properties: Optional[List[SecurablePropertyDTO]] = Field(default=None, description="All available properties from the data security object and its related analytic objects that you can configure data access for.", alias="securableProperties") + __properties: ClassVar[List[str]] = ["analyticObjectId", "displayName", "objectType", "relatedObjects", "securableDimensions", "securableProperties"] + + @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(['Event', 'Subject', 'BusinessOutcomeOverlay', 'PlanOrBudgetOverlay', 'ExternalBenchmark', 'VisierBenchmark', 'UsageOverlay', 'OtherOverlay', 'InternalComparison', 'PlanAnalyticObject']): + raise ValueError("must be one of enum values ('Event', 'Subject', 'BusinessOutcomeOverlay', 'PlanOrBudgetOverlay', 'ExternalBenchmark', 'VisierBenchmark', 'UsageOverlay', 'OtherOverlay', 'InternalComparison', 'PlanAnalyticObject')") + 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 AnalyticObjectDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 related_objects (list) + _items = [] + if self.related_objects: + for _item in self.related_objects: + if _item: + _items.append(_item.to_dict()) + _dict['relatedObjects'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in securable_dimensions (list) + _items = [] + if self.securable_dimensions: + for _item in self.securable_dimensions: + if _item: + _items.append(_item.to_dict()) + _dict['securableDimensions'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in securable_properties (list) + _items = [] + if self.securable_properties: + for _item in self.securable_properties: + if _item: + _items.append(_item.to_dict()) + _dict['securableProperties'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AnalyticObjectDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObjectId": obj.get("analyticObjectId"), + "displayName": obj.get("displayName"), + "objectType": obj.get("objectType"), + "relatedObjects": [RelatedAnalyticObjectDTO.from_dict(_item) for _item in obj["relatedObjects"]] if obj.get("relatedObjects") is not None else None, + "securableDimensions": [SecurableDimensionDTO.from_dict(_item) for _item in obj["securableDimensions"]] if obj.get("securableDimensions") is not None else None, + "securableProperties": [SecurablePropertyDTO.from_dict(_item) for _item in obj["securableProperties"]] if obj.get("securableProperties") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_by_permission_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_by_permission_dto.py new file mode 100644 index 000000000..6739a3189 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_by_permission_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.assign_revoke_permission_by_user_dto import AssignRevokePermissionByUserDTO +from visier.sdk.api.administration.models.permission_assigned_for_local_tenant_dto import PermissionAssignedForLocalTenantDTO +from typing import Optional, Set +from typing_extensions import Self + +class AssignRevokePermissionByPermissionDTO(BaseModel): + """ + The results of the permission assignment or removal. + """ # noqa: E501 + permission: Optional[PermissionAssignedForLocalTenantDTO] = None + users: Optional[List[AssignRevokePermissionByUserDTO]] = Field(default=None, description="A list of objects representing the users that was permission was assigned to or removed from.") + __properties: ClassVar[List[str]] = ["permission", "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 AssignRevokePermissionByPermissionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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() + # override the default output from pydantic by calling `to_dict()` of each item in users (list) + _items = [] + if self.users: + for _item in self.users: + if _item: + _items.append(_item.to_dict()) + _dict['users'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AssignRevokePermissionByPermissionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "permission": PermissionAssignedForLocalTenantDTO.from_dict(obj["permission"]) if obj.get("permission") is not None else None, + "users": [AssignRevokePermissionByUserDTO.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_by_tenant_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_by_tenant_dto.py new file mode 100644 index 000000000..bba313f24 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_by_tenant_dto.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.assign_revoke_permission_by_permission_dto import AssignRevokePermissionByPermissionDTO +from typing import Optional, Set +from typing_extensions import Self + +class AssignRevokePermissionByTenantDTO(BaseModel): + """ + The permissions organized by tenant. + """ # noqa: E501 + message: Optional[StrictStr] = Field(default=None, description="A detailed description of the request outcome, if available.") + permissions: Optional[List[AssignRevokePermissionByPermissionDTO]] = Field(default=None, description="A list of objects representing the assigned or removed permissions.") + project_id: Optional[StrictStr] = Field(default=None, description="The ID of the project that the change was made in, if applicable.", alias="projectId") + status: Optional[StrictStr] = Field(default=None, description="The state of the permission assignment. Valid values are Succeed or Failed.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the tenant.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["message", "permissions", "projectId", "status", "tenantCode"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Unknown', 'Succeed', 'Failed']): + raise ValueError("must be one of enum values ('Unknown', 'Succeed', 'Failed')") + 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 AssignRevokePermissionByTenantDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 permissions (list) + _items = [] + if self.permissions: + for _item in self.permissions: + if _item: + _items.append(_item.to_dict()) + _dict['permissions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AssignRevokePermissionByTenantDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message"), + "permissions": [AssignRevokePermissionByPermissionDTO.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None, + "projectId": obj.get("projectId"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_by_user_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_by_user_dto.py new file mode 100644 index 000000000..982ce2fd4 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_by_user_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 AssignRevokePermissionByUserDTO(BaseModel): + """ + The results of the permission assignment or removal by user. + """ # noqa: E501 + message: Optional[StrictStr] = Field(default=None, description="A meaningful message about the user permission.") + user_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the user.", alias="userId") + username: Optional[StrictStr] = Field(default=None, description="The user's username. This is typically the user's email, such as john@visier.com.") + __properties: ClassVar[List[str]] = ["message", "userId", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AssignRevokePermissionByUserDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 AssignRevokePermissionByUserDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message"), + "userId": obj.get("userId"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_request_dto.py new file mode 100644 index 000000000..2e2514853 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permission_request_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 AssignRevokePermissionRequestDTO(BaseModel): + """ + Set permission detail permissionId with assign to userIds + """ # noqa: E501 + permission_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with a permission.", alias="permissionId") + user_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of strings representing unique user IDs.", alias="userIds") + __properties: ClassVar[List[str]] = ["permissionId", "userIds"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AssignRevokePermissionRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 AssignRevokePermissionRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "permissionId": obj.get("permissionId"), + "userIds": obj.get("userIds") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permissions_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permissions_request_dto.py new file mode 100644 index 000000000..3deed5d16 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permissions_request_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.assign_revoke_permission_request_dto import AssignRevokePermissionRequestDTO +from visier.sdk.api.administration.models.target_project_for_tenants_list_dto import TargetProjectForTenantsListDTO +from typing import Optional, Set +from typing_extensions import Self + +class AssignRevokePermissionsRequestDTO(BaseModel): + """ + Set permissions request List of permissionId with assign to user Ids + """ # noqa: E501 + permissions: Optional[List[AssignRevokePermissionRequestDTO]] = Field(default=None, description="A list of objects representing the permissions to assign to or remove from users.") + target_project_for_tenants_list: Optional[TargetProjectForTenantsListDTO] = Field(default=None, description="Administrating tenants can specify the tenants and projects in which to assign permissions to users or remove permissions from users. Specify one `projectId` per `tenantCode`. If omitted, the request is immediately published to production or applied to the `ProjectID` in the request header, if available, for the administrating tenant or TargetTenantID, if available.", alias="targetProjectForTenantsList") + __properties: ClassVar[List[str]] = ["permissions", "targetProjectForTenantsList"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AssignRevokePermissionsRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 permissions (list) + _items = [] + if self.permissions: + for _item in self.permissions: + if _item: + _items.append(_item.to_dict()) + _dict['permissions'] = _items + # override the default output from pydantic by calling `to_dict()` of target_project_for_tenants_list + if self.target_project_for_tenants_list: + _dict['targetProjectForTenantsList'] = self.target_project_for_tenants_list.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AssignRevokePermissionsRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "permissions": [AssignRevokePermissionRequestDTO.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None, + "targetProjectForTenantsList": TargetProjectForTenantsListDTO.from_dict(obj["targetProjectForTenantsList"]) if obj.get("targetProjectForTenantsList") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permissions_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permissions_response_dto.py new file mode 100644 index 000000000..f55acf584 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/assign_revoke_permissions_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.assign_revoke_permission_by_tenant_dto import AssignRevokePermissionByTenantDTO +from typing import Optional, Set +from typing_extensions import Self + +class AssignRevokePermissionsResponseDTO(BaseModel): + """ + The results of the permission assignment or removal. + """ # noqa: E501 + tenants: Optional[List[AssignRevokePermissionByTenantDTO]] = Field(default=None, description="A list of objects representing the users that were assigned permissions, organized by the tenants the users belong to.") + __properties: ClassVar[List[str]] = ["tenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AssignRevokePermissionsResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tenants (list) + _items = [] + if self.tenants: + for _item in self.tenants: + if _item: + _items.append(_item.to_dict()) + _dict['tenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AssignRevokePermissionsResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tenants": [AssignRevokePermissionByTenantDTO.from_dict(_item) for _item in obj["tenants"]] if obj.get("tenants") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/bulk_data_access_set_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/bulk_data_access_set_response_dto.py new file mode 100644 index 000000000..f06896644 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/bulk_data_access_set_response_dto.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.data_access_set_failure_dto import DataAccessSetFailureDTO +from visier.sdk.api.administration.models.data_access_set_success_dto import DataAccessSetSuccessDTO +from typing import Optional, Set +from typing_extensions import Self + +class BulkDataAccessSetResponseDTO(BaseModel): + """ + BulkDataAccessSetResponseDTO + """ # noqa: E501 + failures: Optional[List[DataAccessSetFailureDTO]] = Field(default=None, description="The data access sets that failed to be created and any relevant error information.") + successes: Optional[List[DataAccessSetSuccessDTO]] = Field(default=None, description="The successfully created data access sets.") + __properties: ClassVar[List[str]] = ["failures", "successes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BulkDataAccessSetResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 failures (list) + _items = [] + if self.failures: + for _item in self.failures: + if _item: + _items.append(_item.to_dict()) + _dict['failures'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in successes (list) + _items = [] + if self.successes: + for _item in self.successes: + if _item: + _items.append(_item.to_dict()) + _dict['successes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BulkDataAccessSetResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "failures": [DataAccessSetFailureDTO.from_dict(_item) for _item in obj["failures"]] if obj.get("failures") is not None else None, + "successes": [DataAccessSetSuccessDTO.from_dict(_item) for _item in obj["successes"]] if obj.get("successes") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/business_location_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/business_location_dto.py new file mode 100644 index 000000000..1fc66b2f0 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/business_location_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 BusinessLocationDTO(BaseModel): + """ + The location of operations or where business is performed. + """ # noqa: E501 + country_code: Optional[StrictStr] = Field(default=None, description="The country in which the business is located or business is performed. The country code must follow ISO 3166 standards in alpha-2 format (two-letter code).", alias="countryCode") + postal_code: Optional[StrictStr] = Field(default=None, description="The postal code associated with the business location. Cannot be blank.", alias="postalCode") + __properties: ClassVar[List[str]] = ["countryCode", "postalCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BusinessLocationDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 BusinessLocationDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "countryCode": obj.get("countryCode"), + "postalCode": obj.get("postalCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/capabilities_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/capabilities_dto.py new file mode 100644 index 000000000..4a40d9725 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/capabilities_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 CapabilitiesDTO(BaseModel): + """ + CapabilitiesDTO + """ # noqa: E501 + access_level: Optional[StrictStr] = Field(default=None, description="The access level of the profile for the given capability.", alias="accessLevel") + capability: Optional[StrictStr] = Field(default=None, description="The name of the capability.") + view_level: Optional[StrictStr] = Field(default=None, description="The view level of the profile for the given capability.", alias="viewLevel") + __properties: ClassVar[List[str]] = ["accessLevel", "capability", "viewLevel"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CapabilitiesDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 CapabilitiesDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accessLevel": obj.get("accessLevel"), + "capability": obj.get("capability"), + "viewLevel": obj.get("viewLevel") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/capability_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/capability_dto.py new file mode 100644 index 000000000..465381f08 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/capability_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 CapabilityDTO(BaseModel): + """ + CapabilityDTO + """ # noqa: E501 + description: Optional[StrictStr] = Field(default=None, description="A description of the capability.") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable capability name to display in Visier, such as \"Schedule Analysis\".", alias="displayName") + name: Optional[StrictStr] = Field(default=None, description="The unique name of the capability.") + __properties: ClassVar[List[str]] = ["description", "displayName", "name"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CapabilityDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 CapabilityDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "name": obj.get("name") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/commit_and_publish_operation_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/commit_and_publish_operation_response_dto.py new file mode 100644 index 000000000..b50187b01 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/commit_and_publish_operation_response_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.project_dto import ProjectDTO +from typing import Optional, Set +from typing_extensions import Self + +class CommitAndPublishOperationResponseDTO(BaseModel): + """ + CommitAndPublishOperationResponseDTO + """ # noqa: E501 + published_version: Optional[ProjectDTO] = Field(default=None, description="The project version that was published to production.", alias="publishedVersion") + __properties: ClassVar[List[str]] = ["publishedVersion"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CommitAndPublishOperationResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 published_version + if self.published_version: + _dict['publishedVersion'] = self.published_version.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CommitAndPublishOperationResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "publishedVersion": ProjectDTO.from_dict(obj["publishedVersion"]) if obj.get("publishedVersion") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/commit_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/commit_dto.py new file mode 100644 index 000000000..d3ea040ed --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/commit_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 CommitDTO(BaseModel): + """ + CommitDTO + """ # noqa: E501 + description: Optional[StrictStr] = Field(default=None, description="A description of the committed change.") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the committed change.") + name: Optional[StrictStr] = Field(default=None, description="An identifiable name of the committed change to display in Visier.") + __properties: ClassVar[List[str]] = ["description", "id", "name"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CommitDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 CommitDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "id": obj.get("id"), + "name": obj.get("name") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_excluded_source_list_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_excluded_source_list_dto.py new file mode 100644 index 000000000..89b0d5e69 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_excluded_source_list_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ConsolidatedAnalyticsAPIExcludedSourceListDTO(BaseModel): + """ + ConsolidatedAnalyticsAPIExcludedSourceListDTO + """ # noqa: E501 + excluded_sources: Optional[List[StrictStr]] = Field(default=None, description="A list of the CA tenant's excluded sources.", alias="excludedSources") + __properties: ClassVar[List[str]] = ["excludedSources"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConsolidatedAnalyticsAPIExcludedSourceListDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ConsolidatedAnalyticsAPIExcludedSourceListDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "excludedSources": obj.get("excludedSources") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_source_tenant_list_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_source_tenant_list_dto.py new file mode 100644 index 000000000..8163880a3 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_source_tenant_list_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ConsolidatedAnalyticsAPISourceTenantListDTO(BaseModel): + """ + ConsolidatedAnalyticsAPISourceTenantListDTO + """ # noqa: E501 + tenant_codes: Optional[List[StrictStr]] = Field(default=None, description="A list of the CA tenant's source tenants.", alias="tenantCodes") + __properties: ClassVar[List[str]] = ["tenantCodes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConsolidatedAnalyticsAPISourceTenantListDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ConsolidatedAnalyticsAPISourceTenantListDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tenantCodes": obj.get("tenantCodes") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_create_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_create_request_dto.py new file mode 100644 index 000000000..0e873354f --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_create_request_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ConsolidatedAnalyticsAPITenantCreateRequestDTO(BaseModel): + """ + ConsolidatedAnalyticsAPITenantCreateRequestDTO + """ # noqa: E501 + tenant_code: Optional[StrictStr] = Field(default=None, description="The ID of the tenant. For example, WFF_{XXX}~CA{YYY} where {XXX} is the administrating tenant code and {YYY} is the consolidated analytic tenant code.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConsolidatedAnalyticsAPITenantCreateRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ConsolidatedAnalyticsAPITenantCreateRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_list_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_list_response_dto.py new file mode 100644 index 000000000..7c6920414 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_list_response_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ConsolidatedAnalyticsAPITenantListResponseDTO(BaseModel): + """ + ConsolidatedAnalyticsAPITenantListResponseDTO + """ # noqa: E501 + tenant_codes: Optional[List[StrictStr]] = Field(default=None, description="A list of CA tenant codes.", alias="tenantCodes") + __properties: ClassVar[List[str]] = ["tenantCodes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConsolidatedAnalyticsAPITenantListResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ConsolidatedAnalyticsAPITenantListResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tenantCodes": obj.get("tenantCodes") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_with_details.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_with_details.py new file mode 100644 index 000000000..4b2410693 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_with_details.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ConsolidatedAnalyticsAPITenantWithDetails(BaseModel): + """ + ConsolidatedAnalyticsAPITenantWithDetails + """ # noqa: E501 + excluded_sources_list: Optional[List[StrictStr]] = Field(default=None, description="A list of the CA tenant's excluded sources.", alias="excludedSourcesList") + source_tenants_list: Optional[List[StrictStr]] = Field(default=None, description="A list of the CA tenant's source tenants.", alias="sourceTenantsList") + tenant_code: Optional[StrictStr] = Field(default=None, description="The CA tenant's code.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["excludedSourcesList", "sourceTenantsList", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConsolidatedAnalyticsAPITenantWithDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ConsolidatedAnalyticsAPITenantWithDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "excludedSourcesList": obj.get("excludedSourcesList"), + "sourceTenantsList": obj.get("sourceTenantsList"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_with_details_list_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_with_details_list_response_dto.py new file mode 100644 index 000000000..a35e97a9d --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/consolidated_analytics_api_tenant_with_details_list_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.consolidated_analytics_api_tenant_with_details import ConsolidatedAnalyticsAPITenantWithDetails +from typing import Optional, Set +from typing_extensions import Self + +class ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO(BaseModel): + """ + ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO + """ # noqa: E501 + tenants: Optional[List[ConsolidatedAnalyticsAPITenantWithDetails]] = Field(default=None, description="A list of CA tenants and their details.") + __properties: ClassVar[List[str]] = ["tenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tenants (list) + _items = [] + if self.tenants: + for _item in self.tenants: + if _item: + _items.append(_item.to_dict()) + _dict['tenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConsolidatedAnalyticsAPITenantWithDetailsListResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tenants": [ConsolidatedAnalyticsAPITenantWithDetails.from_dict(_item) for _item in obj["tenants"]] if obj.get("tenants") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/content_package_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/content_package_dto.py new file mode 100644 index 000000000..7bed4b61e --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/content_package_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ContentPackageDTO(BaseModel): + """ + ContentPackageDTO + """ # noqa: E501 + content_package_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the content package.", alias="contentPackageId") + description: Optional[StrictStr] = Field(default=None, description="A description of the content package.") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable content package name to display in Visier, such as \"Talent Acquisition Core Content\".", alias="displayName") + __properties: ClassVar[List[str]] = ["contentPackageId", "description", "displayName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ContentPackageDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ContentPackageDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "contentPackageId": obj.get("contentPackageId"), + "description": obj.get("description"), + "displayName": obj.get("displayName") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/create_data_access_set_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/create_data_access_set_request_dto.py new file mode 100644 index 000000000..36cb4cb4f --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/create_data_access_set_request_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.data_access_set_dto import DataAccessSetDTO +from typing import Optional, Set +from typing_extensions import Self + +class CreateDataAccessSetRequestDTO(BaseModel): + """ + CreateDataAccessSetRequestDTO + """ # noqa: E501 + shareable_property_access_configs: Optional[List[DataAccessSetDTO]] = Field(default=None, description="The data access sets to be created.", alias="shareablePropertyAccessConfigs") + __properties: ClassVar[List[str]] = ["shareablePropertyAccessConfigs"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateDataAccessSetRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 shareable_property_access_configs (list) + _items = [] + if self.shareable_property_access_configs: + for _item in self.shareable_property_access_configs: + if _item: + _items.append(_item.to_dict()) + _dict['shareablePropertyAccessConfigs'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateDataAccessSetRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "shareablePropertyAccessConfigs": [DataAccessSetDTO.from_dict(_item) for _item in obj["shareablePropertyAccessConfigs"]] if obj.get("shareablePropertyAccessConfigs") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/custom_property_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/custom_property_dto.py new file mode 100644 index 000000000..240e9f1ba --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/custom_property_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 CustomPropertyDTO(BaseModel): + """ + CustomPropertyDTO + """ # noqa: E501 + key: Optional[StrictStr] = None + value: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["key", "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 CustomPropertyDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 CustomPropertyDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "key": obj.get("key"), + "value": obj.get("value") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/custom_tenant_property_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/custom_tenant_property_dto.py new file mode 100644 index 000000000..61a6a46a7 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/custom_tenant_property_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 CustomTenantPropertyDTO(BaseModel): + """ + CustomTenantPropertyDTO + """ # noqa: E501 + key: Optional[StrictStr] = None + value: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["key", "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 CustomTenantPropertyDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 CustomTenantPropertyDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "key": obj.get("key"), + "value": obj.get("value") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_dto.py new file mode 100644 index 000000000..7af651211 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_dto.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.property_access_config_dto import PropertyAccessConfigDTO +from typing import Optional, Set +from typing_extensions import Self + +class DataAccessSetDTO(BaseModel): + """ + DataAccessSetDTO + """ # noqa: E501 + analytic_object_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the analytic object that the data access set is for.", alias="analyticObjectId") + description: Optional[StrictStr] = Field(default=None, description="A description of the data access set.") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable data access set name to display in Visier, such as \"Aggregate(Employee)\".", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the data access set.") + property_access_configs: Optional[List[PropertyAccessConfigDTO]] = Field(default=None, description="The data access assigned to properties in the data access set.", alias="propertyAccessConfigs") + __properties: ClassVar[List[str]] = ["analyticObjectId", "description", "displayName", "id", "propertyAccessConfigs"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataAccessSetDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 property_access_configs (list) + _items = [] + if self.property_access_configs: + for _item in self.property_access_configs: + if _item: + _items.append(_item.to_dict()) + _dict['propertyAccessConfigs'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataAccessSetDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObjectId": obj.get("analyticObjectId"), + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "id": obj.get("id"), + "propertyAccessConfigs": [PropertyAccessConfigDTO.from_dict(_item) for _item in obj["propertyAccessConfigs"]] if obj.get("propertyAccessConfigs") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_error_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_error_dto.py new file mode 100644 index 000000000..35103e0e6 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_error_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataAccessSetErrorDTO(BaseModel): + """ + DataAccessSetErrorDTO + """ # noqa: E501 + message: Optional[StrictStr] = Field(default=None, description="Error message") + rci: Optional[StrictStr] = Field(default=None, description="A root cause identifier that allows Visier to determine the source of the problem.") + __properties: ClassVar[List[str]] = ["message", "rci"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataAccessSetErrorDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataAccessSetErrorDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message"), + "rci": obj.get("rci") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_failure_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_failure_dto.py new file mode 100644 index 000000000..abaf5b681 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_failure_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.data_access_set_error_dto import DataAccessSetErrorDTO +from typing import Optional, Set +from typing_extensions import Self + +class DataAccessSetFailureDTO(BaseModel): + """ + DataAccessSetFailureDTO + """ # noqa: E501 + data_access_set_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the data access set.", alias="dataAccessSetId") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable data access set name to display in Visier, such as \"Detailed(Employee)\".", alias="displayName") + error: Optional[DataAccessSetErrorDTO] = Field(default=None, description="The error associated with the failure.") + __properties: ClassVar[List[str]] = ["dataAccessSetId", "displayName", "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 DataAccessSetFailureDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 error + if self.error: + _dict['error'] = self.error.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataAccessSetFailureDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataAccessSetId": obj.get("dataAccessSetId"), + "displayName": obj.get("displayName"), + "error": DataAccessSetErrorDTO.from_dict(obj["error"]) if obj.get("error") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_success_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_success_dto.py new file mode 100644 index 000000000..2a902b8eb --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_access_set_success_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataAccessSetSuccessDTO(BaseModel): + """ + DataAccessSetSuccessDTO + """ # noqa: E501 + data_access_set_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the created data access set.", alias="dataAccessSetId") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable data access set name to display in Visier, such as \"Detailed(Employee)\".", alias="displayName") + __properties: ClassVar[List[str]] = ["dataAccessSetId", "displayName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataAccessSetSuccessDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataAccessSetSuccessDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataAccessSetId": obj.get("dataAccessSetId"), + "displayName": obj.get("displayName") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_security_profile_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_security_profile_dto.py new file mode 100644 index 000000000..d6278dcf3 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/data_security_profile_dto.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.inherited_access_config_dto import InheritedAccessConfigDTO +from visier.sdk.api.administration.models.inherited_reference_member_filter_config_dto import InheritedReferenceMemberFilterConfigDTO +from visier.sdk.api.administration.models.member_filter_config_dto import MemberFilterConfigDTO +from visier.sdk.api.administration.models.property_set_config_dto import PropertySetConfigDTO +from typing import Optional, Set +from typing_extensions import Self + +class DataSecurityProfileDTO(BaseModel): + """ + DataSecurityProfileDTO + """ # noqa: E501 + all_data_point_access: Optional[StrictBool] = Field(default=None, description="If `true`, the permission grants access to the entire population. If `false`, define `memberFilterConfigs` to set custom population access.", alias="allDataPointAccess") + analytic_object_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the analytic object assigned data security in this permission.", alias="analyticObjectId") + inherited_access_configs: Optional[List[InheritedAccessConfigDTO]] = Field(default=None, description="The events and related objects inherited from the analytic object. By default, all events and related objects associated with the analytic object will be inherited from the analytic object in a permission. For example, if you assign access to Employee, then access to the Employee Exit event is inherited in the permission. To remove access to an event or related object, add the object to `inheritedAccessConfigs` with `removeAccess`: true. To add custom filters to an event or related object, add the object to `inheritedAccessConfigs` and define `memberFilterConfigs`.", alias="inheritedAccessConfigs") + inherited_reference_member_filter_config: Optional[InheritedReferenceMemberFilterConfigDTO] = Field(default=None, description="Configures the analytic object to inherit population access filters from. The target analytic object must be assigned population access in the permission and have a binding (strong) reference from the source analytic object. * For example, assume `Applicant` -> `Requisition` is configured to be a binding (strong) reference. For `Applicant` (source analytic object) to inherit population access filters from `Requisition` (target analytic object), in the Applicant `dataSecurityProfile`, set `inheritedReferenceMemberFilterConfig` to `Requisition`. In this example, Applicant will inherit filters from Requisition because Requsition is assigned data security in this permission and there is a binding (strong) reference from Applicant to Requisition.", alias="inheritedReferenceMemberFilterConfig") + member_filter_configs: Optional[List[MemberFilterConfigDTO]] = Field(default=None, description="Custom filters that define population access for an item in the permission.", alias="memberFilterConfigs") + property_set_config: Optional[PropertySetConfigDTO] = Field(default=None, description="A list of objects representing the data access for an analytic object’s properties.", alias="propertySetConfig") + __properties: ClassVar[List[str]] = ["allDataPointAccess", "analyticObjectId", "inheritedAccessConfigs", "inheritedReferenceMemberFilterConfig", "memberFilterConfigs", "propertySetConfig"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataSecurityProfileDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 inherited_access_configs (list) + _items = [] + if self.inherited_access_configs: + for _item in self.inherited_access_configs: + if _item: + _items.append(_item.to_dict()) + _dict['inheritedAccessConfigs'] = _items + # override the default output from pydantic by calling `to_dict()` of inherited_reference_member_filter_config + if self.inherited_reference_member_filter_config: + _dict['inheritedReferenceMemberFilterConfig'] = self.inherited_reference_member_filter_config.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in member_filter_configs (list) + _items = [] + if self.member_filter_configs: + for _item in self.member_filter_configs: + if _item: + _items.append(_item.to_dict()) + _dict['memberFilterConfigs'] = _items + # override the default output from pydantic by calling `to_dict()` of property_set_config + if self.property_set_config: + _dict['propertySetConfig'] = self.property_set_config.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataSecurityProfileDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "allDataPointAccess": obj.get("allDataPointAccess"), + "analyticObjectId": obj.get("analyticObjectId"), + "inheritedAccessConfigs": [InheritedAccessConfigDTO.from_dict(_item) for _item in obj["inheritedAccessConfigs"]] if obj.get("inheritedAccessConfigs") is not None else None, + "inheritedReferenceMemberFilterConfig": InheritedReferenceMemberFilterConfigDTO.from_dict(obj["inheritedReferenceMemberFilterConfig"]) if obj.get("inheritedReferenceMemberFilterConfig") is not None else None, + "memberFilterConfigs": [MemberFilterConfigDTO.from_dict(_item) for _item in obj["memberFilterConfigs"]] if obj.get("memberFilterConfigs") is not None else None, + "propertySetConfig": PropertySetConfigDTO.from_dict(obj["propertySetConfig"]) if obj.get("propertySetConfig") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/delete_permissions_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/delete_permissions_request_dto.py new file mode 100644 index 000000000..fcd85118e --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/delete_permissions_request_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DeletePermissionsRequestDTO(BaseModel): + """ + DeletePermissionsRequestDTO + """ # noqa: E501 + permission_ids: Optional[List[StrictStr]] = Field(default=None, description="The identifiers of the permissions to delete.", alias="permissionIds") + __properties: ClassVar[List[str]] = ["permissionIds"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeletePermissionsRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DeletePermissionsRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "permissionIds": obj.get("permissionIds") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/delete_user_group_v2_request.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/delete_user_group_v2_request.py new file mode 100644 index 000000000..c6ac0f276 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/delete_user_group_v2_request.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DeleteUserGroupV2Request(BaseModel): + """ + DeleteUserGroupV2Request + """ # noqa: E501 + user_group_id: Optional[StrictStr] = Field(default=None, description="The ID of user group to delete.", alias="userGroupId") + __properties: ClassVar[List[str]] = ["userGroupId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeleteUserGroupV2Request from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DeleteUserGroupV2Request from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "userGroupId": obj.get("userGroupId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/dimension_filter_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/dimension_filter_dto.py new file mode 100644 index 000000000..3c32ae153 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/dimension_filter_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.dynamic_dimension_filter_dto import DynamicDimensionFilterDTO +from visier.sdk.api.administration.models.static_dimension_filter_dto import StaticDimensionFilterDTO +from typing import Optional, Set +from typing_extensions import Self + +class DimensionFilterDTO(BaseModel): + """ + DimensionFilterDTO + """ # noqa: E501 + dynamic_dimension_filter: Optional[DynamicDimensionFilterDTO] = Field(default=None, alias="dynamicDimensionFilter") + static_dimension_filter: Optional[StaticDimensionFilterDTO] = Field(default=None, alias="staticDimensionFilter") + __properties: ClassVar[List[str]] = ["dynamicDimensionFilter", "staticDimensionFilter"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DimensionFilterDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dynamic_dimension_filter + if self.dynamic_dimension_filter: + _dict['dynamicDimensionFilter'] = self.dynamic_dimension_filter.to_dict() + # override the default output from pydantic by calling `to_dict()` of static_dimension_filter + if self.static_dimension_filter: + _dict['staticDimensionFilter'] = self.static_dimension_filter.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DimensionFilterDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dynamicDimensionFilter": DynamicDimensionFilterDTO.from_dict(obj["dynamicDimensionFilter"]) if obj.get("dynamicDimensionFilter") is not None else None, + "staticDimensionFilter": StaticDimensionFilterDTO.from_dict(obj["staticDimensionFilter"]) if obj.get("staticDimensionFilter") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/dynamic_dimension_filter_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/dynamic_dimension_filter_dto.py new file mode 100644 index 000000000..bdb51b61c --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/dynamic_dimension_filter_dto.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.dynamic_property_mapping_dto import DynamicPropertyMappingDTO +from typing import Optional, Set +from typing_extensions import Self + +class DynamicDimensionFilterDTO(BaseModel): + """ + DynamicDimensionFilterDTO + """ # noqa: E501 + dimension_id: Optional[StrictStr] = Field(default=None, description="The dimension ID associated with the filter.", alias="dimensionId") + dimension_status: Optional[StrictStr] = Field(default=None, description="The dimension's validity status. Valid values: Valid, NoData, NotFound. * **Valid**: The object exists and has loaded data. * **NoData**: The object exists but doesn't have loaded data. * **NotFound**: The object doesn't exist.", alias="dimensionStatus") + dynamic_property_mappings: Optional[List[DynamicPropertyMappingDTO]] = Field(default=None, description="The properties assigned population access in the dynamic filter.", alias="dynamicPropertyMappings") + subject_reference_path: Optional[List[StrictStr]] = Field(default=None, description="The subject reference path.", alias="subjectReferencePath") + __properties: ClassVar[List[str]] = ["dimensionId", "dimensionStatus", "dynamicPropertyMappings", "subjectReferencePath"] + + @field_validator('dimension_status') + def dimension_status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Unset', 'Valid', 'NoData', 'NotFound']): + raise ValueError("must be one of enum values ('Unset', 'Valid', 'NoData', 'NotFound')") + 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 DynamicDimensionFilterDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dynamic_property_mappings (list) + _items = [] + if self.dynamic_property_mappings: + for _item in self.dynamic_property_mappings: + if _item: + _items.append(_item.to_dict()) + _dict['dynamicPropertyMappings'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DynamicDimensionFilterDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimensionId": obj.get("dimensionId"), + "dimensionStatus": obj.get("dimensionStatus"), + "dynamicPropertyMappings": [DynamicPropertyMappingDTO.from_dict(_item) for _item in obj["dynamicPropertyMappings"]] if obj.get("dynamicPropertyMappings") is not None else None, + "subjectReferencePath": obj.get("subjectReferencePath") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/dynamic_property_mapping_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/dynamic_property_mapping_dto.py new file mode 100644 index 000000000..5c387fba5 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/dynamic_property_mapping_dto.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_property_dto import UserPropertyDTO +from typing import Optional, Set +from typing_extensions import Self + +class DynamicPropertyMappingDTO(BaseModel): + """ + DynamicPropertyMappingDTO + """ # noqa: E501 + hierarchy_property_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the property.", alias="hierarchyPropertyId") + hierarchy_property_status: Optional[StrictStr] = Field(default=None, description="The property's validity status. Valid values: `Valid`, `NotFound`. * **Valid**: The object exists and has loaded data. * **NotFound**: The object doesn't exist.", alias="hierarchyPropertyStatus") + user_property: Optional[UserPropertyDTO] = Field(default=None, description="The user property that you want to link the name property or organization head to.", alias="userProperty") + __properties: ClassVar[List[str]] = ["hierarchyPropertyId", "hierarchyPropertyStatus", "userProperty"] + + @field_validator('hierarchy_property_status') + def hierarchy_property_status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Unset', 'Valid', 'NoData', 'NotFound']): + raise ValueError("must be one of enum values ('Unset', 'Valid', 'NoData', 'NotFound')") + 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 DynamicPropertyMappingDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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_property + if self.user_property: + _dict['userProperty'] = self.user_property.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DynamicPropertyMappingDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "hierarchyPropertyId": obj.get("hierarchyPropertyId"), + "hierarchyPropertyStatus": obj.get("hierarchyPropertyStatus"), + "userProperty": UserPropertyDTO.from_dict(obj["userProperty"]) if obj.get("userProperty") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/element_ids_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/element_ids_dto.py new file mode 100644 index 000000000..ac1a2972c --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/element_ids_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ElementIDsDTO(BaseModel): + """ + ElementIDsDTO + """ # noqa: E501 + ids: Optional[List[StrictStr]] = Field(default=None, description="The unique identifiers.") + __properties: ClassVar[List[str]] = ["ids"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ElementIDsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ElementIDsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ids": obj.get("ids") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/error_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/error_dto.py new file mode 100644 index 000000000..81af5f5c2 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/error_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ErrorDTO(BaseModel): + """ + ErrorDTO + """ # noqa: E501 + error_code: Optional[StrictStr] = Field(default=None, description="A brief identifier of the type of error.", alias="errorCode") + error_message: Optional[StrictStr] = Field(default=None, description="A description of the error that occurred.", alias="errorMessage") + root_cause_id: Optional[StrictStr] = Field(default=None, description="The root cause identifier that allows Visier to determine the source of the problem.", alias="rootCauseId") + __properties: ClassVar[List[str]] = ["errorCode", "errorMessage", "rootCauseId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ErrorDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ErrorDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "errorCode": obj.get("errorCode"), + "errorMessage": obj.get("errorMessage"), + "rootCauseId": obj.get("rootCauseId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/excluded_sources_body.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/excluded_sources_body.py new file mode 100644 index 000000000..9c1b8116d --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/excluded_sources_body.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ExcludedSourcesBody(BaseModel): + """ + ExcludedSourcesBody + """ # noqa: E501 + excluded_sources: Optional[List[StrictStr]] = Field(default=None, description="A list of a CA tenant's excluded sources.", alias="excludedSources") + __properties: ClassVar[List[str]] = ["excludedSources"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ExcludedSourcesBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ExcludedSourcesBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "excludedSources": obj.get("excludedSources") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/export_production_versions_api_operation_parameters_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/export_production_versions_api_operation_parameters_dto.py new file mode 100644 index 000000000..5d92d08ca --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/export_production_versions_api_operation_parameters_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ExportProductionVersionsAPIOperationParametersDTO(BaseModel): + """ + ExportProductionVersionsAPIOperationParametersDTO + """ # noqa: E501 + end_version: Optional[StrictStr] = Field(default=None, description="The unique identifier of the version to stop exporting versions at. The range is inclusive.", alias="endVersion") + excluded_versions: Optional[List[StrictStr]] = Field(default=None, description="A list of versions between `startVersion` and `endVersion` to exclude.", alias="excludedVersions") + start_version: Optional[StrictStr] = Field(default=None, description="The unique identifier of the version to start exporting versions from. The range is inclusive.", alias="startVersion") + __properties: ClassVar[List[str]] = ["endVersion", "excludedVersions", "startVersion"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ExportProductionVersionsAPIOperationParametersDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ExportProductionVersionsAPIOperationParametersDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "endVersion": obj.get("endVersion"), + "excludedVersions": obj.get("excludedVersions"), + "startVersion": obj.get("startVersion") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/failed_accessible_tenant_profile_assignment_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/failed_accessible_tenant_profile_assignment_dto.py new file mode 100644 index 000000000..268651574 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/failed_accessible_tenant_profile_assignment_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.error_dto import ErrorDTO +from typing import Optional, Set +from typing_extensions import Self + +class FailedAccessibleTenantProfileAssignmentDTO(BaseModel): + """ + FailedAccessibleTenantProfileAssignmentDTO + """ # noqa: E501 + error: Optional[ErrorDTO] = Field(default=None, description="The details about the error.") + for_all_children: Optional[StrictBool] = Field(default=None, description="If true, the target assignment is for all analytic tenants.", alias="forAllChildren") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code.", alias="tenantCode") + user_id: Optional[StrictStr] = Field(default=None, description="The impacted user ID.", alias="userId") + __properties: ClassVar[List[str]] = ["error", "forAllChildren", "tenantCode", "userId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FailedAccessibleTenantProfileAssignmentDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 error + if self.error: + _dict['error'] = self.error.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FailedAccessibleTenantProfileAssignmentDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": ErrorDTO.from_dict(obj["error"]) if obj.get("error") is not None else None, + "forAllChildren": obj.get("forAllChildren"), + "tenantCode": obj.get("tenantCode"), + "userId": obj.get("userId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/failed_local_tenant_profile_assignment_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/failed_local_tenant_profile_assignment_dto.py new file mode 100644 index 000000000..fde1b3d84 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/failed_local_tenant_profile_assignment_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.error_dto import ErrorDTO +from typing import Optional, Set +from typing_extensions import Self + +class FailedLocalTenantProfileAssignmentDTO(BaseModel): + """ + FailedLocalTenantProfileAssignmentDTO + """ # noqa: E501 + error: Optional[ErrorDTO] = Field(default=None, description="The details about the error.") + user_id: Optional[StrictStr] = Field(default=None, description="The impacted user ID.", alias="userId") + __properties: ClassVar[List[str]] = ["error", "userId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FailedLocalTenantProfileAssignmentDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 error + if self.error: + _dict['error'] = self.error.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FailedLocalTenantProfileAssignmentDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": ErrorDTO.from_dict(obj["error"]) if obj.get("error") is not None else None, + "userId": obj.get("userId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/failed_local_tenant_profile_revoke_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/failed_local_tenant_profile_revoke_dto.py new file mode 100644 index 000000000..d9c5436e2 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/failed_local_tenant_profile_revoke_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 FailedLocalTenantProfileRevokeDTO(BaseModel): + """ + FailedLocalTenantProfileRevokeDTO + """ # noqa: E501 + message: Optional[StrictStr] = Field(default=None, description="The details about the error.") + user_id: Optional[StrictStr] = Field(default=None, description="The impacted user ID.", alias="userId") + __properties: ClassVar[List[str]] = ["message", "userId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FailedLocalTenantProfileRevokeDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 FailedLocalTenantProfileRevokeDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message"), + "userId": obj.get("userId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_capabilities_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_capabilities_api_response_dto.py new file mode 100644 index 000000000..2bd22055c --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_capabilities_api_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.capability_dto import CapabilityDTO +from typing import Optional, Set +from typing_extensions import Self + +class GetCapabilitiesAPIResponseDTO(BaseModel): + """ + GetCapabilitiesAPIResponseDTO + """ # noqa: E501 + capabilities: Optional[List[CapabilityDTO]] = Field(default=None, description="A list of objects representing the available capabilities.") + __properties: ClassVar[List[str]] = ["capabilities"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetCapabilitiesAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 capabilities (list) + _items = [] + if self.capabilities: + for _item in self.capabilities: + if _item: + _items.append(_item.to_dict()) + _dict['capabilities'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetCapabilitiesAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "capabilities": [CapabilityDTO.from_dict(_item) for _item in obj["capabilities"]] if obj.get("capabilities") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_content_packages_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_content_packages_api_response_dto.py new file mode 100644 index 000000000..2d11d0b12 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_content_packages_api_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.content_package_dto import ContentPackageDTO +from typing import Optional, Set +from typing_extensions import Self + +class GetContentPackagesAPIResponseDTO(BaseModel): + """ + GetContentPackagesAPIResponseDTO + """ # noqa: E501 + content_packages: Optional[List[ContentPackageDTO]] = Field(default=None, description="A list of objects representing the available content packages.", alias="contentPackages") + __properties: ClassVar[List[str]] = ["contentPackages"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetContentPackagesAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 content_packages (list) + _items = [] + if self.content_packages: + for _item in self.content_packages: + if _item: + _items.append(_item.to_dict()) + _dict['contentPackages'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetContentPackagesAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "contentPackages": [ContentPackageDTO.from_dict(_item) for _item in obj["contentPackages"]] if obj.get("contentPackages") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_data_access_sets_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_data_access_sets_api_response_dto.py new file mode 100644 index 000000000..8d1c2ecf0 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_data_access_sets_api_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.data_access_set_dto import DataAccessSetDTO +from typing import Optional, Set +from typing_extensions import Self + +class GetDataAccessSetsAPIResponseDTO(BaseModel): + """ + GetDataAccessSetsAPIResponseDTO + """ # noqa: E501 + data_access_sets: Optional[List[DataAccessSetDTO]] = Field(default=None, description="A list of objects representing the shareable data access sets.", alias="dataAccessSets") + __properties: ClassVar[List[str]] = ["dataAccessSets"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetDataAccessSetsAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 data_access_sets (list) + _items = [] + if self.data_access_sets: + for _item in self.data_access_sets: + if _item: + _items.append(_item.to_dict()) + _dict['dataAccessSets'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetDataAccessSetsAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataAccessSets": [DataAccessSetDTO.from_dict(_item) for _item in obj["dataAccessSets"]] if obj.get("dataAccessSets") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_data_security_objects_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_data_security_objects_api_response_dto.py new file mode 100644 index 000000000..4ff036502 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_data_security_objects_api_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.analytic_object_dto import AnalyticObjectDTO +from typing import Optional, Set +from typing_extensions import Self + +class GetDataSecurityObjectsAPIResponseDTO(BaseModel): + """ + GetDataSecurityObjectsAPIResponseDTO + """ # noqa: E501 + analytic_objects: Optional[List[AnalyticObjectDTO]] = Field(default=None, description="A list of analytic objects and their related objects that are available to define data access to.", alias="analyticObjects") + __properties: ClassVar[List[str]] = ["analyticObjects"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetDataSecurityObjectsAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 analytic_objects (list) + _items = [] + if self.analytic_objects: + for _item in self.analytic_objects: + if _item: + _items.append(_item.to_dict()) + _dict['analyticObjects'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetDataSecurityObjectsAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObjects": [AnalyticObjectDTO.from_dict(_item) for _item in obj["analyticObjects"]] if obj.get("analyticObjects") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_permissions_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_permissions_api_response_dto.py new file mode 100644 index 000000000..43bfce6c5 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_permissions_api_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.permission_dto import PermissionDTO +from typing import Optional, Set +from typing_extensions import Self + +class GetPermissionsAPIResponseDTO(BaseModel): + """ + List of available permissions + """ # noqa: E501 + permissions: Optional[List[PermissionDTO]] = Field(default=None, description="A list of objects representing the available permissions.") + __properties: ClassVar[List[str]] = ["permissions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPermissionsAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 permissions (list) + _items = [] + if self.permissions: + for _item in self.permissions: + if _item: + _items.append(_item.to_dict()) + _dict['permissions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPermissionsAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "permissions": [PermissionDTO.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_production_versions_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_production_versions_api_response_dto.py new file mode 100644 index 000000000..bfafff3f5 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_production_versions_api_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.project_dto import ProjectDTO +from typing import Optional, Set +from typing_extensions import Self + +class GetProductionVersionsAPIResponseDTO(BaseModel): + """ + GetProductionVersionsAPIResponseDTO + """ # noqa: E501 + published_versions: Optional[List[ProjectDTO]] = Field(default=None, description="A list of projects that were published to production.", alias="publishedVersions") + __properties: ClassVar[List[str]] = ["publishedVersions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetProductionVersionsAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 published_versions (list) + _items = [] + if self.published_versions: + for _item in self.published_versions: + if _item: + _items.append(_item.to_dict()) + _dict['publishedVersions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetProductionVersionsAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "publishedVersions": [ProjectDTO.from_dict(_item) for _item in obj["publishedVersions"]] if obj.get("publishedVersions") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_project_commits_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_project_commits_api_response_dto.py new file mode 100644 index 000000000..f4b8d3e61 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_project_commits_api_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.commit_dto import CommitDTO +from typing import Optional, Set +from typing_extensions import Self + +class GetProjectCommitsAPIResponseDTO(BaseModel): + """ + GetProjectCommitsAPIResponseDTO + """ # noqa: E501 + commits: Optional[List[CommitDTO]] = Field(default=None, description="A list of committed changes in the project.") + __properties: ClassVar[List[str]] = ["commits"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetProjectCommitsAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 commits (list) + _items = [] + if self.commits: + for _item in self.commits: + if _item: + _items.append(_item.to_dict()) + _dict['commits'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetProjectCommitsAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "commits": [CommitDTO.from_dict(_item) for _item in obj["commits"]] if obj.get("commits") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_projects_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_projects_api_response_dto.py new file mode 100644 index 000000000..11db7a5ca --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/get_projects_api_response_dto.py @@ -0,0 +1,122 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.project_dto import ProjectDTO +from typing import Optional, Set +from typing_extensions import Self + +class GetProjectsAPIResponseDTO(BaseModel): + """ + GetProjectsAPIResponseDTO + """ # noqa: E501 + approval_projects: Optional[List[ProjectDTO]] = Field(default=None, description="A list of objects representing the accessible approval projects for the user.", alias="approvalProjects") + archived_projects: Optional[List[ProjectDTO]] = Field(default=None, description="A list of objects representing the accessible archived projects for the user.", alias="archivedProjects") + open_projects: Optional[List[ProjectDTO]] = Field(default=None, description="A list of objects representing the accessible open projects for the user.", alias="openProjects") + rejected_projects: Optional[List[ProjectDTO]] = Field(default=None, description="A list of objects representing the accessible rejected projects for the user.", alias="rejectedProjects") + __properties: ClassVar[List[str]] = ["approvalProjects", "archivedProjects", "openProjects", "rejectedProjects"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetProjectsAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 approval_projects (list) + _items = [] + if self.approval_projects: + for _item in self.approval_projects: + if _item: + _items.append(_item.to_dict()) + _dict['approvalProjects'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in archived_projects (list) + _items = [] + if self.archived_projects: + for _item in self.archived_projects: + if _item: + _items.append(_item.to_dict()) + _dict['archivedProjects'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in open_projects (list) + _items = [] + if self.open_projects: + for _item in self.open_projects: + if _item: + _items.append(_item.to_dict()) + _dict['openProjects'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in rejected_projects (list) + _items = [] + if self.rejected_projects: + for _item in self.rejected_projects: + if _item: + _items.append(_item.to_dict()) + _dict['rejectedProjects'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetProjectsAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "approvalProjects": [ProjectDTO.from_dict(_item) for _item in obj["approvalProjects"]] if obj.get("approvalProjects") is not None else None, + "archivedProjects": [ProjectDTO.from_dict(_item) for _item in obj["archivedProjects"]] if obj.get("archivedProjects") is not None else None, + "openProjects": [ProjectDTO.from_dict(_item) for _item in obj["openProjects"]] if obj.get("openProjects") is not None else None, + "rejectedProjects": [ProjectDTO.from_dict(_item) for _item in obj["rejectedProjects"]] if obj.get("rejectedProjects") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/google_protobuf_any.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/google_protobuf_any.py new file mode 100644 index 000000000..0a90cf171 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/google_protobuf_any.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 GoogleProtobufAny(BaseModel): + """ + Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, description="The type of the serialized message.", alias="@type") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["@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 GoogleProtobufAny from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GoogleProtobufAny 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") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/hierarchy_property_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/hierarchy_property_dto.py new file mode 100644 index 000000000..f8e7166e1 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/hierarchy_property_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 HierarchyPropertyDTO(BaseModel): + """ + HierarchyPropertyDTO + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable property name to display in Visier, such as \"Name Property\".", alias="displayName") + hierarchy_property_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the property.", alias="hierarchyPropertyId") + __properties: ClassVar[List[str]] = ["displayName", "hierarchyPropertyId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of HierarchyPropertyDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 HierarchyPropertyDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "hierarchyPropertyId": obj.get("hierarchyPropertyId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/home_analysis_by_user_group_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/home_analysis_by_user_group_dto.py new file mode 100644 index 000000000..6df80e7cc --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/home_analysis_by_user_group_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 HomeAnalysisByUserGroupDTO(BaseModel): + """ + HomeAnalysisByUserGroupDTO + """ # noqa: E501 + home_analysis_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the analysis to show for this user group when a user logs in.", alias="homeAnalysisId") + user_group_id: Optional[StrictStr] = Field(default=None, description="The user group ID.", alias="userGroupId") + __properties: ClassVar[List[str]] = ["homeAnalysisId", "userGroupId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of HomeAnalysisByUserGroupDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 HomeAnalysisByUserGroupDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "homeAnalysisId": obj.get("homeAnalysisId"), + "userGroupId": obj.get("userGroupId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/inherited_access_config_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/inherited_access_config_dto.py new file mode 100644 index 000000000..853a17ea8 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/inherited_access_config_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.member_filter_config_dto import MemberFilterConfigDTO +from typing import Optional, Set +from typing_extensions import Self + +class InheritedAccessConfigDTO(BaseModel): + """ + InheritedAccessConfigDTO + """ # noqa: E501 + analytic_object_id: Optional[StrictStr] = Field(default=None, description="The analytic object ID associated with the inherited access configuration.", alias="analyticObjectId") + member_filter_configs: Optional[List[MemberFilterConfigDTO]] = Field(default=None, description="Custom filters that define population access for an inherited analytic object in the permission.", alias="memberFilterConfigs") + remove_access: Optional[StrictBool] = Field(default=None, description="The flag for removing access to the inherited analytic object.", alias="removeAccess") + __properties: ClassVar[List[str]] = ["analyticObjectId", "memberFilterConfigs", "removeAccess"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InheritedAccessConfigDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 member_filter_configs (list) + _items = [] + if self.member_filter_configs: + for _item in self.member_filter_configs: + if _item: + _items.append(_item.to_dict()) + _dict['memberFilterConfigs'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InheritedAccessConfigDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObjectId": obj.get("analyticObjectId"), + "memberFilterConfigs": [MemberFilterConfigDTO.from_dict(_item) for _item in obj["memberFilterConfigs"]] if obj.get("memberFilterConfigs") is not None else None, + "removeAccess": obj.get("removeAccess") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/inherited_reference_member_filter_config_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/inherited_reference_member_filter_config_dto.py new file mode 100644 index 000000000..69ad6644a --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/inherited_reference_member_filter_config_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 InheritedReferenceMemberFilterConfigDTO(BaseModel): + """ + InheritedReferenceMemberFilterConfigDTO + """ # noqa: E501 + target_analytic_object_id: Optional[StrictStr] = Field(default=None, description="* The unique ID of the analytic object that the source analytic object should inherit filters from. The target analytic object must have a binding (strong) reference from the source analytic object.", alias="targetAnalyticObjectId") + __properties: ClassVar[List[str]] = ["targetAnalyticObjectId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InheritedReferenceMemberFilterConfigDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 InheritedReferenceMemberFilterConfigDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "targetAnalyticObjectId": obj.get("targetAnalyticObjectId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/last_login_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/last_login_dto.py new file mode 100644 index 000000000..d6a51c72a --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/last_login_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 LastLoginDTO(BaseModel): + """ + LastLoginDTO + """ # noqa: E501 + timestamp: Optional[StrictStr] = Field(default=None, description="The time that the user last logged into Visier.") + __properties: ClassVar[List[str]] = ["timestamp"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LastLoginDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 LastLoginDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "timestamp": obj.get("timestamp") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_assignment_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_assignment_request_dto.py new file mode 100644 index 000000000..36deb910d --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_assignment_request_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 LocalTenantProfileAssignmentRequestDTO(BaseModel): + """ + LocalTenantProfileAssignmentRequestDTO + """ # noqa: E501 + target_user_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of users to assign this profile.", alias="targetUserIds") + validity_end_time: Optional[StrictStr] = Field(default=None, description="An exclusive date-time when this profile is no longer active.", alias="validityEndTime") + validity_start_time: Optional[StrictStr] = Field(default=None, description="An inclusive date-time when this profile is active.", alias="validityStartTime") + __properties: ClassVar[List[str]] = ["targetUserIds", "validityEndTime", "validityStartTime"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LocalTenantProfileAssignmentRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 LocalTenantProfileAssignmentRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "targetUserIds": obj.get("targetUserIds"), + "validityEndTime": obj.get("validityEndTime"), + "validityStartTime": obj.get("validityStartTime") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_assignment_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_assignment_response_dto.py new file mode 100644 index 000000000..3422ba100 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_assignment_response_dto.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.failed_local_tenant_profile_assignment_dto import FailedLocalTenantProfileAssignmentDTO +from visier.sdk.api.administration.models.successful_local_tenant_profile_assignment_dto import SuccessfulLocalTenantProfileAssignmentDTO +from visier.sdk.api.administration.models.user_id_error_dto import UserIdErrorDTO +from typing import Optional, Set +from typing_extensions import Self + +class LocalTenantProfileAssignmentResponseDTO(BaseModel): + """ + LocalTenantProfileAssignmentResponseDTO + """ # noqa: E501 + bad_user_ids: Optional[List[UserIdErrorDTO]] = Field(default=None, description="A list of objects representing the user IDs that may not be valid.", alias="badUserIds") + errors: Optional[StrictBool] = Field(default=None, description="If true, an error was generated by the request.") + failed_assignments: Optional[List[FailedLocalTenantProfileAssignmentDTO]] = Field(default=None, description="A list of objects representing any errors that occurred during the assignment operation.", alias="failedAssignments") + successful_assignments: Optional[List[SuccessfulLocalTenantProfileAssignmentDTO]] = Field(default=None, description="A list of the user IDs that were successfully assigned the profile.", alias="successfulAssignments") + __properties: ClassVar[List[str]] = ["badUserIds", "errors", "failedAssignments", "successfulAssignments"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LocalTenantProfileAssignmentResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 bad_user_ids (list) + _items = [] + if self.bad_user_ids: + for _item in self.bad_user_ids: + if _item: + _items.append(_item.to_dict()) + _dict['badUserIds'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in failed_assignments (list) + _items = [] + if self.failed_assignments: + for _item in self.failed_assignments: + if _item: + _items.append(_item.to_dict()) + _dict['failedAssignments'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in successful_assignments (list) + _items = [] + if self.successful_assignments: + for _item in self.successful_assignments: + if _item: + _items.append(_item.to_dict()) + _dict['successfulAssignments'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LocalTenantProfileAssignmentResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "badUserIds": [UserIdErrorDTO.from_dict(_item) for _item in obj["badUserIds"]] if obj.get("badUserIds") is not None else None, + "errors": obj.get("errors"), + "failedAssignments": [FailedLocalTenantProfileAssignmentDTO.from_dict(_item) for _item in obj["failedAssignments"]] if obj.get("failedAssignments") is not None else None, + "successfulAssignments": [SuccessfulLocalTenantProfileAssignmentDTO.from_dict(_item) for _item in obj["successfulAssignments"]] if obj.get("successfulAssignments") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_revoke_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_revoke_request_dto.py new file mode 100644 index 000000000..8904b2243 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_revoke_request_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 LocalTenantProfileRevokeRequestDTO(BaseModel): + """ + LocalTenantProfileRevokeRequestDTO + """ # noqa: E501 + target_user_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of users to remove this profile from.", alias="targetUserIds") + __properties: ClassVar[List[str]] = ["targetUserIds"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LocalTenantProfileRevokeRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 LocalTenantProfileRevokeRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "targetUserIds": obj.get("targetUserIds") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_revoke_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_revoke_response_dto.py new file mode 100644 index 000000000..6310f22cb --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/local_tenant_profile_revoke_response_dto.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.failed_local_tenant_profile_revoke_dto import FailedLocalTenantProfileRevokeDTO +from visier.sdk.api.administration.models.successful_local_tenant_profile_assignment_dto import SuccessfulLocalTenantProfileAssignmentDTO +from typing import Optional, Set +from typing_extensions import Self + +class LocalTenantProfileRevokeResponseDTO(BaseModel): + """ + LocalTenantProfileRevokeResponseDTO + """ # noqa: E501 + failed: Optional[List[FailedLocalTenantProfileRevokeDTO]] = Field(default=None, description="A list of objects representing any errors that occurred during the assignment operation.") + succeeded: Optional[List[SuccessfulLocalTenantProfileAssignmentDTO]] = Field(default=None, description="A list of the user IDs that successfully had a profile removed.") + __properties: ClassVar[List[str]] = ["failed", "succeeded"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LocalTenantProfileRevokeResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 failed (list) + _items = [] + if self.failed: + for _item in self.failed: + if _item: + _items.append(_item.to_dict()) + _dict['failed'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in succeeded (list) + _items = [] + if self.succeeded: + for _item in self.succeeded: + if _item: + _items.append(_item.to_dict()) + _dict['succeeded'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LocalTenantProfileRevokeResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "failed": [FailedLocalTenantProfileRevokeDTO.from_dict(_item) for _item in obj["failed"]] if obj.get("failed") is not None else None, + "succeeded": [SuccessfulLocalTenantProfileAssignmentDTO.from_dict(_item) for _item in obj["succeeded"]] if obj.get("succeeded") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/mask_message.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/mask_message.py new file mode 100644 index 000000000..7c0192de4 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/mask_message.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 MaskMessage(BaseModel): + """ + MaskMessage + """ # noqa: E501 + mask: Optional[StrictStr] = Field(default=None, description="A comma-separated list of strings that specifies which fields to include in the response.") + __properties: ClassVar[List[str]] = ["mask"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MaskMessage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 MaskMessage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "mask": obj.get("mask") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/member_filter_config_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/member_filter_config_dto.py new file mode 100644 index 000000000..5691b9daa --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/member_filter_config_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.dimension_filter_dto import DimensionFilterDTO +from typing import Optional, Set +from typing_extensions import Self + +class MemberFilterConfigDTO(BaseModel): + """ + MemberFilterConfigDTO + """ # noqa: E501 + dimension_filters: Optional[List[DimensionFilterDTO]] = Field(default=None, description="A list of objects representing the custom filters that define population access for the item. A custom filter can be a \"member filter\" (`staticDimensionFilter`) or a \"dynamic filter\" (`dynamicDimensionFilter`).", alias="dimensionFilters") + __properties: ClassVar[List[str]] = ["dimensionFilters"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MemberFilterConfigDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dimension_filters (list) + _items = [] + if self.dimension_filters: + for _item in self.dimension_filters: + if _item: + _items.append(_item.to_dict()) + _dict['dimensionFilters'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MemberFilterConfigDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimensionFilters": [DimensionFilterDTO.from_dict(_item) for _item in obj["dimensionFilters"]] if obj.get("dimensionFilters") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/member_selection_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/member_selection_dto.py new file mode 100644 index 000000000..18c656a00 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/member_selection_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 MemberSelectionDTO(BaseModel): + """ + MemberSelectionDTO + """ # noqa: E501 + dimension_member_status: Optional[StrictStr] = Field(default=None, description="The dimension member's validity status. Valid values: Valid, NotFound. * **Valid**: The object exists and has loaded data. * **NotFound**: The object doesn't exist.", alias="dimensionMemberStatus") + excluded: Optional[StrictBool] = Field(default=None, description="If `true`, population access is granted for all members except this member.") + name_path: Optional[List[StrictStr]] = Field(default=None, description="The member name path.", alias="namePath") + __properties: ClassVar[List[str]] = ["dimensionMemberStatus", "excluded", "namePath"] + + @field_validator('dimension_member_status') + def dimension_member_status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Unset', 'Valid', 'NoData', 'NotFound']): + raise ValueError("must be one of enum values ('Unset', 'Valid', 'NoData', 'NotFound')") + 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 MemberSelectionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 MemberSelectionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimensionMemberStatus": obj.get("dimensionMemberStatus"), + "excluded": obj.get("excluded"), + "namePath": obj.get("namePath") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/metric_validation_summary_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/metric_validation_summary_dto.py new file mode 100644 index 000000000..159fbe794 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/metric_validation_summary_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class MetricValidationSummaryDTO(BaseModel): + """ + MetricValidationSummaryDTO + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable name that is displayed within Visier. For example, \"Headcount\".", alias="displayName") + symbol_name: Optional[StrictStr] = Field(default=None, description="The symbol name of the metric. For example, \"employeeCount\".", alias="symbolName") + value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The current value of the metric expressed as an integer.") + __properties: ClassVar[List[str]] = ["displayName", "symbolName", "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 MetricValidationSummaryDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 MetricValidationSummaryDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "symbolName": obj.get("symbolName"), + "value": obj.get("value") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/module_settings_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/module_settings_dto.py new file mode 100644 index 000000000..62dc5bd03 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/module_settings_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ModuleSettingsDTO(BaseModel): + """ + ModuleSettingsDTO + """ # noqa: E501 + locale: Optional[StrictStr] = Field(default=None, description="The language of the module. For example, a module that is in English will have the locale \"en\".") + special_handling_instruction: Optional[StrictStr] = Field(default=None, description="An instruction message in the module selection dialog. This can be a note for administrators such as \"Don't assign this module\" or \"Assign Module B instead\".", alias="specialHandlingInstruction") + unavailable_for_assignment: Optional[StrictBool] = Field(default=None, description="If true, the module cannot be assigned to tenants.", alias="unavailableForAssignment") + __properties: ClassVar[List[str]] = ["locale", "specialHandlingInstruction", "unavailableForAssignment"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ModuleSettingsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ModuleSettingsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "locale": obj.get("locale"), + "specialHandlingInstruction": obj.get("specialHandlingInstruction"), + "unavailableForAssignment": obj.get("unavailableForAssignment") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_by_tenant_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_by_tenant_dto.py new file mode 100644 index 000000000..db0b735e7 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_by_tenant_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.permission_assigned_user_dto import PermissionAssignedUserDTO +from typing import Optional, Set +from typing_extensions import Self + +class PermissionAssignedByTenantDTO(BaseModel): + """ + The users assigned a specific permission, grouped by tenant. + """ # noqa: E501 + tenant_code: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the tenant.", alias="tenantCode") + users: Optional[List[PermissionAssignedUserDTO]] = Field(default=None, description="A list of objects representing the users that the permission is assigned to.") + __properties: ClassVar[List[str]] = ["tenantCode", "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 PermissionAssignedByTenantDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 in self.users: + if _item: + _items.append(_item.to_dict()) + _dict['users'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PermissionAssignedByTenantDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tenantCode": obj.get("tenantCode"), + "users": [PermissionAssignedUserDTO.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_for_local_tenant_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_for_local_tenant_dto.py new file mode 100644 index 000000000..b3d2e9e42 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_for_local_tenant_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PermissionAssignedForLocalTenantDTO(BaseModel): + """ + PermissionAssignedForLocalTenantDTO + """ # noqa: E501 + description: Optional[StrictStr] = Field(default=None, description="A user-defined description of the permission.") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable permission name to display in Visier, such as \"Diversity Access\".", alias="displayName") + permission_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the permission.", alias="permissionId") + __properties: ClassVar[List[str]] = ["description", "displayName", "permissionId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PermissionAssignedForLocalTenantDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PermissionAssignedForLocalTenantDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "permissionId": obj.get("permissionId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_user_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_user_dto.py new file mode 100644 index 000000000..2434824af --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_user_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PermissionAssignedUserDTO(BaseModel): + """ + The user and the method through which the user was assigned the permission. + """ # noqa: E501 + permission_from: Optional[StrictStr] = Field(default=None, description="The method through which the user was assigned the permission. The permission may be assigned through the following options: - User: The permission was directly assigned to the user. - UserGroup: The permission was assigned because the user belongs to a user group that is assigned the permission. - UserAndUserGroup: The permission was directly assigned to the user and assigned because the user belongs to a user group that is assigned the permission.", alias="permissionFrom") + user_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the user.", alias="userId") + username: Optional[StrictStr] = Field(default=None, description="The user's username. This is typically the user's email, such as john@visier.com.") + __properties: ClassVar[List[str]] = ["permissionFrom", "userId", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PermissionAssignedUserDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PermissionAssignedUserDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "permissionFrom": obj.get("permissionFrom"), + "userId": obj.get("userId"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_users_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_users_dto.py new file mode 100644 index 000000000..ea7ee5d14 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_assigned_users_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.permission_assigned_by_tenant_dto import PermissionAssignedByTenantDTO +from typing import Optional, Set +from typing_extensions import Self + +class PermissionAssignedUsersDTO(BaseModel): + """ + Users that are assigned a specific permission. + """ # noqa: E501 + limit: Optional[StrictInt] = Field(default=None, description="The number of results to return. The maximum number of tenants to retrieve is 100.") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving results from, also known as offset. The index begins at 0.") + tenants: Optional[List[PermissionAssignedByTenantDTO]] = Field(default=None, description="A list of objects representing the users that are assigned the specific permission, organized by the tenants the users belong to.") + __properties: ClassVar[List[str]] = ["limit", "start", "tenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PermissionAssignedUsersDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tenants (list) + _items = [] + if self.tenants: + for _item in self.tenants: + if _item: + _items.append(_item.to_dict()) + _dict['tenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PermissionAssignedUsersDTO 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"), + "start": obj.get("start"), + "tenants": [PermissionAssignedByTenantDTO.from_dict(_item) for _item in obj["tenants"]] if obj.get("tenants") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_bulk_operation_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_bulk_operation_response_dto.py new file mode 100644 index 000000000..a700cbec2 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_bulk_operation_response_dto.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.permission_failure_dto import PermissionFailureDTO +from visier.sdk.api.administration.models.permission_success_dto import PermissionSuccessDTO +from typing import Optional, Set +from typing_extensions import Self + +class PermissionBulkOperationResponseDTO(BaseModel): + """ + PermissionBulkOperationResponseDTO + """ # noqa: E501 + failures: Optional[List[PermissionFailureDTO]] = Field(default=None, description="The permissions that did not process and any relevant error information.") + successes: Optional[List[PermissionSuccessDTO]] = Field(default=None, description="The successfully processed permissions.") + __properties: ClassVar[List[str]] = ["failures", "successes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PermissionBulkOperationResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 failures (list) + _items = [] + if self.failures: + for _item in self.failures: + if _item: + _items.append(_item.to_dict()) + _dict['failures'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in successes (list) + _items = [] + if self.successes: + for _item in self.successes: + if _item: + _items.append(_item.to_dict()) + _dict['successes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PermissionBulkOperationResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "failures": [PermissionFailureDTO.from_dict(_item) for _item in obj["failures"]] if obj.get("failures") is not None else None, + "successes": [PermissionSuccessDTO.from_dict(_item) for _item in obj["successes"]] if obj.get("successes") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_dto.py new file mode 100644 index 000000000..7fe219f30 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_dto.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.admin_capability_config_dto import AdminCapabilityConfigDTO +from visier.sdk.api.administration.models.data_security_profile_dto import DataSecurityProfileDTO +from visier.sdk.api.administration.models.role_modules_config_dto import RoleModulesConfigDTO +from typing import Optional, Set +from typing_extensions import Self + +class PermissionDTO(BaseModel): + """ + PermissionDTO + """ # noqa: E501 + admin_capability_config: Optional[AdminCapabilityConfigDTO] = Field(default=None, description="The capabilities assigned in the permission.", alias="adminCapabilityConfig") + data_security_profiles: Optional[List[DataSecurityProfileDTO]] = Field(default=None, description="A list of objects representing the data security for each item in a permission.", alias="dataSecurityProfiles") + description: Optional[StrictStr] = Field(default=None, description="A user-defined description of the permission.") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable permission name to display in Visier, such as \"Diversity Access\".", alias="displayName") + permission_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the permission.", alias="permissionId") + role_modules_config: Optional[RoleModulesConfigDTO] = Field(default=None, description="A list of content packages assigned to the permission.", alias="roleModulesConfig") + __properties: ClassVar[List[str]] = ["adminCapabilityConfig", "dataSecurityProfiles", "description", "displayName", "permissionId", "roleModulesConfig"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PermissionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 admin_capability_config + if self.admin_capability_config: + _dict['adminCapabilityConfig'] = self.admin_capability_config.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in data_security_profiles (list) + _items = [] + if self.data_security_profiles: + for _item in self.data_security_profiles: + if _item: + _items.append(_item.to_dict()) + _dict['dataSecurityProfiles'] = _items + # override the default output from pydantic by calling `to_dict()` of role_modules_config + if self.role_modules_config: + _dict['roleModulesConfig'] = self.role_modules_config.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PermissionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "adminCapabilityConfig": AdminCapabilityConfigDTO.from_dict(obj["adminCapabilityConfig"]) if obj.get("adminCapabilityConfig") is not None else None, + "dataSecurityProfiles": [DataSecurityProfileDTO.from_dict(_item) for _item in obj["dataSecurityProfiles"]] if obj.get("dataSecurityProfiles") is not None else None, + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "permissionId": obj.get("permissionId"), + "roleModulesConfig": RoleModulesConfigDTO.from_dict(obj["roleModulesConfig"]) if obj.get("roleModulesConfig") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_error_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_error_dto.py new file mode 100644 index 000000000..59e0b89a6 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_error_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PermissionErrorDTO(BaseModel): + """ + PermissionErrorDTO + """ # noqa: E501 + message: Optional[StrictStr] = Field(default=None, description="Error message") + rci: Optional[StrictStr] = Field(default=None, description="A root cause identifier that allows Visier to determine the source of the problem.") + __properties: ClassVar[List[str]] = ["message", "rci"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PermissionErrorDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PermissionErrorDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message"), + "rci": obj.get("rci") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_failure_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_failure_dto.py new file mode 100644 index 000000000..7edd2ced6 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_failure_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.permission_error_dto import PermissionErrorDTO +from typing import Optional, Set +from typing_extensions import Self + +class PermissionFailureDTO(BaseModel): + """ + PermissionFailureDTO + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable permission name to display in Visier, such as \"Diversity Access\".", alias="displayName") + error: Optional[PermissionErrorDTO] = Field(default=None, description="The error associated with the failure.") + permission_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the permission.", alias="permissionId") + __properties: ClassVar[List[str]] = ["displayName", "error", "permissionId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PermissionFailureDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 error + if self.error: + _dict['error'] = self.error.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PermissionFailureDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "error": PermissionErrorDTO.from_dict(obj["error"]) if obj.get("error") is not None else None, + "permissionId": obj.get("permissionId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_response_dto.py new file mode 100644 index 000000000..e7585cdc0 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_response_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PermissionResponseDTO(BaseModel): + """ + PermissionResponseDTO + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable permission name to display in Visier, such as \"Diversity Access\".", alias="displayName") + permission_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the permission.", alias="permissionId") + __properties: ClassVar[List[str]] = ["displayName", "permissionId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PermissionResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PermissionResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "permissionId": obj.get("permissionId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_success_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_success_dto.py new file mode 100644 index 000000000..c085f4113 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permission_success_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PermissionSuccessDTO(BaseModel): + """ + PermissionSuccessDTO + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable permission name to display in Visier, such as \"Diversity Access\".", alias="displayName") + permission_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the permission.", alias="permissionId") + __properties: ClassVar[List[str]] = ["displayName", "permissionId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PermissionSuccessDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PermissionSuccessDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "permissionId": obj.get("permissionId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_list_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_list_dto.py new file mode 100644 index 000000000..21555a341 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_list_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.permission_dto import PermissionDTO +from typing import Optional, Set +from typing_extensions import Self + +class PermissionsListDTO(BaseModel): + """ + PermissionsListDTO + """ # noqa: E501 + permissions: Optional[List[PermissionDTO]] = Field(default=None, description="The list of permissions that will be created or updated") + __properties: ClassVar[List[str]] = ["permissions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PermissionsListDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 permissions (list) + _items = [] + if self.permissions: + for _item in self.permissions: + if _item: + _items.append(_item.to_dict()) + _dict['permissions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PermissionsListDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "permissions": [PermissionDTO.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_to_user_group_for_tenant_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_to_user_group_for_tenant_dto.py new file mode 100644 index 000000000..b50754119 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_to_user_group_for_tenant_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_group_get_api_response_dto import UserGroupGetAPIResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class PermissionsToUserGroupForTenantDTO(BaseModel): + """ + PermissionsToUserGroupForTenantDTO + """ # noqa: E501 + message: Optional[StrictStr] = Field(default=None, description="A detailed description of the request outcome, if available.") + status: Optional[StrictStr] = Field(default=None, description="The state of the permission assignment or removal. Valid values are Succeed or Failed.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the tenant.", alias="tenantCode") + user_groups: Optional[List[UserGroupGetAPIResponseDTO]] = Field(default=None, description="A list of objects representing user groups and the permissions to assign to or remove from them.", alias="userGroups") + __properties: ClassVar[List[str]] = ["message", "status", "tenantCode", "userGroups"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PermissionsToUserGroupForTenantDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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_groups (list) + _items = [] + if self.user_groups: + for _item in self.user_groups: + if _item: + _items.append(_item.to_dict()) + _dict['userGroups'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PermissionsToUserGroupForTenantDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode"), + "userGroups": [UserGroupGetAPIResponseDTO.from_dict(_item) for _item in obj["userGroups"]] if obj.get("userGroups") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_to_user_group_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_to_user_group_request_dto.py new file mode 100644 index 000000000..d8fe66abe --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_to_user_group_request_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PermissionsToUserGroupRequestDTO(BaseModel): + """ + PermissionsToUserGroupRequestDTO + """ # noqa: E501 + permissions_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of strings representing the unique permission IDs to assign.", alias="permissionsIds") + user_group_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the user group.", alias="userGroupId") + __properties: ClassVar[List[str]] = ["permissionsIds", "userGroupId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PermissionsToUserGroupRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PermissionsToUserGroupRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "permissionsIds": obj.get("permissionsIds"), + "userGroupId": obj.get("userGroupId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_to_user_groups_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_to_user_groups_request_dto.py new file mode 100644 index 000000000..173e9d7a8 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/permissions_to_user_groups_request_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.permissions_to_user_group_request_dto import PermissionsToUserGroupRequestDTO +from typing import Optional, Set +from typing_extensions import Self + +class PermissionsToUserGroupsRequestDTO(BaseModel): + """ + PermissionsToUserGroupsRequestDTO + """ # noqa: E501 + user_groups: Optional[List[PermissionsToUserGroupRequestDTO]] = Field(default=None, description="A list of objects representing the user groups and permissions to assign or remove.", alias="userGroups") + __properties: ClassVar[List[str]] = ["userGroups"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PermissionsToUserGroupsRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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_groups (list) + _items = [] + if self.user_groups: + for _item in self.user_groups: + if _item: + _items.append(_item.to_dict()) + _dict['userGroups'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PermissionsToUserGroupsRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "userGroups": [PermissionsToUserGroupRequestDTO.from_dict(_item) for _item in obj["userGroups"]] if obj.get("userGroups") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/production_versions_api_operation_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/production_versions_api_operation_request_dto.py new file mode 100644 index 000000000..cf0cb12b2 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/production_versions_api_operation_request_dto.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.export_production_versions_api_operation_parameters_dto import ExportProductionVersionsAPIOperationParametersDTO +from typing import Optional, Set +from typing_extensions import Self + +class ProductionVersionsAPIOperationRequestDTO(BaseModel): + """ + ProductionVersionsAPIOperationRequestDTO + """ # noqa: E501 + export_parameters: Optional[ExportProductionVersionsAPIOperationParametersDTO] = Field(default=None, description="The parameters for the `export` option, such as the production version to start exporting versions from. Required for `export` operations.", alias="exportParameters") + operation: Optional[StrictStr] = Field(default=None, description="The operation to perform. Valid values: * `export`: Export the project changes of the requested production versions and their related files, such as any Guidebook images. If successful, a ZIP file is returned containing any relevant image files and a JSON file with the production project changes.") + __properties: ClassVar[List[str]] = ["exportParameters", "operation"] + + @field_validator('operation') + def operation_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['unknownProductionVersionsAPIOperation', 'export']): + raise ValueError("must be one of enum values ('unknownProductionVersionsAPIOperation', 'export')") + 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 ProductionVersionsAPIOperationRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 export_parameters + if self.export_parameters: + _dict['exportParameters'] = self.export_parameters.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProductionVersionsAPIOperationRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "exportParameters": ExportProductionVersionsAPIOperationParametersDTO.from_dict(obj["exportParameters"]) if obj.get("exportParameters") is not None else None, + "operation": obj.get("operation") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/production_versions_api_operation_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/production_versions_api_operation_response_dto.py new file mode 100644 index 000000000..22983ff4b --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/production_versions_api_operation_response_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ProductionVersionsAPIOperationResponseDTO(BaseModel): + """ + ProductionVersionsAPIOperationResponseDTO + """ # noqa: E501 + export: Optional[Dict[str, Any]] = Field(default=None, description="The result of the `export` operation.") + __properties: ClassVar[List[str]] = ["export"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProductionVersionsAPIOperationResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ProductionVersionsAPIOperationResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "export": obj.get("export") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/profile_assigned_for_accessible_tenant_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/profile_assigned_for_accessible_tenant_dto.py new file mode 100644 index 000000000..af69620fc --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/profile_assigned_for_accessible_tenant_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ProfileAssignedForAccessibleTenantDTO(BaseModel): + """ + ProfileAssignedForAccessibleTenantDTO + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable profile name to display in Visier such as \"Partner Service Manager\".", alias="displayName") + for_all_children: Optional[StrictBool] = Field(default=None, description="If true, the profile is assigned for all the analytic tenants of the administrating tenant.", alias="forAllChildren") + profile_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the profile.", alias="profileId") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code of the analytic tenant on which this profile is assigned.", alias="tenantCode") + validity_end_time: Optional[StrictStr] = Field(default=None, description="An exclusive date-time when this profile is no longer active. Note: Long.Max_Value means that endTime is undefined and is equivalent to permanent access.", alias="validityEndTime") + validity_start_time: Optional[StrictStr] = Field(default=None, description="An inclusive date-time when this profile is active. Note: Long.Min_Value means that startTime is undefined.", alias="validityStartTime") + __properties: ClassVar[List[str]] = ["displayName", "forAllChildren", "profileId", "tenantCode", "validityEndTime", "validityStartTime"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileAssignedForAccessibleTenantDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ProfileAssignedForAccessibleTenantDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "forAllChildren": obj.get("forAllChildren"), + "profileId": obj.get("profileId"), + "tenantCode": obj.get("tenantCode"), + "validityEndTime": obj.get("validityEndTime"), + "validityStartTime": obj.get("validityStartTime") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/profile_assigned_for_local_tenant_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/profile_assigned_for_local_tenant_dto.py new file mode 100644 index 000000000..a148539c6 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/profile_assigned_for_local_tenant_dto.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.additional_capabilities_dto import AdditionalCapabilitiesDTO +from visier.sdk.api.administration.models.capabilities_dto import CapabilitiesDTO +from typing import Optional, Set +from typing_extensions import Self + +class ProfileAssignedForLocalTenantDTO(BaseModel): + """ + ProfileAssignedForLocalTenantDTO + """ # noqa: E501 + additional_capabilities: Optional[AdditionalCapabilitiesDTO] = Field(default=None, description="A list of the additional capabilities that are assigned to this profile.", alias="additionalCapabilities") + capabilities: Optional[List[CapabilitiesDTO]] = Field(default=None, description="A list of objects representing the access that this profile has for the capabilities of this profile.") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable profile name to display in Visier, such as \"Partner Service Manager\".", alias="displayName") + profile_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the profile.", alias="profileId") + validity_end_time: Optional[StrictStr] = Field(default=None, description="An exclusive date-time when this profile is no longer active.", alias="validityEndTime") + validity_start_time: Optional[StrictStr] = Field(default=None, description="An inclusive date-time when this profile is active.", alias="validityStartTime") + __properties: ClassVar[List[str]] = ["additionalCapabilities", "capabilities", "displayName", "profileId", "validityEndTime", "validityStartTime"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileAssignedForLocalTenantDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 additional_capabilities + if self.additional_capabilities: + _dict['additionalCapabilities'] = self.additional_capabilities.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in capabilities (list) + _items = [] + if self.capabilities: + for _item in self.capabilities: + if _item: + _items.append(_item.to_dict()) + _dict['capabilities'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileAssignedForLocalTenantDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "additionalCapabilities": AdditionalCapabilitiesDTO.from_dict(obj["additionalCapabilities"]) if obj.get("additionalCapabilities") is not None else None, + "capabilities": [CapabilitiesDTO.from_dict(_item) for _item in obj["capabilities"]] if obj.get("capabilities") is not None else None, + "displayName": obj.get("displayName"), + "profileId": obj.get("profileId"), + "validityEndTime": obj.get("validityEndTime"), + "validityStartTime": obj.get("validityStartTime") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/profile_get_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/profile_get_api_response_dto.py new file mode 100644 index 000000000..0fd4fefa6 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/profile_get_api_response_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.capabilities_dto import CapabilitiesDTO +from typing import Optional, Set +from typing_extensions import Self + +class ProfileGetAPIResponseDTO(BaseModel): + """ + ProfileGetAPIResponseDTO + """ # noqa: E501 + additional_capabilities: Optional[List[StrictStr]] = Field(default=None, description="A list of the additional capabilities that are assigned to this profile.", alias="additionalCapabilities") + capabilities: Optional[List[CapabilitiesDTO]] = Field(default=None, description="A list of objects representing the access that this profile has for the capabilities of this profile.") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable profile name to display in Visier. For example, \"Partner Service Manager\".", alias="displayName") + profile_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the profile.", alias="profileId") + __properties: ClassVar[List[str]] = ["additionalCapabilities", "capabilities", "displayName", "profileId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProfileGetAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 capabilities (list) + _items = [] + if self.capabilities: + for _item in self.capabilities: + if _item: + _items.append(_item.to_dict()) + _dict['capabilities'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfileGetAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "additionalCapabilities": obj.get("additionalCapabilities"), + "capabilities": [CapabilitiesDTO.from_dict(_item) for _item in obj["capabilities"]] if obj.get("capabilities") is not None else None, + "displayName": obj.get("displayName"), + "profileId": obj.get("profileId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/profiles_get_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/profiles_get_api_response_dto.py new file mode 100644 index 000000000..8f0e1cf94 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/profiles_get_api_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.profile_get_api_response_dto import ProfileGetAPIResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class ProfilesGetAPIResponseDTO(BaseModel): + """ + ProfilesGetAPIResponseDTO + """ # noqa: E501 + profiles: Optional[List[ProfileGetAPIResponseDTO]] = Field(default=None, description="A list of objects representing the available profiles.") + __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 ProfilesGetAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 in self.profiles: + if _item: + _items.append(_item.to_dict()) + _dict['profiles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProfilesGetAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "profiles": [ProfileGetAPIResponseDTO.from_dict(_item) for _item in obj["profiles"]] if obj.get("profiles") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/project_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/project_dto.py new file mode 100644 index 000000000..a5f803ffa --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/project_dto.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ProjectDTO(BaseModel): + """ + ProjectDTO + """ # noqa: E501 + capabilities: Optional[List[StrictStr]] = Field(default=None, description="The current user's capabilities for the project. Users with `canWrite`, `canShare`, or `owner` capabilities can add and commit changes to the project. **canRead**: The project has been shared to the user with `View` access. **canWrite**: The project has been shared to the user with `Edit` access. **canShare**: The project has been shared to the user with `Share` access. **owner**: The user is the owner of the project. Omit when creating a new project.") + description: Optional[StrictStr] = Field(default=None, description="A description of the project.") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the project. Omit when creating a new project.") + name: Optional[StrictStr] = Field(default=None, description="An identifiable project name to display in Visier.") + release_version: Optional[StrictStr] = Field(default=None, description="The release version of the project.", alias="releaseVersion") + ticket_number: Optional[StrictStr] = Field(default=None, description="The change management ticket number of the project.", alias="ticketNumber") + version_number: Optional[StrictInt] = Field(default=None, description="The version number of the project.", alias="versionNumber") + __properties: ClassVar[List[str]] = ["capabilities", "description", "id", "name", "releaseVersion", "ticketNumber", "versionNumber"] + + @field_validator('capabilities') + def capabilities_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + for i in value: + if i not in set(['canRead', 'canWrite', 'canShare', 'owner']): + raise ValueError("each list item must be one of ('canRead', 'canWrite', 'canShare', 'owner')") + 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 ProjectDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ProjectDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "capabilities": obj.get("capabilities"), + "description": obj.get("description"), + "id": obj.get("id"), + "name": obj.get("name"), + "releaseVersion": obj.get("releaseVersion"), + "ticketNumber": obj.get("ticketNumber"), + "versionNumber": obj.get("versionNumber") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/project_operation_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/project_operation_request_dto.py new file mode 100644 index 000000000..5ecdb8764 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/project_operation_request_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ProjectOperationRequestDTO(BaseModel): + """ + ProjectOperationRequestDTO + """ # noqa: E501 + operation: Optional[StrictStr] = Field(default=None, description="The operation to perform on a draft project. Valid values: * `commitAndPublish`: Commits the requesting user's changes and publishes the draft project to production.") + __properties: ClassVar[List[str]] = ["operation"] + + @field_validator('operation') + def operation_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['unknown', 'commitAndPublish']): + raise ValueError("must be one of enum values ('unknown', 'commitAndPublish')") + 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 ProjectOperationRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ProjectOperationRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "operation": obj.get("operation") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/project_operation_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/project_operation_response_dto.py new file mode 100644 index 000000000..f878f85ea --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/project_operation_response_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.commit_and_publish_operation_response_dto import CommitAndPublishOperationResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class ProjectOperationResponseDTO(BaseModel): + """ + ProjectOperationResponseDTO + """ # noqa: E501 + commit_and_publish: Optional[CommitAndPublishOperationResponseDTO] = Field(default=None, description="The result of the `commitAndPublish` operation.", alias="commitAndPublish") + __properties: ClassVar[List[str]] = ["commitAndPublish"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProjectOperationResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 commit_and_publish + if self.commit_and_publish: + _dict['commitAndPublish'] = self.commit_and_publish.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProjectOperationResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "commitAndPublish": CommitAndPublishOperationResponseDTO.from_dict(obj["commitAndPublish"]) if obj.get("commitAndPublish") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/property_access_config_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/property_access_config_dto.py new file mode 100644 index 000000000..a433ee5d0 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/property_access_config_dto.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PropertyAccessConfigDTO(BaseModel): + """ + PropertyAccessConfigDTO + """ # noqa: E501 + access_level: Optional[StrictStr] = Field(default=None, description="The access level of the property. Valid values are: `Aggregate`, `Detailed`. * **Aggregate**: The property can only be accessed as part of an aggregate. * **Detailed**: The property can be accessed at a detailed level.", alias="accessLevel") + analytic_object_id: Optional[StrictStr] = Field(default=None, description="The analytic object ID of the property.", alias="analyticObjectId") + analytic_object_reference_paths: Optional[List[StrictStr]] = Field(default=None, description="The path to the analytic object reference. Empty if the configuration is not a reference.", alias="analyticObjectReferencePaths") + property_id: Optional[StrictStr] = Field(default=None, description="The property ID associated with the property access configuration.", alias="propertyId") + property_status: Optional[StrictStr] = Field(default=None, description="The property's validity status. Valid values: `Valid`, `NoData`, `NotFound`. * **Valid**: The object exists and has loaded data. * **NoData**: The object exists but doesn't have loaded data. * **NotFound**: The object doesn't exist.", alias="propertyStatus") + __properties: ClassVar[List[str]] = ["accessLevel", "analyticObjectId", "analyticObjectReferencePaths", "propertyId", "propertyStatus"] + + @field_validator('access_level') + def access_level_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['None', 'Aggregate', 'Detailed']): + raise ValueError("must be one of enum values ('None', 'Aggregate', 'Detailed')") + return value + + @field_validator('property_status') + def property_status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Unset', 'Valid', 'NoData', 'NotFound']): + raise ValueError("must be one of enum values ('Unset', 'Valid', 'NoData', 'NotFound')") + 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 PropertyAccessConfigDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PropertyAccessConfigDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accessLevel": obj.get("accessLevel"), + "analyticObjectId": obj.get("analyticObjectId"), + "analyticObjectReferencePaths": obj.get("analyticObjectReferencePaths"), + "propertyId": obj.get("propertyId"), + "propertyStatus": obj.get("propertyStatus") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/property_set_config_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/property_set_config_dto.py new file mode 100644 index 000000000..dbdc13400 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/property_set_config_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.property_access_config_dto import PropertyAccessConfigDTO +from visier.sdk.api.administration.models.shareable_data_access_set import ShareableDataAccessSet +from typing import Optional, Set +from typing_extensions import Self + +class PropertySetConfigDTO(BaseModel): + """ + PropertySetConfigDTO + """ # noqa: E501 + property_access_configs: Optional[List[PropertyAccessConfigDTO]] = Field(default=None, description="The data access for a property.", alias="propertyAccessConfigs") + shareable_data_access_set: Optional[ShareableDataAccessSet] = Field(default=None, description="A shareable data access set. Shareable data access sets may be linked in multiple permissions.", alias="shareableDataAccessSet") + __properties: ClassVar[List[str]] = ["propertyAccessConfigs", "shareableDataAccessSet"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PropertySetConfigDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 property_access_configs (list) + _items = [] + if self.property_access_configs: + for _item in self.property_access_configs: + if _item: + _items.append(_item.to_dict()) + _dict['propertyAccessConfigs'] = _items + # override the default output from pydantic by calling `to_dict()` of shareable_data_access_set + if self.shareable_data_access_set: + _dict['shareableDataAccessSet'] = self.shareable_data_access_set.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PropertySetConfigDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "propertyAccessConfigs": [PropertyAccessConfigDTO.from_dict(_item) for _item in obj["propertyAccessConfigs"]] if obj.get("propertyAccessConfigs") is not None else None, + "shareableDataAccessSet": ShareableDataAccessSet.from_dict(obj["shareableDataAccessSet"]) if obj.get("shareableDataAccessSet") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/reduced_error_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/reduced_error_dto.py new file mode 100644 index 000000000..aff5d8e60 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/reduced_error_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ReducedErrorDTO(BaseModel): + """ + ReducedErrorDTO + """ # noqa: E501 + error_message: Optional[StrictStr] = Field(default=None, description="A meaningful message for the end user.", alias="errorMessage") + __properties: ClassVar[List[str]] = ["errorMessage"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ReducedErrorDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ReducedErrorDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "errorMessage": obj.get("errorMessage") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/reduced_tenant_code_error_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/reduced_tenant_code_error_dto.py new file mode 100644 index 000000000..3fffcdff4 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/reduced_tenant_code_error_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.reduced_error_dto import ReducedErrorDTO +from typing import Optional, Set +from typing_extensions import Self + +class ReducedTenantCodeErrorDTO(BaseModel): + """ + ReducedTenantCodeErrorDTO + """ # noqa: E501 + error: Optional[ReducedErrorDTO] = Field(default=None, description="The details about the error.") + for_all_children: Optional[StrictBool] = Field(default=None, description="If true, the assignment is for all the analytic tenants of the specified tenant.", alias="forAllChildren") + tenant_code: Optional[StrictStr] = Field(default=None, description="The bad tenant code.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["error", "forAllChildren", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ReducedTenantCodeErrorDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 error + if self.error: + _dict['error'] = self.error.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ReducedTenantCodeErrorDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": ReducedErrorDTO.from_dict(obj["error"]) if obj.get("error") is not None else None, + "forAllChildren": obj.get("forAllChildren"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/reduced_user_id_error_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/reduced_user_id_error_dto.py new file mode 100644 index 000000000..4012c714a --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/reduced_user_id_error_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.reduced_error_dto import ReducedErrorDTO +from typing import Optional, Set +from typing_extensions import Self + +class ReducedUserIdErrorDTO(BaseModel): + """ + ReducedUserIdErrorDTO + """ # noqa: E501 + error: Optional[ReducedErrorDTO] = Field(default=None, description="The details about the error.") + user_id: Optional[StrictStr] = Field(default=None, description="The bad user ID.", alias="userId") + __properties: ClassVar[List[str]] = ["error", "userId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ReducedUserIdErrorDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 error + if self.error: + _dict['error'] = self.error.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ReducedUserIdErrorDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": ReducedErrorDTO.from_dict(obj["error"]) if obj.get("error") is not None else None, + "userId": obj.get("userId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/related_analytic_object_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/related_analytic_object_dto.py new file mode 100644 index 000000000..f96ec35a1 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/related_analytic_object_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 RelatedAnalyticObjectDTO(BaseModel): + """ + RelatedAnalyticObjectDTO + """ # noqa: E501 + analytic_object_id: Optional[StrictStr] = Field(default=None, description="The analytic object ID.", alias="analyticObjectId") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable analytic object name to display in Visier, such as \"Recognition\".", alias="displayName") + __properties: ClassVar[List[str]] = ["analyticObjectId", "displayName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RelatedAnalyticObjectDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 RelatedAnalyticObjectDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObjectId": obj.get("analyticObjectId"), + "displayName": obj.get("displayName") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/role_modules_config_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/role_modules_config_dto.py new file mode 100644 index 000000000..6fe5a71c4 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/role_modules_config_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 RoleModulesConfigDTO(BaseModel): + """ + RoleModulesConfigDTO + """ # noqa: E501 + content_package_ids: Optional[List[StrictStr]] = Field(default=None, description="The unique IDs of the content packages assigned to the permission.", alias="contentPackageIds") + __properties: ClassVar[List[str]] = ["contentPackageIds"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RoleModulesConfigDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 RoleModulesConfigDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "contentPackageIds": obj.get("contentPackageIds") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/securable_dimension_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/securable_dimension_dto.py new file mode 100644 index 000000000..3f35455c9 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/securable_dimension_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.hierarchy_property_dto import HierarchyPropertyDTO +from typing import Optional, Set +from typing_extensions import Self + +class SecurableDimensionDTO(BaseModel): + """ + SecurableDimensionDTO + """ # noqa: E501 + analytic_object_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of analytic object IDs.", alias="analyticObjectIds") + dimension_id: Optional[StrictStr] = Field(default=None, description="The dimension ID.", alias="dimensionId") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable dimension name to display in Visier, such as \"Contract Type\".", alias="displayName") + hierarchy_properties: Optional[List[HierarchyPropertyDTO]] = Field(default=None, description="The list of hierarchies you can map to a user in a permission's dynamic filter.", alias="hierarchyProperties") + __properties: ClassVar[List[str]] = ["analyticObjectIds", "dimensionId", "displayName", "hierarchyProperties"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SecurableDimensionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 hierarchy_properties (list) + _items = [] + if self.hierarchy_properties: + for _item in self.hierarchy_properties: + if _item: + _items.append(_item.to_dict()) + _dict['hierarchyProperties'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SecurableDimensionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObjectIds": obj.get("analyticObjectIds"), + "dimensionId": obj.get("dimensionId"), + "displayName": obj.get("displayName"), + "hierarchyProperties": [HierarchyPropertyDTO.from_dict(_item) for _item in obj["hierarchyProperties"]] if obj.get("hierarchyProperties") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/securable_property_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/securable_property_dto.py new file mode 100644 index 000000000..56e0ff6ae --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/securable_property_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SecurablePropertyDTO(BaseModel): + """ + SecurablePropertyDTO + """ # noqa: E501 + analytic_object_id: Optional[StrictStr] = Field(default=None, description="The property's analytic object ID.", alias="analyticObjectId") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable property name to display in Visier, such as \"Job Pay Level\".", alias="displayName") + is_primary_key: Optional[StrictBool] = Field(default=None, description="If true, this property is the analytic object's primary key.", alias="isPrimaryKey") + property_id: Optional[StrictStr] = Field(default=None, description="The property ID.", alias="propertyId") + reference_symbol_name: Optional[StrictStr] = Field(default=None, description="The reference symbol name.", alias="referenceSymbolName") + __properties: ClassVar[List[str]] = ["analyticObjectId", "displayName", "isPrimaryKey", "propertyId", "referenceSymbolName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SecurablePropertyDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SecurablePropertyDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObjectId": obj.get("analyticObjectId"), + "displayName": obj.get("displayName"), + "isPrimaryKey": obj.get("isPrimaryKey"), + "propertyId": obj.get("propertyId"), + "referenceSymbolName": obj.get("referenceSymbolName") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/security_assignment_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/security_assignment_response_dto.py new file mode 100644 index 000000000..b1e6a8f11 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/security_assignment_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.tenant_assignments_dto import TenantAssignmentsDTO +from typing import Optional, Set +from typing_extensions import Self + +class SecurityAssignmentResponseDTO(BaseModel): + """ + SecurityAssignmentResponseDTO + """ # noqa: E501 + tenants: Optional[List[TenantAssignmentsDTO]] = Field(default=None, description="A list of objects representing the tenants and users that were assigned to or removed from user groups.") + __properties: ClassVar[List[str]] = ["tenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SecurityAssignmentResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tenants (list) + _items = [] + if self.tenants: + for _item in self.tenants: + if _item: + _items.append(_item.to_dict()) + _dict['tenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SecurityAssignmentResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tenants": [TenantAssignmentsDTO.from_dict(_item) for _item in obj["tenants"]] if obj.get("tenants") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/shareable_data_access_set.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/shareable_data_access_set.py new file mode 100644 index 000000000..8971d6afd --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/shareable_data_access_set.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ShareableDataAccessSet(BaseModel): + """ + ShareableDataAccessSet + """ # noqa: E501 + data_access_set_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the shareable data access set.", alias="dataAccessSetId") + __properties: ClassVar[List[str]] = ["dataAccessSetId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ShareableDataAccessSet from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ShareableDataAccessSet from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataAccessSetId": obj.get("dataAccessSetId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/simple_user_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/simple_user_dto.py new file mode 100644 index 000000000..f8cc4735b --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/simple_user_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SimpleUserDTO(BaseModel): + """ + SimpleUserDTO + """ # noqa: E501 + user_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the user.", alias="userId") + username: Optional[StrictStr] = Field(default=None, description="The user's username. This is typically the user's email, such as john@visier.com.") + __properties: ClassVar[List[str]] = ["userId", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SimpleUserDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SimpleUserDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "userId": obj.get("userId"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/static_dimension_filter_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/static_dimension_filter_dto.py new file mode 100644 index 000000000..0b9ce22c6 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/static_dimension_filter_dto.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.member_selection_dto import MemberSelectionDTO +from typing import Optional, Set +from typing_extensions import Self + +class StaticDimensionFilterDTO(BaseModel): + """ + StaticDimensionFilterDTO + """ # noqa: E501 + dimension_id: Optional[StrictStr] = Field(default=None, description="The dimension ID associated with the filter.", alias="dimensionId") + dimension_status: Optional[StrictStr] = Field(default=None, description="The dimension's validity status. Valid values: Valid, NoData, NotFound. * **Valid**: The object exists and has loaded data. * **NoData**: The object exists but doesn't have loaded data. * **NotFound**: The object doesn't exist.", alias="dimensionStatus") + member_selections: Optional[List[MemberSelectionDTO]] = Field(default=None, description="A list of objects representing the dimension members assigned population access in the member filter.", alias="memberSelections") + subject_reference_path: Optional[List[StrictStr]] = Field(default=None, description="The subject reference path.", alias="subjectReferencePath") + __properties: ClassVar[List[str]] = ["dimensionId", "dimensionStatus", "memberSelections", "subjectReferencePath"] + + @field_validator('dimension_status') + def dimension_status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Unset', 'Valid', 'NoData', 'NotFound']): + raise ValueError("must be one of enum values ('Unset', 'Valid', 'NoData', 'NotFound')") + 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 StaticDimensionFilterDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 member_selections (list) + _items = [] + if self.member_selections: + for _item in self.member_selections: + if _item: + _items.append(_item.to_dict()) + _dict['memberSelections'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of StaticDimensionFilterDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimensionId": obj.get("dimensionId"), + "dimensionStatus": obj.get("dimensionStatus"), + "memberSelections": [MemberSelectionDTO.from_dict(_item) for _item in obj["memberSelections"]] if obj.get("memberSelections") is not None else None, + "subjectReferencePath": obj.get("subjectReferencePath") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/status.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/status.py new file mode 100644 index 000000000..15fda82c6 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/status.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 Status(BaseModel): + """ + The response structure for errors. + """ # noqa: E501 + error_code: Optional[StrictStr] = Field(default=None, description="Error classification.", alias="errorCode") + message: Optional[StrictStr] = Field(default=None, description="Error message describing the root cause of the error.") + rci: Optional[StrictStr] = Field(default=None, description="Optional root cause identifier.") + __properties: ClassVar[List[str]] = ["errorCode", "message", "rci"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Status from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 Status from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "errorCode": obj.get("errorCode"), + "message": obj.get("message"), + "rci": obj.get("rci") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/successful_accessible_tenant_profile_assignment_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/successful_accessible_tenant_profile_assignment_dto.py new file mode 100644 index 000000000..afe6bd4c2 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/successful_accessible_tenant_profile_assignment_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SuccessfulAccessibleTenantProfileAssignmentDTO(BaseModel): + """ + SuccessfulAccessibleTenantProfileAssignmentDTO + """ # noqa: E501 + for_all_children: Optional[StrictBool] = Field(default=None, description="If true, the target assignment is for all analytic tenants.", alias="forAllChildren") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code.", alias="tenantCode") + user_id: Optional[StrictStr] = Field(default=None, description="The user ID.", alias="userId") + __properties: ClassVar[List[str]] = ["forAllChildren", "tenantCode", "userId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SuccessfulAccessibleTenantProfileAssignmentDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SuccessfulAccessibleTenantProfileAssignmentDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "forAllChildren": obj.get("forAllChildren"), + "tenantCode": obj.get("tenantCode"), + "userId": obj.get("userId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/successful_local_tenant_profile_assignment_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/successful_local_tenant_profile_assignment_dto.py new file mode 100644 index 000000000..e004d4dc2 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/successful_local_tenant_profile_assignment_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SuccessfulLocalTenantProfileAssignmentDTO(BaseModel): + """ + SuccessfulLocalTenantProfileAssignmentDTO + """ # noqa: E501 + user_id: Optional[StrictStr] = Field(default=None, description="The user ID.", alias="userId") + __properties: ClassVar[List[str]] = ["userId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SuccessfulLocalTenantProfileAssignmentDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SuccessfulLocalTenantProfileAssignmentDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "userId": obj.get("userId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/system_status_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/system_status_dto.py new file mode 100644 index 000000000..9d6bc2c74 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/system_status_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SystemStatusDTO(BaseModel): + """ + SystemStatusDTO + """ # noqa: E501 + overall: Optional[StrictStr] = Field(default=None, description="The overall status of Visier's platform and services.") + __properties: ClassVar[List[str]] = ["overall"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SystemStatusDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SystemStatusDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "overall": obj.get("overall") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/target_project_for_tenant_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/target_project_for_tenant_dto.py new file mode 100644 index 000000000..495d1c6a6 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/target_project_for_tenant_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 TargetProjectForTenantDTO(BaseModel): + """ + TargetProjectForTenantDTO + """ # noqa: E501 + project_id: Optional[StrictStr] = Field(default=None, description="The project in which to make changes for the tenant.", alias="projectId") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["projectId", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TargetProjectForTenantDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 TargetProjectForTenantDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "projectId": obj.get("projectId"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/target_project_for_tenants_list_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/target_project_for_tenants_list_dto.py new file mode 100644 index 000000000..892efbdfa --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/target_project_for_tenants_list_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.target_project_for_tenant_dto import TargetProjectForTenantDTO +from typing import Optional, Set +from typing_extensions import Self + +class TargetProjectForTenantsListDTO(BaseModel): + """ + TargetProjectForTenantsListDTO + """ # noqa: E501 + target_project_for_tenants: Optional[List[TargetProjectForTenantDTO]] = Field(default=None, description="Administrating tenants can specify the tenants and projects in which to make assignments to users. Specify one `projectId` per `tenantCode`. If omitted, the request is immediately published to production or applied to the `ProjectID` in the request header, if available, for the administrating tenant or TargetTenantID, if available.", alias="targetProjectForTenants") + __properties: ClassVar[List[str]] = ["targetProjectForTenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TargetProjectForTenantsListDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 target_project_for_tenants (list) + _items = [] + if self.target_project_for_tenants: + for _item in self.target_project_for_tenants: + if _item: + _items.append(_item.to_dict()) + _dict['targetProjectForTenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TargetProjectForTenantsListDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "targetProjectForTenants": [TargetProjectForTenantDTO.from_dict(_item) for _item in obj["targetProjectForTenants"]] if obj.get("targetProjectForTenants") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/target_tenant_code_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/target_tenant_code_dto.py new file mode 100644 index 000000000..f70d98837 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/target_tenant_code_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 TargetTenantCodeDTO(BaseModel): + """ + TargetTenantCodeDTO + """ # noqa: E501 + for_all_children: Optional[StrictBool] = Field(default=None, description="If true, the assignment is for all the analytic tenants of the specified tenant.", alias="forAllChildren") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["forAllChildren", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TargetTenantCodeDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 TargetTenantCodeDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "forAllChildren": obj.get("forAllChildren"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_assignments_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_assignments_dto.py new file mode 100644 index 000000000..176cd590d --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_assignments_dto.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_security_assignments_dto import UserSecurityAssignmentsDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantAssignmentsDTO(BaseModel): + """ + TenantAssignmentsDTO + """ # noqa: E501 + assignments: Optional[List[UserSecurityAssignmentsDTO]] = Field(default=None, description="A list of objects representing the user group and user assignments.") + message: Optional[StrictStr] = Field(default=None, description="A detailed description of the request outcome, if available.") + project_id: Optional[StrictStr] = Field(default=None, description="The ID of the project that the change was made in, if applicable.", alias="projectId") + status: Optional[StrictStr] = Field(default=None, description="The state of the user group assignment. Valid values are Succeed or Failed.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the tenant.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["assignments", "message", "projectId", "status", "tenantCode"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Unknown', 'Succeed', 'Failed']): + raise ValueError("must be one of enum values ('Unknown', 'Succeed', 'Failed')") + 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 TenantAssignmentsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 assignments (list) + _items = [] + if self.assignments: + for _item in self.assignments: + if _item: + _items.append(_item.to_dict()) + _dict['assignments'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantAssignmentsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "assignments": [UserSecurityAssignmentsDTO.from_dict(_item) for _item in obj["assignments"]] if obj.get("assignments") is not None else None, + "message": obj.get("message"), + "projectId": obj.get("projectId"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_code_body.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_code_body.py new file mode 100644 index 000000000..39aedda89 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_code_body.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 TenantCodeBody(BaseModel): + """ + TenantCodeBody + """ # noqa: E501 + tenant_codes: Optional[List[StrictStr]] = Field(default=None, description="A list of a CA tenant's source tenants codes. The maximum length is 1000.", alias="tenantCodes") + __properties: ClassVar[List[str]] = ["tenantCodes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantCodeBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 TenantCodeBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tenantCodes": obj.get("tenantCodes") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_code_error_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_code_error_dto.py new file mode 100644 index 000000000..acba38463 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_code_error_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.error_dto import ErrorDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantCodeErrorDTO(BaseModel): + """ + TenantCodeErrorDTO + """ # noqa: E501 + error: Optional[ErrorDTO] = Field(default=None, description="The details about the error.") + for_all_children: Optional[StrictBool] = Field(default=None, description="If true, the target assignment is for all analytic tenants.", alias="forAllChildren") + tenant_code: Optional[StrictStr] = Field(default=None, description="The bad tenant code.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["error", "forAllChildren", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantCodeErrorDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 error + if self.error: + _dict['error'] = self.error.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantCodeErrorDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": ErrorDTO.from_dict(obj["error"]) if obj.get("error") is not None else None, + "forAllChildren": obj.get("forAllChildren"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_detail_apidto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_detail_apidto.py new file mode 100644 index 000000000..d8021e07b --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_detail_apidto.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.custom_tenant_property_dto import CustomTenantPropertyDTO +from visier.sdk.api.administration.models.tenant_module_dto import TenantModuleDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantDetailAPIDTO(BaseModel): + """ + TenantDetailAPIDTO + """ # noqa: E501 + can_administer_other_tenants: Optional[StrictBool] = Field(default=None, description="If true, the tenant is an administrating tenant.", alias="canAdministerOtherTenants") + current_data_version: Optional[StrictStr] = Field(default=None, description="The data version ID that the tenant is using.", alias="currentDataVersion") + custom_properties: Optional[List[CustomTenantPropertyDTO]] = Field(default=None, description="A set of key-value pairs that represent different customizable properties for the analytic tenant.", alias="customProperties") + data_version_date: Optional[StrictStr] = Field(default=None, description="The date that the data version was published to production.", alias="dataVersionDate") + embeddable_domains: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded.", alias="embeddableDomains") + industry_code: Optional[StrictInt] = Field(default=None, description="The 6-digit NAICS code for the industry to which the analytic tenant belongs.", alias="industryCode") + modules: Optional[List[TenantModuleDTO]] = Field(default=None, description="The modules assigned to the analytic tenant.") + provision_date: Optional[StrictStr] = Field(default=None, description="The date that the tenant was created.", alias="provisionDate") + sso_instance_issuers: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant.", alias="ssoInstanceIssuers") + status: Optional[StrictStr] = Field(default=None, description="Whether the tenant is enabled or disabled.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code of the analytic tenant. For example, \"WFF_j1r~i1o\".", alias="tenantCode") + tenant_display_name: Optional[StrictStr] = Field(default=None, description="An identifiable tenant name that is displayed within Visier. For example, \"Callisto\".", alias="tenantDisplayName") + vanity_url_name: Optional[StrictStr] = Field(default=None, description="The name of the administrating tenant used in Visier URLs.", alias="vanityUrlName") + __properties: ClassVar[List[str]] = ["canAdministerOtherTenants", "currentDataVersion", "customProperties", "dataVersionDate", "embeddableDomains", "industryCode", "modules", "provisionDate", "ssoInstanceIssuers", "status", "tenantCode", "tenantDisplayName", "vanityUrlName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantDetailAPIDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 custom_properties (list) + _items = [] + if self.custom_properties: + for _item in self.custom_properties: + if _item: + _items.append(_item.to_dict()) + _dict['customProperties'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in modules (list) + _items = [] + if self.modules: + for _item in self.modules: + if _item: + _items.append(_item.to_dict()) + _dict['modules'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantDetailAPIDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "canAdministerOtherTenants": obj.get("canAdministerOtherTenants"), + "currentDataVersion": obj.get("currentDataVersion"), + "customProperties": [CustomTenantPropertyDTO.from_dict(_item) for _item in obj["customProperties"]] if obj.get("customProperties") is not None else None, + "dataVersionDate": obj.get("dataVersionDate"), + "embeddableDomains": obj.get("embeddableDomains"), + "industryCode": obj.get("industryCode"), + "modules": [TenantModuleDTO.from_dict(_item) for _item in obj["modules"]] if obj.get("modules") is not None else None, + "provisionDate": obj.get("provisionDate"), + "ssoInstanceIssuers": obj.get("ssoInstanceIssuers"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode"), + "tenantDisplayName": obj.get("tenantDisplayName"), + "vanityUrlName": obj.get("vanityUrlName") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_get_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_get_response_dto.py new file mode 100644 index 000000000..eb20f1594 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_get_response_dto.py @@ -0,0 +1,143 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.business_location_dto import BusinessLocationDTO +from visier.sdk.api.administration.models.custom_property_dto import CustomPropertyDTO +from visier.sdk.api.administration.models.home_analysis_by_user_group_dto import HomeAnalysisByUserGroupDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantManagementAPIGetResponseDTO(BaseModel): + """ + TenantManagementAPIGetResponseDTO + """ # noqa: E501 + can_administer_other_tenants: Optional[StrictBool] = Field(default=None, description="If true, the tenant is an administrating tenant.", alias="canAdministerOtherTenants") + click_through_link: Optional[StrictStr] = Field(default=None, description="The custom URL to redirect users into your portal to see the relevant content. This URL is used for links that are shared by and with your users through the sharing capability or email content.", alias="clickThroughLink") + click_through_link_enabled: Optional[StrictStr] = Field(default=None, description="Whether the click-through link is enabled or disabled.", alias="clickThroughLinkEnabled") + current_data_version: Optional[StrictStr] = Field(default=None, description="The data version ID that the tenant is using.", alias="currentDataVersion") + custom_properties: Optional[List[CustomPropertyDTO]] = Field(default=None, description="A set of key-value pairs that represent different customizable properties for the analytic tenant.", alias="customProperties") + data_version_date: Optional[StrictStr] = Field(default=None, description="The date that the data version was published to production.", alias="dataVersionDate") + default_currency: Optional[StrictStr] = Field(default=None, description="The default currency to show in the application for the tenant.", alias="defaultCurrency") + embeddable_domains: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded.", alias="embeddableDomains") + home_analysis_by_user_group: Optional[List[HomeAnalysisByUserGroupDTO]] = Field(default=None, description="A list of objects representing the analysis displayed to specific user groups when users log in.", alias="homeAnalysisByUserGroup") + home_analysis_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the analysis that's displayed for this tenant when a user logs in.", alias="homeAnalysisId") + industry_code: Optional[StrictInt] = Field(default=None, description="The 6-digit NAICS code for the industry to which the analytic tenant belongs.", alias="industryCode") + primary_business_location: Optional[BusinessLocationDTO] = Field(default=None, description="The primary location of operations or where business is performed. If undefined, it is omitted from the response.", alias="primaryBusinessLocation") + provision_date: Optional[StrictStr] = Field(default=None, description="The date that the tenant was created.", alias="provisionDate") + purchased_modules: Optional[List[StrictStr]] = Field(default=None, description="The modules assigned to the analytic tenant.", alias="purchasedModules") + sso_instance_issuers: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant.", alias="ssoInstanceIssuers") + status: Optional[StrictStr] = Field(default=None, description="Whether the tenant is enabled or disabled.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code of the analytic tenant. For example, \"WFF_j1r~i1o\"", alias="tenantCode") + tenant_display_name: Optional[StrictStr] = Field(default=None, description="An identifiable tenant name that is displayed within Visier. For example, \"Callisto\".", alias="tenantDisplayName") + vanity_url_name: Optional[StrictStr] = Field(default=None, description="The name of the administrating tenant used in Visier URLs.", alias="vanityUrlName") + __properties: ClassVar[List[str]] = ["canAdministerOtherTenants", "clickThroughLink", "clickThroughLinkEnabled", "currentDataVersion", "customProperties", "dataVersionDate", "defaultCurrency", "embeddableDomains", "homeAnalysisByUserGroup", "homeAnalysisId", "industryCode", "primaryBusinessLocation", "provisionDate", "purchasedModules", "ssoInstanceIssuers", "status", "tenantCode", "tenantDisplayName", "vanityUrlName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantManagementAPIGetResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 custom_properties (list) + _items = [] + if self.custom_properties: + for _item in self.custom_properties: + if _item: + _items.append(_item.to_dict()) + _dict['customProperties'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in home_analysis_by_user_group (list) + _items = [] + if self.home_analysis_by_user_group: + for _item in self.home_analysis_by_user_group: + if _item: + _items.append(_item.to_dict()) + _dict['homeAnalysisByUserGroup'] = _items + # override the default output from pydantic by calling `to_dict()` of primary_business_location + if self.primary_business_location: + _dict['primaryBusinessLocation'] = self.primary_business_location.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantManagementAPIGetResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "canAdministerOtherTenants": obj.get("canAdministerOtherTenants"), + "clickThroughLink": obj.get("clickThroughLink"), + "clickThroughLinkEnabled": obj.get("clickThroughLinkEnabled"), + "currentDataVersion": obj.get("currentDataVersion"), + "customProperties": [CustomPropertyDTO.from_dict(_item) for _item in obj["customProperties"]] if obj.get("customProperties") is not None else None, + "dataVersionDate": obj.get("dataVersionDate"), + "defaultCurrency": obj.get("defaultCurrency"), + "embeddableDomains": obj.get("embeddableDomains"), + "homeAnalysisByUserGroup": [HomeAnalysisByUserGroupDTO.from_dict(_item) for _item in obj["homeAnalysisByUserGroup"]] if obj.get("homeAnalysisByUserGroup") is not None else None, + "homeAnalysisId": obj.get("homeAnalysisId"), + "industryCode": obj.get("industryCode"), + "primaryBusinessLocation": BusinessLocationDTO.from_dict(obj["primaryBusinessLocation"]) if obj.get("primaryBusinessLocation") is not None else None, + "provisionDate": obj.get("provisionDate"), + "purchasedModules": obj.get("purchasedModules"), + "ssoInstanceIssuers": obj.get("ssoInstanceIssuers"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode"), + "tenantDisplayName": obj.get("tenantDisplayName"), + "vanityUrlName": obj.get("vanityUrlName") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_list_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_list_response_dto.py new file mode 100644 index 000000000..41b7d34bd --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_list_response_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.tenant_management_api_get_response_dto import TenantManagementAPIGetResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantManagementAPIListResponseDTO(BaseModel): + """ + TenantManagementAPIListResponseDTO + """ # noqa: E501 + limit: Optional[StrictInt] = Field(default=None, description="The limit of analytic tenants to return. The maximum value is 1000. The default is 150.") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving values from, also known as offset. The index begins at 0.") + tenants: Optional[List[TenantManagementAPIGetResponseDTO]] = Field(default=None, description="A list of objects representing all the analytic tenants.") + __properties: ClassVar[List[str]] = ["limit", "start", "tenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantManagementAPIListResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tenants (list) + _items = [] + if self.tenants: + for _item in self.tenants: + if _item: + _items.append(_item.to_dict()) + _dict['tenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantManagementAPIListResponseDTO 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"), + "start": obj.get("start"), + "tenants": [TenantManagementAPIGetResponseDTO.from_dict(_item) for _item in obj["tenants"]] if obj.get("tenants") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_update_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_update_request_dto.py new file mode 100644 index 000000000..c7eb05378 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_update_request_dto.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.business_location_dto import BusinessLocationDTO +from visier.sdk.api.administration.models.custom_property_dto import CustomPropertyDTO +from visier.sdk.api.administration.models.home_analysis_by_user_group_dto import HomeAnalysisByUserGroupDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantManagementAPIUpdateRequestDTO(BaseModel): + """ + TenantManagementAPIUpdateRequestDTO + """ # noqa: E501 + click_through_link: Optional[StrictStr] = Field(default=None, description="A custom URL to redirect users into your portal to see the relevant content. This URL is used for links that are shared by and with your users through the sharing capability or email content. This is optional. Causes the API request to take longer because it must publish a project to production.", alias="clickThroughLink") + custom_properties: Optional[List[CustomPropertyDTO]] = Field(default=None, description="A list of objects that represent different customizable properties for the analytic tenant. This is optional.", alias="customProperties") + default_currency: Optional[StrictStr] = Field(default=None, description="The default currency to show in the application for the tenant.", alias="defaultCurrency") + embeddable_domains: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. If domains at the administrating tenant level match the domains at the analytic tenant level, you do not need to include a domain for each analytic tenant. This is optional.", alias="embeddableDomains") + enabled: Optional[StrictBool] = Field(default=None, description="If true, the tenant is enabled. Enabled tenants have access to Visier visualizations.") + home_analysis_by_user_group: Optional[List[HomeAnalysisByUserGroupDTO]] = Field(default=None, description="A list of objects representing the analysis to display to specific user groups when users log in. This is optional. Causes the API request to take longer because it must publish a project to production.", alias="homeAnalysisByUserGroup") + home_analysis_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the analysis to display for this tenant when a user logs in. This is optional. Causes the API request to take longer because it must publish a project to production. Retrieve the ID by opening an analysis in the production version of a tenant and copying the string after the last forward slash (/) in the URL. For example: https://jupiter.visier.com/hr/prod/appcontainer?previewId=-eZPm8xvo3SUMpD4Q5pdE-6mCj9CQ9K699XgqRGwtOxagH5x2IzDFawlWn3hYqFEfU7nP0YK9ASEzmrNfAihGg..&previewType=Production#/analytics/myanalyses/8a4c1d4f-eb61-4da0-9e5b-55bef757c30e The `homeAnalysisID` is 8a4c1d4f-eb61-4da0-9e5b-55bef757c30e. Alternatively, retrieve the ID by copying the `contentId` found by following the `Embed a visualization` documentation.", alias="homeAnalysisId") + industry_code: Optional[StrictInt] = Field(default=None, description="The 6-digit NAICS code for the industry to which the analytic tenant belongs. If the code is unknown, type 000000. For 2-digit codes, add trailing zeros at the end to reach 6 digits, such as 620000. Required if creating new tenants.", alias="industryCode") + primary_business_location: Optional[BusinessLocationDTO] = Field(default=None, description="The primary location of operations or where business is performed. This field is optional.", alias="primaryBusinessLocation") + purchased_modules: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated collection of strings that represent the Visier modules assigned to the new analytic tenant. Required if creating new tenants.", alias="purchasedModules") + sso_instance_issuers: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant. This is optional.", alias="ssoInstanceIssuers") + tenant_code: Optional[StrictStr] = Field(default=None, description="A unique identifier for the newly created analytic tenant. Required if creating new tenants.", alias="tenantCode") + tenant_display_name: Optional[StrictStr] = Field(default=None, description="A new display name to assign to the analytic tenant. Required if creating new tenants.", alias="tenantDisplayName") + tenant_short_name: Optional[StrictStr] = Field(default=None, description="A new short name to assign to the tenant. Required for analytic tenants.", alias="tenantShortName") + update_action: Optional[StrictStr] = Field(default=None, description="Specifies the way you want to update values. Default is MERGE. Valid values: - `MERGE`: Combine the existing values with the new values. - `REPLACE`: Remove existing values and let the new values take their place.", alias="updateAction") + vanity_url_name: Optional[StrictStr] = Field(default=None, description="A new vanity name to assign to the tenant. Required for analytic tenants.", alias="vanityUrlName") + __properties: ClassVar[List[str]] = ["clickThroughLink", "customProperties", "defaultCurrency", "embeddableDomains", "enabled", "homeAnalysisByUserGroup", "homeAnalysisId", "industryCode", "primaryBusinessLocation", "purchasedModules", "ssoInstanceIssuers", "tenantCode", "tenantDisplayName", "tenantShortName", "updateAction", "vanityUrlName"] + + @field_validator('update_action') + def update_action_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['MERGE', 'REPLACE']): + raise ValueError("must be one of enum values ('MERGE', 'REPLACE')") + 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 TenantManagementAPIUpdateRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 custom_properties (list) + _items = [] + if self.custom_properties: + for _item in self.custom_properties: + if _item: + _items.append(_item.to_dict()) + _dict['customProperties'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in home_analysis_by_user_group (list) + _items = [] + if self.home_analysis_by_user_group: + for _item in self.home_analysis_by_user_group: + if _item: + _items.append(_item.to_dict()) + _dict['homeAnalysisByUserGroup'] = _items + # override the default output from pydantic by calling `to_dict()` of primary_business_location + if self.primary_business_location: + _dict['primaryBusinessLocation'] = self.primary_business_location.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantManagementAPIUpdateRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "clickThroughLink": obj.get("clickThroughLink"), + "customProperties": [CustomPropertyDTO.from_dict(_item) for _item in obj["customProperties"]] if obj.get("customProperties") is not None else None, + "defaultCurrency": obj.get("defaultCurrency"), + "embeddableDomains": obj.get("embeddableDomains"), + "enabled": obj.get("enabled"), + "homeAnalysisByUserGroup": [HomeAnalysisByUserGroupDTO.from_dict(_item) for _item in obj["homeAnalysisByUserGroup"]] if obj.get("homeAnalysisByUserGroup") is not None else None, + "homeAnalysisId": obj.get("homeAnalysisId"), + "industryCode": obj.get("industryCode"), + "primaryBusinessLocation": BusinessLocationDTO.from_dict(obj["primaryBusinessLocation"]) if obj.get("primaryBusinessLocation") is not None else None, + "purchasedModules": obj.get("purchasedModules"), + "ssoInstanceIssuers": obj.get("ssoInstanceIssuers"), + "tenantCode": obj.get("tenantCode"), + "tenantDisplayName": obj.get("tenantDisplayName"), + "tenantShortName": obj.get("tenantShortName"), + "updateAction": obj.get("updateAction"), + "vanityUrlName": obj.get("vanityUrlName") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_update_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_update_response_dto.py new file mode 100644 index 000000000..03ca7af9d --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_management_api_update_response_dto.py @@ -0,0 +1,133 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.business_location_dto import BusinessLocationDTO +from visier.sdk.api.administration.models.custom_property_dto import CustomPropertyDTO +from visier.sdk.api.administration.models.home_analysis_by_user_group_dto import HomeAnalysisByUserGroupDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantManagementAPIUpdateResponseDTO(BaseModel): + """ + TenantManagementAPIUpdateResponseDTO + """ # noqa: E501 + click_through_link: Optional[StrictStr] = Field(default=None, description="A custom URL to redirect users into your portal to see the relevant content. This URL is used for links that are shared by and with your users through the sharing capability or email content.", alias="clickThroughLink") + custom_properties: Optional[List[CustomPropertyDTO]] = Field(default=None, description="A list of objects that represent different customizable properties for the analytic tenant.", alias="customProperties") + default_currency: Optional[StrictStr] = Field(default=None, description="The default currency to show in the application for the tenant.", alias="defaultCurrency") + embeddable_domains: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. If domains at the administrating tenant level match the domains at the analytic tenant level, you do not need to include a domain for each analytic tenant.", alias="embeddableDomains") + home_analysis_by_user_group: Optional[List[HomeAnalysisByUserGroupDTO]] = Field(default=None, description="A list of objects representing the analysis to display to specific user groups when users log in.", alias="homeAnalysisByUserGroup") + home_analysis_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the analysis to display for this tenant when a user logs in. This is optional. Retrieve the ID by opening an analysis in the production version of a tenant and copying the string after the last forward slash (/) in the URL. For example: https://jupiter.visier.com/hr/prod/appcontainer?previewId=-eZPm8xvo3SUMpD4Q5pdE-6mCj9CQ9K699XgqRGwtOxagH5x2IzDFawlWn3hYqFEfU7nP0YK9ASEzmrNfAihGg..&previewType=Production#/analytics/myanalyses/8a4c1d4f-eb61-4da0-9e5b-55bef757c30e. The `homeAnalysisID` is 8a4c1d4f-eb61-4da0-9e5b-55bef757c30e. Alternatively, retrieve the ID by copying the `contentId` found by following the `Embed a visualization` documentation.", alias="homeAnalysisId") + industry_code: Optional[StrictInt] = Field(default=None, description="The 6-digit NAICS code for the industry to which the analytic tenant belongs.", alias="industryCode") + primary_business_location: Optional[BusinessLocationDTO] = Field(default=None, description="The primary location of operations or where business is performed. If undefined, it is omitted from the response.", alias="primaryBusinessLocation") + purchased_modules: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated collection of strings that represent the Visier modules assigned to the new analytic tenant.", alias="purchasedModules") + sso_instance_issuers: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant.", alias="ssoInstanceIssuers") + status: Optional[StrictStr] = Field(default=None, description="Whether the tenant is enabled or disabled. Enabled tenants have access to Visier visualizations.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The unique identifier of the newly created analytic tenant.", alias="tenantCode") + tenant_display_name: Optional[StrictStr] = Field(default=None, description="A comma-separated collection of strings that represent the Visier modules assigned to the new analytic tenant.", alias="tenantDisplayName") + vanity_url_name: Optional[StrictStr] = Field(default=None, description="The name of the administrating tenant used in Visier URLs.", alias="vanityUrlName") + __properties: ClassVar[List[str]] = ["clickThroughLink", "customProperties", "defaultCurrency", "embeddableDomains", "homeAnalysisByUserGroup", "homeAnalysisId", "industryCode", "primaryBusinessLocation", "purchasedModules", "ssoInstanceIssuers", "status", "tenantCode", "tenantDisplayName", "vanityUrlName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantManagementAPIUpdateResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 custom_properties (list) + _items = [] + if self.custom_properties: + for _item in self.custom_properties: + if _item: + _items.append(_item.to_dict()) + _dict['customProperties'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in home_analysis_by_user_group (list) + _items = [] + if self.home_analysis_by_user_group: + for _item in self.home_analysis_by_user_group: + if _item: + _items.append(_item.to_dict()) + _dict['homeAnalysisByUserGroup'] = _items + # override the default output from pydantic by calling `to_dict()` of primary_business_location + if self.primary_business_location: + _dict['primaryBusinessLocation'] = self.primary_business_location.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantManagementAPIUpdateResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "clickThroughLink": obj.get("clickThroughLink"), + "customProperties": [CustomPropertyDTO.from_dict(_item) for _item in obj["customProperties"]] if obj.get("customProperties") is not None else None, + "defaultCurrency": obj.get("defaultCurrency"), + "embeddableDomains": obj.get("embeddableDomains"), + "homeAnalysisByUserGroup": [HomeAnalysisByUserGroupDTO.from_dict(_item) for _item in obj["homeAnalysisByUserGroup"]] if obj.get("homeAnalysisByUserGroup") is not None else None, + "homeAnalysisId": obj.get("homeAnalysisId"), + "industryCode": obj.get("industryCode"), + "primaryBusinessLocation": BusinessLocationDTO.from_dict(obj["primaryBusinessLocation"]) if obj.get("primaryBusinessLocation") is not None else None, + "purchasedModules": obj.get("purchasedModules"), + "ssoInstanceIssuers": obj.get("ssoInstanceIssuers"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode"), + "tenantDisplayName": obj.get("tenantDisplayName"), + "vanityUrlName": obj.get("vanityUrlName") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_module_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_module_dto.py new file mode 100644 index 000000000..79c6c2ffc --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_module_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.module_settings_dto import ModuleSettingsDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantModuleDTO(BaseModel): + """ + TenantModuleDTO + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable name that is displayed within Visier. For example, \"TALENT\".", alias="displayName") + module_settings: Optional[ModuleSettingsDTO] = Field(default=None, description="The settings associated with the module.", alias="moduleSettings") + symbol_name: Optional[StrictStr] = Field(default=None, description="The symbol name of the module. For example, \"Talent_Management\".", alias="symbolName") + __properties: ClassVar[List[str]] = ["displayName", "moduleSettings", "symbolName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantModuleDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 module_settings + if self.module_settings: + _dict['moduleSettings'] = self.module_settings.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantModuleDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "moduleSettings": ModuleSettingsDTO.from_dict(obj["moduleSettings"]) if obj.get("moduleSettings") is not None else None, + "symbolName": obj.get("symbolName") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_preview_entries_summary_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_preview_entries_summary_dto.py new file mode 100644 index 000000000..7b834fe2e --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_preview_entries_summary_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.metric_validation_summary_dto import MetricValidationSummaryDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantPreviewEntriesSummaryDTO(BaseModel): + """ + TenantPreviewEntriesSummaryDTO + """ # noqa: E501 + data_version: Optional[StrictStr] = Field(default=None, description="The data version ID.", alias="dataVersion") + data_version_date: Optional[StrictStr] = Field(default=None, description="The date that the data version was created.", alias="dataVersionDate") + metrics: Optional[List[MetricValidationSummaryDTO]] = Field(default=None, description="A list of metrics and their values.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code of the analytic tenant. For example, \"WFF_j1r~i1o\".", alias="tenantCode") + __properties: ClassVar[List[str]] = ["dataVersion", "dataVersionDate", "metrics", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantPreviewEntriesSummaryDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 metrics (list) + _items = [] + if self.metrics: + for _item in self.metrics: + if _item: + _items.append(_item.to_dict()) + _dict['metrics'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantPreviewEntriesSummaryDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataVersion": obj.get("dataVersion"), + "dataVersionDate": obj.get("dataVersionDate"), + "metrics": [MetricValidationSummaryDTO.from_dict(_item) for _item in obj["metrics"]] if obj.get("metrics") is not None else None, + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_preview_entries_summary_list_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_preview_entries_summary_list_dto.py new file mode 100644 index 000000000..d703127d7 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_preview_entries_summary_list_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.tenant_preview_entries_summary_dto import TenantPreviewEntriesSummaryDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantPreviewEntriesSummaryListDTO(BaseModel): + """ + TenantPreviewEntriesSummaryListDTO + """ # noqa: E501 + limit: Optional[StrictInt] = Field(default=None, description="The number of analytic tenants to retrieve. The maximum number to retrieve is 1000.") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving results from, also known as offset. The index begins at 0.") + tenants: Optional[List[TenantPreviewEntriesSummaryDTO]] = Field(default=None, description="A list of objects representing all the analytic tenants.") + __properties: ClassVar[List[str]] = ["limit", "start", "tenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantPreviewEntriesSummaryListDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tenants (list) + _items = [] + if self.tenants: + for _item in self.tenants: + if _item: + _items.append(_item.to_dict()) + _dict['tenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantPreviewEntriesSummaryListDTO 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"), + "start": obj.get("start"), + "tenants": [TenantPreviewEntriesSummaryDTO.from_dict(_item) for _item in obj["tenants"]] if obj.get("tenants") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_provision_apidto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_provision_apidto.py new file mode 100644 index 000000000..042650928 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_provision_apidto.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.custom_tenant_property_dto import CustomTenantPropertyDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantProvisionAPIDTO(BaseModel): + """ + TenantProvisionAPIDTO + """ # noqa: E501 + custom_properties: Optional[List[CustomTenantPropertyDTO]] = Field(default=None, description="A set of key-value pairs that represent different customizable properties for the analytic tenant.", alias="customProperties") + embeddable_domains: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. If domains at the administrating tenant level match the domains at the analytic tenant level, you do not need to include a domain for each analytic tenant.", alias="embeddableDomains") + industry_code: Optional[StrictInt] = Field(default=None, description="The 6-digit NAICS code for the industry to which the analytic tenant belongs. If the code is unknown, type 000000. For 2-digit codes, add trailing zeros at the end to reach 6 digits, such as 620000.", alias="industryCode") + purchased_modules: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings that represent the Visier modules assigned to the analytic tenant.", alias="purchasedModules") + sso_instance_issuers: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant.", alias="ssoInstanceIssuers") + tenant_code: Optional[StrictStr] = Field(default=None, description="The unique identifier of the analytic tenant.", alias="tenantCode") + tenant_display_name: Optional[StrictStr] = Field(default=None, description="The display name that is assigned to the analytic tenant.", alias="tenantDisplayName") + __properties: ClassVar[List[str]] = ["customProperties", "embeddableDomains", "industryCode", "purchasedModules", "ssoInstanceIssuers", "tenantCode", "tenantDisplayName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantProvisionAPIDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 custom_properties (list) + _items = [] + if self.custom_properties: + for _item in self.custom_properties: + if _item: + _items.append(_item.to_dict()) + _dict['customProperties'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantProvisionAPIDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "customProperties": [CustomTenantPropertyDTO.from_dict(_item) for _item in obj["customProperties"]] if obj.get("customProperties") is not None else None, + "embeddableDomains": obj.get("embeddableDomains"), + "industryCode": obj.get("industryCode"), + "purchasedModules": obj.get("purchasedModules"), + "ssoInstanceIssuers": obj.get("ssoInstanceIssuers"), + "tenantCode": obj.get("tenantCode"), + "tenantDisplayName": obj.get("tenantDisplayName") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_status_apidto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_status_apidto.py new file mode 100644 index 000000000..ead4478d7 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/tenant_status_apidto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 TenantStatusAPIDTO(BaseModel): + """ + TenantStatusAPIDTO + """ # noqa: E501 + can_administer_other_tenants: Optional[StrictBool] = Field(default=None, description="If true, the tenant is an administrating tenant.", alias="canAdministerOtherTenants") + status: Optional[StrictStr] = Field(default=None, description="Whether the tenant is enabled or disabled.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The unique identifier for the analytic tenant.", alias="tenantCode") + tenant_display_name: Optional[StrictStr] = Field(default=None, description="The identifiable tenant name that is displayed within Visier. For example, \"Callisto\".", alias="tenantDisplayName") + __properties: ClassVar[List[str]] = ["canAdministerOtherTenants", "status", "tenantCode", "tenantDisplayName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantStatusAPIDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 TenantStatusAPIDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "canAdministerOtherTenants": obj.get("canAdministerOtherTenants"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode"), + "tenantDisplayName": obj.get("tenantDisplayName") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/update_tenant_model.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/update_tenant_model.py new file mode 100644 index 000000000..a55ae7bff --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/update_tenant_model.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UpdateTenantModel(BaseModel): + """ + UpdateTenantModel + """ # noqa: E501 + custom_properties: Optional[Dict[str, StrictStr]] = Field(default=None, description="A set of key-value pairs that represent different customizable properties for the analytic tenant.", alias="customProperties") + embeddable_domains: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings that represent the URLs, or domains, in which Visier can be embedded. If domains at the administrating tenant level match the domains at the analytic tenant level, you do not need to include a domain for each analytic tenant.", alias="embeddableDomains") + industry_code: Optional[StrictInt] = Field(default=None, description="The 6-digit NAICS code for the industry to which the analytic tenant belongs. If the code is unknown, type 000000. For 2-digit codes, add trailing zeros at the end to reach 6 digits, such as 620000.", alias="industryCode") + purchased_modules: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated collection of strings that represent the Visier modules assigned to the new analytic tenant.", alias="purchasedModules") + sso_instance_issuers: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings that represent the issuers for the SSO providers that can authenticate this tenant.", alias="ssoInstanceIssuers") + tenant_display_name: Optional[StrictStr] = Field(default=None, description="A display name that is assigned to the new analytic tenant.", alias="tenantDisplayName") + __properties: ClassVar[List[str]] = ["customProperties", "embeddableDomains", "industryCode", "purchasedModules", "ssoInstanceIssuers", "tenantDisplayName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateTenantModel from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UpdateTenantModel from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "customProperties": obj.get("customProperties"), + "embeddableDomains": obj.get("embeddableDomains"), + "industryCode": obj.get("industryCode"), + "purchasedModules": obj.get("purchasedModules"), + "ssoInstanceIssuers": obj.get("ssoInstanceIssuers"), + "tenantDisplayName": obj.get("tenantDisplayName") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_creation_api_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_creation_api_request_dto.py new file mode 100644 index 000000000..c1e8f1680 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_creation_api_request_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UserCreationAPIRequestDTO(BaseModel): + """ + UserCreationAPIRequestDTO + """ # noqa: E501 + account_enabled: Optional[StrictStr] = Field(default=None, description="If false, the user account is disabled.", alias="accountEnabled") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable name to display within Visier. For example, \"John Smith\".", alias="displayName") + email: Optional[StrictStr] = Field(default=None, description="The user's email. This is used if the user's email is different from their username. For example, \"john.doe@visier.com\".") + employee_id: Optional[StrictStr] = Field(default=None, description="If applicable, and if available, the user employee ID in the data.", alias="employeeId") + username: Optional[StrictStr] = Field(default=None, description="The user's username. This is typically the user's email, such as john@visier.com.") + __properties: ClassVar[List[str]] = ["accountEnabled", "displayName", "email", "employeeId", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserCreationAPIRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UserCreationAPIRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accountEnabled": obj.get("accountEnabled"), + "displayName": obj.get("displayName"), + "email": obj.get("email"), + "employeeId": obj.get("employeeId"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_creation_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_creation_api_response_dto.py new file mode 100644 index 000000000..90035924c --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_creation_api_response_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UserCreationAPIResponseDTO(BaseModel): + """ + UserCreationAPIResponseDTO + """ # noqa: E501 + account_enabled: Optional[StrictStr] = Field(default=None, description="If true, the user account is enabled.", alias="accountEnabled") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable name to display within Visier. For example, \"John Smith\".", alias="displayName") + email: Optional[StrictStr] = Field(default=None, description="The user's email address.") + employee_id: Optional[StrictStr] = Field(default=None, description="If applicable, and if available, the user employee ID in the data.", alias="employeeId") + user_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the user.", alias="userId") + username: Optional[StrictStr] = Field(default=None, description="The user's username. This is typically the user's email, such as john@jupiter.com.") + __properties: ClassVar[List[str]] = ["accountEnabled", "displayName", "email", "employeeId", "userId", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserCreationAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UserCreationAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accountEnabled": obj.get("accountEnabled"), + "displayName": obj.get("displayName"), + "email": obj.get("email"), + "employeeId": obj.get("employeeId"), + "userId": obj.get("userId"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_get_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_get_api_response_dto.py new file mode 100644 index 000000000..ec01e8613 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_get_api_response_dto.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.all_permissions_assigned_for_local_tenant_dto import AllPermissionsAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.all_profile_assigned_for_local_tenant_dto import AllProfileAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.all_user_groups_assigned_for_local_tenant_dto import AllUserGroupsAssignedForLocalTenantDTO +from visier.sdk.api.administration.models.last_login_dto import LastLoginDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGetAPIResponseDTO(BaseModel): + """ + UserGetAPIResponseDTO + """ # noqa: E501 + account_enabled: Optional[StrictBool] = Field(default=None, description="If false, the user account is disabled.", alias="accountEnabled") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable name to display within Visier. For example, \"John Smith\".", alias="displayName") + email: Optional[StrictStr] = Field(default=None, description="The user's email address.") + employee_id: Optional[StrictStr] = Field(default=None, description="If applicable, and if available, the user employee ID in the data.", alias="employeeId") + last_login: Optional[LastLoginDTO] = Field(default=None, description="An object that represents the time that the user last logged into Visier.", alias="lastLogin") + permissions: Optional[AllPermissionsAssignedForLocalTenantDTO] = Field(default=None, description="A list of objects representing the user's permissions.") + profiles: Optional[AllProfileAssignedForLocalTenantDTO] = Field(default=None, description="A list of objects representing the list of available profiles.") + user_groups: Optional[AllUserGroupsAssignedForLocalTenantDTO] = Field(default=None, description="A list of objects representing the available user groups.", alias="userGroups") + user_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the user.", alias="userId") + username: Optional[StrictStr] = Field(default=None, description="The user's username. This is typically the user's email, such as john@jupiter.com.") + __properties: ClassVar[List[str]] = ["accountEnabled", "displayName", "email", "employeeId", "lastLogin", "permissions", "profiles", "userGroups", "userId", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGetAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 last_login + if self.last_login: + _dict['lastLogin'] = self.last_login.to_dict() + # override the default output from pydantic by calling `to_dict()` of permissions + if self.permissions: + _dict['permissions'] = self.permissions.to_dict() + # override the default output from pydantic by calling `to_dict()` of profiles + if self.profiles: + _dict['profiles'] = self.profiles.to_dict() + # override the default output from pydantic by calling `to_dict()` of user_groups + if self.user_groups: + _dict['userGroups'] = self.user_groups.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGetAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accountEnabled": obj.get("accountEnabled"), + "displayName": obj.get("displayName"), + "email": obj.get("email"), + "employeeId": obj.get("employeeId"), + "lastLogin": LastLoginDTO.from_dict(obj["lastLogin"]) if obj.get("lastLogin") is not None else None, + "permissions": AllPermissionsAssignedForLocalTenantDTO.from_dict(obj["permissions"]) if obj.get("permissions") is not None else None, + "profiles": AllProfileAssignedForLocalTenantDTO.from_dict(obj["profiles"]) if obj.get("profiles") is not None else None, + "userGroups": AllUserGroupsAssignedForLocalTenantDTO.from_dict(obj["userGroups"]) if obj.get("userGroups") is not None else None, + "userId": obj.get("userId"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_assigned_for_local_tenant_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_assigned_for_local_tenant_dto.py new file mode 100644 index 000000000..82096e0c3 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_assigned_for_local_tenant_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UserGroupAssignedForLocalTenantDTO(BaseModel): + """ + UserGroupAssignedForLocalTenantDTO + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable user group name to display in Visier, such as \"Leadership User Group\".", alias="displayName") + user_group_id: Optional[StrictStr] = Field(default=None, description="The user group ID.", alias="userGroupId") + __properties: ClassVar[List[str]] = ["displayName", "userGroupId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupAssignedForLocalTenantDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UserGroupAssignedForLocalTenantDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "userGroupId": obj.get("userGroupId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_definition_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_definition_dto.py new file mode 100644 index 000000000..3994cfd39 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_definition_dto.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.element_ids_dto import ElementIDsDTO +from visier.sdk.api.administration.models.user_group_change_users_dto import UserGroupChangeUsersDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupChangeDefinitionDTO(BaseModel): + """ + UserGroupChangeDefinitionDTO + """ # noqa: E501 + description: Optional[StrictStr] = Field(default=None, description="A detailed description of the population and purpose of the user group.") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable user group name to display in Visier, such as \"Leadership User Group\".", alias="displayName") + permission_ids: Optional[ElementIDsDTO] = Field(default=None, description="The unique identifiers of permissions assigned to members of this user group.", alias="permissionIds") + project_id: Optional[StrictStr] = Field(default=None, description="The project ID in which to update or create the user group. If omitted and the ProjectID request header is not defined, the change is published to production immediately.", alias="projectId") + tenant_code: Optional[StrictStr] = Field(default=None, description="The code of the tenant to which the user group belongs or should be created in. Omit if creating or updating user groups in the current tenant.", alias="tenantCode") + user_group_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the user group. Omit if creating a new user group.", alias="userGroupId") + users: Optional[UserGroupChangeUsersDTO] = Field(default=None, description="The users assigned to the user group. You can define user group members dynamically with `dynamicFilterDefinition` or manually with `includeAllUsers` or `manuallyIncludedIds`.") + __properties: ClassVar[List[str]] = ["description", "displayName", "permissionIds", "projectId", "tenantCode", "userGroupId", "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 UserGroupChangeDefinitionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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_ids + if self.permission_ids: + _dict['permissionIds'] = self.permission_ids.to_dict() + # override the default output from pydantic by calling `to_dict()` of users + if self.users: + _dict['users'] = self.users.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupChangeDefinitionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "permissionIds": ElementIDsDTO.from_dict(obj["permissionIds"]) if obj.get("permissionIds") is not None else None, + "projectId": obj.get("projectId"), + "tenantCode": obj.get("tenantCode"), + "userGroupId": obj.get("userGroupId"), + "users": UserGroupChangeUsersDTO.from_dict(obj["users"]) if obj.get("users") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_dimension_filter_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_dimension_filter_dto.py new file mode 100644 index 000000000..a0a7fbec9 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_dimension_filter_dto.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.element_ids_dto import ElementIDsDTO +from visier.sdk.api.administration.models.user_group_change_member_selection_dto import UserGroupChangeMemberSelectionDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupChangeDimensionFilterDTO(BaseModel): + """ + UserGroupChangeDimensionFilterDTO + """ # noqa: E501 + dimension_id: Optional[StrictStr] = Field(default=None, description="The object name of the dimension.", alias="dimensionId") + member_selections: Optional[List[UserGroupChangeMemberSelectionDTO]] = Field(default=None, description="The dimension members to select in the dynamic filter.", alias="memberSelections") + subject_reference_path: Optional[ElementIDsDTO] = Field(default=None, description="A qualifying path if the dimension is from an analytic object that references Employee. For example, use `subjectReferencePath` to create a filter on the `Employment_Start_Type` dimension from the `Employment_Start` object, which references `Employee`: `{ \"ids\": [ \"Employee\", \"Employment_Start\" ] }`.", alias="subjectReferencePath") + __properties: ClassVar[List[str]] = ["dimensionId", "memberSelections", "subjectReferencePath"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupChangeDimensionFilterDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 member_selections (list) + _items = [] + if self.member_selections: + for _item in self.member_selections: + if _item: + _items.append(_item.to_dict()) + _dict['memberSelections'] = _items + # override the default output from pydantic by calling `to_dict()` of subject_reference_path + if self.subject_reference_path: + _dict['subjectReferencePath'] = self.subject_reference_path.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupChangeDimensionFilterDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimensionId": obj.get("dimensionId"), + "memberSelections": [UserGroupChangeMemberSelectionDTO.from_dict(_item) for _item in obj["memberSelections"]] if obj.get("memberSelections") is not None else None, + "subjectReferencePath": ElementIDsDTO.from_dict(obj["subjectReferencePath"]) if obj.get("subjectReferencePath") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_failure_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_failure_dto.py new file mode 100644 index 000000000..0b7fdf468 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_failure_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UserGroupChangeFailureDTO(BaseModel): + """ + UserGroupChangeFailureDTO + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="The display name of the user group that couldn't be created.", alias="displayName") + message: Optional[StrictStr] = Field(default=None, description="The error message containing the cause of the failure.") + project_id: Optional[StrictStr] = Field(default=None, description="The ID of the project in which the user group could not be created or updated.", alias="projectId") + rci: Optional[StrictStr] = Field(default=None, description="The root cause identifier to provide to Visier Technical Support if you require further troubleshooting.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The code of the tenant for which the user group could not be created or updated.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["displayName", "message", "projectId", "rci", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupChangeFailureDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UserGroupChangeFailureDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "message": obj.get("message"), + "projectId": obj.get("projectId"), + "rci": obj.get("rci"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_filter_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_filter_dto.py new file mode 100644 index 000000000..896ce3ada --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_filter_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_group_change_dimension_filter_dto import UserGroupChangeDimensionFilterDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupChangeFilterDTO(BaseModel): + """ + UserGroupChangeFilterDTO + """ # noqa: E501 + analytic_object_id: Optional[StrictStr] = Field(default=None, description="The analytic object the filter applies to. Currently, the only supported analytic object is `Employee`. Default is `Employee`.", alias="analyticObjectId") + dimension_filters: Optional[List[UserGroupChangeDimensionFilterDTO]] = Field(default=None, description="The dimensions in the dynamic filter.", alias="dimensionFilters") + filter_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the filter. Omit if creating a new filter.", alias="filterId") + __properties: ClassVar[List[str]] = ["analyticObjectId", "dimensionFilters", "filterId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupChangeFilterDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dimension_filters (list) + _items = [] + if self.dimension_filters: + for _item in self.dimension_filters: + if _item: + _items.append(_item.to_dict()) + _dict['dimensionFilters'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupChangeFilterDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObjectId": obj.get("analyticObjectId"), + "dimensionFilters": [UserGroupChangeDimensionFilterDTO.from_dict(_item) for _item in obj["dimensionFilters"]] if obj.get("dimensionFilters") is not None else None, + "filterId": obj.get("filterId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_member_selection_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_member_selection_dto.py new file mode 100644 index 000000000..143e629df --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_member_selection_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UserGroupChangeMemberSelectionDTO(BaseModel): + """ + UserGroupChangeMemberSelectionDTO + """ # noqa: E501 + is_excluded: Optional[StrictBool] = Field(default=None, description="If `true`, the specified member must not be defined for members of the user group.", alias="isExcluded") + name_path: Optional[List[StrictStr]] = Field(default=None, description="The name path for dimension members; for example, `[ \"North America\", \"US\", \"CA\" ]`.", alias="namePath") + __properties: ClassVar[List[str]] = ["isExcluded", "namePath"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupChangeMemberSelectionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UserGroupChangeMemberSelectionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "isExcluded": obj.get("isExcluded"), + "namePath": obj.get("namePath") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_response_dto.py new file mode 100644 index 000000000..32019ba2d --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_response_dto.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_group_change_failure_dto import UserGroupChangeFailureDTO +from visier.sdk.api.administration.models.user_group_change_success_dto import UserGroupChangeSuccessDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupChangeResponseDTO(BaseModel): + """ + UserGroupChangeResponseDTO + """ # noqa: E501 + failures: Optional[List[UserGroupChangeFailureDTO]] = Field(default=None, description="The user groups that were not created.") + successes: Optional[List[UserGroupChangeSuccessDTO]] = Field(default=None, description="The user groups that were created.") + __properties: ClassVar[List[str]] = ["failures", "successes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupChangeResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 failures (list) + _items = [] + if self.failures: + for _item in self.failures: + if _item: + _items.append(_item.to_dict()) + _dict['failures'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in successes (list) + _items = [] + if self.successes: + for _item in self.successes: + if _item: + _items.append(_item.to_dict()) + _dict['successes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupChangeResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "failures": [UserGroupChangeFailureDTO.from_dict(_item) for _item in obj["failures"]] if obj.get("failures") is not None else None, + "successes": [UserGroupChangeSuccessDTO.from_dict(_item) for _item in obj["successes"]] if obj.get("successes") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_success_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_success_dto.py new file mode 100644 index 000000000..ab156b042 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_success_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UserGroupChangeSuccessDTO(BaseModel): + """ + UserGroupChangeSuccessDTO + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="The display name of the created user group.", alias="displayName") + project_id: Optional[StrictStr] = Field(default=None, description="The ID of the project the user group was created or updated in.", alias="projectId") + tenant_code: Optional[StrictStr] = Field(default=None, description="The code of the tenant the user group was created or updated in.", alias="tenantCode") + user_group_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the user group.", alias="userGroupId") + __properties: ClassVar[List[str]] = ["displayName", "projectId", "tenantCode", "userGroupId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupChangeSuccessDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UserGroupChangeSuccessDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "projectId": obj.get("projectId"), + "tenantCode": obj.get("tenantCode"), + "userGroupId": obj.get("userGroupId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_users_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_users_dto.py new file mode 100644 index 000000000..9cb4340e9 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_change_users_dto.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.element_ids_dto import ElementIDsDTO +from visier.sdk.api.administration.models.user_group_filters_dto import UserGroupFiltersDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupChangeUsersDTO(BaseModel): + """ + UserGroupChangeUsersDTO + """ # noqa: E501 + dynamic_filter_definition: Optional[UserGroupFiltersDTO] = Field(default=None, description="The filters that dynamically define a population through dimensions or dimensions accessible through references from the analytic object. * Omit if `includeAllUsers` is `true`. * You can combine dynamic filters with manually-assigned users.", alias="dynamicFilterDefinition") + include_all_users: Optional[StrictBool] = Field(default=None, description="If `true`, all users are included in the user group. If `true`: * You can manually exclude users with `manuallyExcludedIds`. * Cannot be combined with `manuallyIncludedIds` or `dynamicFilterDefinition`.", alias="includeAllUsers") + manually_excluded_ids: Optional[ElementIDsDTO] = Field(default=None, description="Excludes specified user IDs from the user group. * You can manually exclude users if `includeAllUsers` is `true` or if `dynamicFilterDefinition` is defined. * Excluded IDs must not overlap with user IDs in `manuallyIncludedIds`.", alias="manuallyExcludedIds") + manually_included_ids: Optional[ElementIDsDTO] = Field(default=None, description="Includes specified user IDs in the user group. * May be combined with `dynamicFilterDefinition`. * Omit if `includeAllUsers` is `true`.", alias="manuallyIncludedIds") + __properties: ClassVar[List[str]] = ["dynamicFilterDefinition", "includeAllUsers", "manuallyExcludedIds", "manuallyIncludedIds"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupChangeUsersDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dynamic_filter_definition + if self.dynamic_filter_definition: + _dict['dynamicFilterDefinition'] = self.dynamic_filter_definition.to_dict() + # override the default output from pydantic by calling `to_dict()` of manually_excluded_ids + if self.manually_excluded_ids: + _dict['manuallyExcludedIds'] = self.manually_excluded_ids.to_dict() + # override the default output from pydantic by calling `to_dict()` of manually_included_ids + if self.manually_included_ids: + _dict['manuallyIncludedIds'] = self.manually_included_ids.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupChangeUsersDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dynamicFilterDefinition": UserGroupFiltersDTO.from_dict(obj["dynamicFilterDefinition"]) if obj.get("dynamicFilterDefinition") is not None else None, + "includeAllUsers": obj.get("includeAllUsers"), + "manuallyExcludedIds": ElementIDsDTO.from_dict(obj["manuallyExcludedIds"]) if obj.get("manuallyExcludedIds") is not None else None, + "manuallyIncludedIds": ElementIDsDTO.from_dict(obj["manuallyIncludedIds"]) if obj.get("manuallyIncludedIds") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_dto.py new file mode 100644 index 000000000..fcbb8db29 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UserGroupDeleteDTO(BaseModel): + """ + UserGroupDeleteDTO + """ # noqa: E501 + project_id: Optional[StrictStr] = Field(default=None, description="The project ID in which to delete the user group. If omitted and the `ProjectID` request header is not defined, the change is published to production immediately.", alias="projectId") + tenant_code: Optional[StrictStr] = Field(default=None, description="The code of the tenant from which to delete the user group. Omit if deleting user groups in the current tenant.", alias="tenantCode") + user_group_id: Optional[StrictStr] = Field(default=None, description="Unique identifier for the user group.", alias="userGroupId") + __properties: ClassVar[List[str]] = ["projectId", "tenantCode", "userGroupId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupDeleteDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UserGroupDeleteDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "projectId": obj.get("projectId"), + "tenantCode": obj.get("tenantCode"), + "userGroupId": obj.get("userGroupId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_failure_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_failure_dto.py new file mode 100644 index 000000000..918962ef7 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_failure_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UserGroupDeleteFailureDTO(BaseModel): + """ + UserGroupDeleteFailureDTO + """ # noqa: E501 + message: Optional[StrictStr] = Field(default=None, description="The error message containing the cause of the failure.") + project_id: Optional[StrictStr] = Field(default=None, description="The ID of the project in which the user group could not be deleted.", alias="projectId") + rci: Optional[StrictStr] = Field(default=None, description="The root cause identifier to provide to Visier Technical Support if you require further troubleshooting.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The code of the tenant from which the user group could not be deleted.", alias="tenantCode") + user_group_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the user group that could not be deleted.", alias="userGroupId") + __properties: ClassVar[List[str]] = ["message", "projectId", "rci", "tenantCode", "userGroupId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupDeleteFailureDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UserGroupDeleteFailureDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message"), + "projectId": obj.get("projectId"), + "rci": obj.get("rci"), + "tenantCode": obj.get("tenantCode"), + "userGroupId": obj.get("userGroupId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_response_dto.py new file mode 100644 index 000000000..b27f92efe --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_response_dto.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_group_delete_failure_dto import UserGroupDeleteFailureDTO +from visier.sdk.api.administration.models.user_group_delete_success_dto import UserGroupDeleteSuccessDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupDeleteResponseDTO(BaseModel): + """ + UserGroupDeleteResponseDTO + """ # noqa: E501 + failures: Optional[List[UserGroupDeleteFailureDTO]] = Field(default=None, description="The user groups that were not deleted successfully.") + successes: Optional[List[UserGroupDeleteSuccessDTO]] = Field(default=None, description="The user groups that were successfully deleted.") + __properties: ClassVar[List[str]] = ["failures", "successes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupDeleteResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 failures (list) + _items = [] + if self.failures: + for _item in self.failures: + if _item: + _items.append(_item.to_dict()) + _dict['failures'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in successes (list) + _items = [] + if self.successes: + for _item in self.successes: + if _item: + _items.append(_item.to_dict()) + _dict['successes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupDeleteResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "failures": [UserGroupDeleteFailureDTO.from_dict(_item) for _item in obj["failures"]] if obj.get("failures") is not None else None, + "successes": [UserGroupDeleteSuccessDTO.from_dict(_item) for _item in obj["successes"]] if obj.get("successes") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_success_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_success_dto.py new file mode 100644 index 000000000..df5295ea8 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_delete_success_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UserGroupDeleteSuccessDTO(BaseModel): + """ + UserGroupDeleteSuccessDTO + """ # noqa: E501 + project_id: Optional[StrictStr] = Field(default=None, description="The ID of the project in which user group was deleted.", alias="projectId") + tenant_code: Optional[StrictStr] = Field(default=None, description="The code of the tenant the user group was deleted from.", alias="tenantCode") + user_group_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the user group that was deleted.", alias="userGroupId") + __properties: ClassVar[List[str]] = ["projectId", "tenantCode", "userGroupId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupDeleteSuccessDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UserGroupDeleteSuccessDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "projectId": obj.get("projectId"), + "tenantCode": obj.get("tenantCode"), + "userGroupId": obj.get("userGroupId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_filters_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_filters_dto.py new file mode 100644 index 000000000..9470cd135 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_filters_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_group_change_filter_dto import UserGroupChangeFilterDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupFiltersDTO(BaseModel): + """ + UserGroupFiltersDTO + """ # noqa: E501 + filters: Optional[List[UserGroupChangeFilterDTO]] = Field(default=None, description="The filters that define user group membership.") + __properties: ClassVar[List[str]] = ["filters"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupFiltersDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 filters (list) + _items = [] + if self.filters: + for _item in self.filters: + if _item: + _items.append(_item.to_dict()) + _dict['filters'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupFiltersDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "filters": [UserGroupChangeFilterDTO.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_get_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_get_api_response_dto.py new file mode 100644 index 000000000..216eb0e8f --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_get_api_response_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.permission_response_dto import PermissionResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupGetAPIResponseDTO(BaseModel): + """ + UserGroupGetAPIResponseDTO + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable user group name to display in Visier, such as \"Leadership User Group\".", alias="displayName") + permissions: Optional[List[PermissionResponseDTO]] = Field(default=None, description="A list of objects representing the user's permissions.") + user_group_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the user group.", alias="userGroupId") + __properties: ClassVar[List[str]] = ["displayName", "permissions", "userGroupId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupGetAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 permissions (list) + _items = [] + if self.permissions: + for _item in self.permissions: + if _item: + _items.append(_item.to_dict()) + _dict['permissions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupGetAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "permissions": [PermissionResponseDTO.from_dict(_item) for _item in obj["permissions"]] if obj.get("permissions") is not None else None, + "userGroupId": obj.get("userGroupId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_single_delete_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_single_delete_response_dto.py new file mode 100644 index 000000000..c04a55303 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_group_single_delete_response_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_group_delete_failure_dto import UserGroupDeleteFailureDTO +from visier.sdk.api.administration.models.user_group_delete_success_dto import UserGroupDeleteSuccessDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupSingleDeleteResponseDTO(BaseModel): + """ + UserGroupSingleDeleteResponseDTO + """ # noqa: E501 + failure: Optional[UserGroupDeleteFailureDTO] = Field(default=None, description="The user group was not successfully deleted.") + success: Optional[UserGroupDeleteSuccessDTO] = Field(default=None, description="The user group was successfully deleted.") + __properties: ClassVar[List[str]] = ["failure", "success"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupSingleDeleteResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 failure + if self.failure: + _dict['failure'] = self.failure.to_dict() + # override the default output from pydantic by calling `to_dict()` of success + if self.success: + _dict['success'] = self.success.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupSingleDeleteResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "failure": UserGroupDeleteFailureDTO.from_dict(obj["failure"]) if obj.get("failure") is not None else None, + "success": UserGroupDeleteSuccessDTO.from_dict(obj["success"]) if obj.get("success") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_change_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_change_dto.py new file mode 100644 index 000000000..65ad369d7 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_change_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_group_change_definition_dto import UserGroupChangeDefinitionDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupsChangeDTO(BaseModel): + """ + UserGroupsChangeDTO + """ # noqa: E501 + user_groups: Optional[List[UserGroupChangeDefinitionDTO]] = Field(default=None, description="The user groups and their definitions.", alias="userGroups") + __properties: ClassVar[List[str]] = ["userGroups"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupsChangeDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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_groups (list) + _items = [] + if self.user_groups: + for _item in self.user_groups: + if _item: + _items.append(_item.to_dict()) + _dict['userGroups'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupsChangeDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "userGroups": [UserGroupChangeDefinitionDTO.from_dict(_item) for _item in obj["userGroups"]] if obj.get("userGroups") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_delete_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_delete_request_dto.py new file mode 100644 index 000000000..81c0e108d --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_delete_request_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_group_delete_dto import UserGroupDeleteDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupsDeleteRequestDTO(BaseModel): + """ + UserGroupsDeleteRequestDTO + """ # noqa: E501 + user_groups: Optional[List[UserGroupDeleteDTO]] = Field(default=None, description="The user groups to delete.", alias="userGroups") + __properties: ClassVar[List[str]] = ["userGroups"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupsDeleteRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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_groups (list) + _items = [] + if self.user_groups: + for _item in self.user_groups: + if _item: + _items.append(_item.to_dict()) + _dict['userGroups'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupsDeleteRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "userGroups": [UserGroupDeleteDTO.from_dict(_item) for _item in obj["userGroups"]] if obj.get("userGroups") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_get_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_get_api_response_dto.py new file mode 100644 index 000000000..9015900be --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_get_api_response_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_group_get_api_response_dto import UserGroupGetAPIResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupsGetAPIResponseDTO(BaseModel): + """ + UserGroupsGetAPIResponseDTO + """ # noqa: E501 + limit: Optional[StrictInt] = Field(default=None, description="The number of results to return. The maximum number of users to retrieve is 1000.") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving results from, also known as offset.") + user_groups: Optional[List[UserGroupGetAPIResponseDTO]] = Field(default=None, description="A list of user groups.", alias="userGroups") + __properties: ClassVar[List[str]] = ["limit", "start", "userGroups"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupsGetAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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_groups (list) + _items = [] + if self.user_groups: + for _item in self.user_groups: + if _item: + _items.append(_item.to_dict()) + _dict['userGroups'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupsGetAPIResponseDTO 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"), + "start": obj.get("start"), + "userGroups": [UserGroupGetAPIResponseDTO.from_dict(_item) for _item in obj["userGroups"]] if obj.get("userGroups") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_users_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_users_dto.py new file mode 100644 index 000000000..ba616e516 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_users_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_groups_users_for_tenant_dto import UserGroupsUsersForTenantDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupsUsersDTO(BaseModel): + """ + UserGroupsUsersDTO + """ # noqa: E501 + limit: Optional[StrictInt] = Field(default=None, description="The limit of results to return. The maximum value is 1000.") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving values from, also known as offset. The index begins at 0.") + tenants: Optional[List[UserGroupsUsersForTenantDTO]] = Field(default=None, description="A list of objects representing the users that are explicitly assigned to the user group, organized by the tenants the users belong to.") + __properties: ClassVar[List[str]] = ["limit", "start", "tenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserGroupsUsersDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tenants (list) + _items = [] + if self.tenants: + for _item in self.tenants: + if _item: + _items.append(_item.to_dict()) + _dict['tenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupsUsersDTO 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"), + "start": obj.get("start"), + "tenants": [UserGroupsUsersForTenantDTO.from_dict(_item) for _item in obj["tenants"]] if obj.get("tenants") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_users_for_tenant_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_users_for_tenant_dto.py new file mode 100644 index 000000000..55d0ee43a --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_groups_users_for_tenant_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.simple_user_dto import SimpleUserDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserGroupsUsersForTenantDTO(BaseModel): + """ + UserGroupsUsersForTenantDTO + """ # noqa: E501 + tenant_code: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the tenant.", alias="tenantCode") + users: Optional[List[SimpleUserDTO]] = Field(default=None, description="A list of objects representing the users in the user group.") + __properties: ClassVar[List[str]] = ["tenantCode", "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 UserGroupsUsersForTenantDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 in self.users: + if _item: + _items.append(_item.to_dict()) + _dict['users'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserGroupsUsersForTenantDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tenantCode": obj.get("tenantCode"), + "users": [SimpleUserDTO.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_id_error_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_id_error_dto.py new file mode 100644 index 000000000..b94fb4756 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_id_error_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.error_dto import ErrorDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserIdErrorDTO(BaseModel): + """ + UserIdErrorDTO + """ # noqa: E501 + error: Optional[ErrorDTO] = Field(default=None, description="The details about the error.") + user_id: Optional[StrictStr] = Field(default=None, description="The bad user ID.", alias="userId") + __properties: ClassVar[List[str]] = ["error", "userId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserIdErrorDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 error + if self.error: + _dict['error'] = self.error.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserIdErrorDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": ErrorDTO.from_dict(obj["error"]) if obj.get("error") is not None else None, + "userId": obj.get("userId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_property_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_property_dto.py new file mode 100644 index 000000000..3ea066c78 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_property_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UserPropertyDTO(BaseModel): + """ + UserPropertyDTO + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="The name property to map to in the dynamic filter. Valid values are one of `username`, `email`, `employeeId`.") + __properties: ClassVar[List[str]] = ["name"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserPropertyDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UserPropertyDTO 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") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_security_assignments_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_security_assignments_dto.py new file mode 100644 index 000000000..56e59a9b1 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_security_assignments_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.simple_user_dto import SimpleUserDTO +from typing import Optional, Set +from typing_extensions import Self + +class UserSecurityAssignmentsDTO(BaseModel): + """ + UserSecurityAssignmentsDTO + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the user group.") + name: Optional[StrictStr] = Field(default=None, description="The name of the user group.") + users: Optional[List[SimpleUserDTO]] = Field(default=None, description="A list of objects representing the users assigned to or removed from the user group.") + __properties: ClassVar[List[str]] = ["id", "name", "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 UserSecurityAssignmentsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 in self.users: + if _item: + _items.append(_item.to_dict()) + _dict['users'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserSecurityAssignmentsDTO 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"), + "name": obj.get("name"), + "users": [SimpleUserDTO.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_update_api_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_update_api_request_dto.py new file mode 100644 index 000000000..f41a96219 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/user_update_api_request_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UserUpdateAPIRequestDTO(BaseModel): + """ + UserUpdateAPIRequestDTO + """ # noqa: E501 + account_enabled: Optional[StrictStr] = Field(default=None, description="If true, the user account is enabled.", alias="accountEnabled") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable name to display within Visier. For example, \"John Smith\".", alias="displayName") + email: Optional[StrictStr] = Field(default=None, description="The user's email address.") + employee_id: Optional[StrictStr] = Field(default=None, description="If applicable, and if available, the user employee ID in the data.", alias="employeeId") + __properties: ClassVar[List[str]] = ["accountEnabled", "displayName", "email", "employeeId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserUpdateAPIRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UserUpdateAPIRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accountEnabled": obj.get("accountEnabled"), + "displayName": obj.get("displayName"), + "email": obj.get("email"), + "employeeId": obj.get("employeeId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_error_message_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_error_message_dto.py new file mode 100644 index 000000000..5a82c8d99 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_error_message_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UsersAPIErrorMessageDTO(BaseModel): + """ + UsersAPIErrorMessageDTO + """ # noqa: E501 + message: Optional[StrictStr] = Field(default=None, description="Error message") + rci: Optional[StrictStr] = Field(default=None, description="The unique identifier associated to this error") + __properties: ClassVar[List[str]] = ["message", "rci"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UsersAPIErrorMessageDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UsersAPIErrorMessageDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message"), + "rci": obj.get("rci") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_failure_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_failure_dto.py new file mode 100644 index 000000000..e91492f72 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_failure_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.users_api_error_message_dto import UsersAPIErrorMessageDTO +from typing import Optional, Set +from typing_extensions import Self + +class UsersAPIFailureDTO(BaseModel): + """ + UsersAPIFailureDTO + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable name to display within Visier. For example, \"John Smith\".", alias="displayName") + error: Optional[UsersAPIErrorMessageDTO] = Field(default=None, description="The error thrown during creation.") + user_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the user.", alias="userId") + user_name: Optional[StrictStr] = Field(default=None, description="The user's username. This is typically the user's email, such as john@jupiter.com.", alias="userName") + __properties: ClassVar[List[str]] = ["displayName", "error", "userId", "userName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UsersAPIFailureDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 error + if self.error: + _dict['error'] = self.error.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UsersAPIFailureDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "error": UsersAPIErrorMessageDTO.from_dict(obj["error"]) if obj.get("error") is not None else None, + "userId": obj.get("userId"), + "userName": obj.get("userName") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_response_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_response_dto.py new file mode 100644 index 000000000..9b0a2ff64 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_response_dto.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.users_api_failure_dto import UsersAPIFailureDTO +from visier.sdk.api.administration.models.users_api_success_dto import UsersAPISuccessDTO +from typing import Optional, Set +from typing_extensions import Self + +class UsersAPIResponseDTO(BaseModel): + """ + UsersAPIResponseDTO + """ # noqa: E501 + failures: Optional[List[UsersAPIFailureDTO]] = Field(default=None, description="The users for which the request failed.") + successes: Optional[List[UsersAPISuccessDTO]] = Field(default=None, description="The users for which the request succeeded.") + __properties: ClassVar[List[str]] = ["failures", "successes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UsersAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 failures (list) + _items = [] + if self.failures: + for _item in self.failures: + if _item: + _items.append(_item.to_dict()) + _dict['failures'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in successes (list) + _items = [] + if self.successes: + for _item in self.successes: + if _item: + _items.append(_item.to_dict()) + _dict['successes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UsersAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "failures": [UsersAPIFailureDTO.from_dict(_item) for _item in obj["failures"]] if obj.get("failures") is not None else None, + "successes": [UsersAPISuccessDTO.from_dict(_item) for _item in obj["successes"]] if obj.get("successes") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_success_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_success_dto.py new file mode 100644 index 000000000..481347b2b --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_api_success_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UsersAPISuccessDTO(BaseModel): + """ + UsersAPISuccessDTO + """ # noqa: E501 + account_enabled: Optional[StrictStr] = Field(default=None, description="If true, the user account is enabled.", alias="accountEnabled") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable name to display within Visier. For example, \"John Smith\".", alias="displayName") + email: Optional[StrictStr] = Field(default=None, description="The user's email address.") + employee_id: Optional[StrictStr] = Field(default=None, description="If applicable, and if available, the user employee ID in the data.", alias="employeeId") + user_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the user.", alias="userId") + username: Optional[StrictStr] = Field(default=None, description="The user's username. This is typically the user's email, such as john@jupiter.com.") + __properties: ClassVar[List[str]] = ["accountEnabled", "displayName", "email", "employeeId", "userId", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UsersAPISuccessDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UsersAPISuccessDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accountEnabled": obj.get("accountEnabled"), + "displayName": obj.get("displayName"), + "email": obj.get("email"), + "employeeId": obj.get("employeeId"), + "userId": obj.get("userId"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_creation_api_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_creation_api_request_dto.py new file mode 100644 index 000000000..0a9862b45 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_creation_api_request_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.user_creation_api_request_dto import UserCreationAPIRequestDTO +from typing import Optional, Set +from typing_extensions import Self + +class UsersCreationAPIRequestDTO(BaseModel): + """ + UsersCreationAPIRequestDTO + """ # noqa: E501 + users: Optional[List[UserCreationAPIRequestDTO]] = Field(default=None, description="A list of objects representing users to create. Maximum 100 users can be created in a single request.") + __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 UsersCreationAPIRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 in self.users: + if _item: + _items.append(_item.to_dict()) + _dict['users'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UsersCreationAPIRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "users": [UserCreationAPIRequestDTO.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_delete_api_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_delete_api_request_dto.py new file mode 100644 index 000000000..55af7c174 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_delete_api_request_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UsersDeleteAPIRequestDTO(BaseModel): + """ + UsersDeleteAPIRequestDTO + """ # noqa: E501 + user_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of objects representing users to delete. Maximum 100 users can be deleted in a single request.", alias="userIds") + __properties: ClassVar[List[str]] = ["userIds"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UsersDeleteAPIRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UsersDeleteAPIRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "userIds": obj.get("userIds") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_to_user_group_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_to_user_group_request_dto.py new file mode 100644 index 000000000..c9e38af9d --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_to_user_group_request_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UsersToUserGroupRequestDTO(BaseModel): + """ + UsersToUserGroupRequestDTO + """ # noqa: E501 + user_group_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the user group.", alias="userGroupId") + user_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of strings representing unique user IDs to assign to or remove from the user group.", alias="userIds") + __properties: ClassVar[List[str]] = ["userGroupId", "userIds"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UsersToUserGroupRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UsersToUserGroupRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "userGroupId": obj.get("userGroupId"), + "userIds": obj.get("userIds") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_to_user_groups_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_to_user_groups_request_dto.py new file mode 100644 index 000000000..25d56588d --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_to_user_groups_request_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.target_project_for_tenants_list_dto import TargetProjectForTenantsListDTO +from visier.sdk.api.administration.models.users_to_user_group_request_dto import UsersToUserGroupRequestDTO +from typing import Optional, Set +from typing_extensions import Self + +class UsersToUserGroupsRequestDTO(BaseModel): + """ + UsersToUserGroupsRequestDTO + """ # noqa: E501 + target_project_for_tenants_list: Optional[TargetProjectForTenantsListDTO] = Field(default=None, description="Administrating tenants can specify the tenants and projects in which to assign users to user groups or remove users from user groups. Specify one `projectId` per `tenantCode`. If omitted, the request is immediately published to production or applied to the ProjectID in the request header, if available, for the administrating tenant or TargetTenantID, if available.", alias="targetProjectForTenantsList") + user_groups: Optional[List[UsersToUserGroupRequestDTO]] = Field(default=None, description="A list of objects representing the user groups and users to assign or remove.", alias="userGroups") + __properties: ClassVar[List[str]] = ["targetProjectForTenantsList", "userGroups"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UsersToUserGroupsRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 target_project_for_tenants_list + if self.target_project_for_tenants_list: + _dict['targetProjectForTenantsList'] = self.target_project_for_tenants_list.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in user_groups (list) + _items = [] + if self.user_groups: + for _item in self.user_groups: + if _item: + _items.append(_item.to_dict()) + _dict['userGroups'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UsersToUserGroupsRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "targetProjectForTenantsList": TargetProjectForTenantsListDTO.from_dict(obj["targetProjectForTenantsList"]) if obj.get("targetProjectForTenantsList") is not None else None, + "userGroups": [UsersToUserGroupRequestDTO.from_dict(_item) for _item in obj["userGroups"]] if obj.get("userGroups") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_update_api_request_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_update_api_request_dto.py new file mode 100644 index 000000000..7f1667a7b --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_update_api_request_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.administration.models.users_update_api_user_dto import UsersUpdateAPIUserDTO +from typing import Optional, Set +from typing_extensions import Self + +class UsersUpdateAPIRequestDTO(BaseModel): + """ + UsersUpdateAPIRequestDTO + """ # noqa: E501 + users: Optional[List[UsersUpdateAPIUserDTO]] = Field(default=None, description="A list of objects representing users to update. Maximum 100 users can be updated in a single request.") + __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 UsersUpdateAPIRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 in self.users: + if _item: + _items.append(_item.to_dict()) + _dict['users'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UsersUpdateAPIRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "users": [UsersUpdateAPIUserDTO.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_update_api_user_dto.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_update_api_user_dto.py new file mode 100644 index 000000000..fbc033e9a --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/models/users_update_api_user_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UsersUpdateAPIUserDTO(BaseModel): + """ + UsersUpdateAPIUserDTO + """ # noqa: E501 + account_enabled: Optional[StrictStr] = Field(default=None, description="If true, the user account is enabled.", alias="accountEnabled") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable name to display within Visier. For example, \"John Smith\".", alias="displayName") + email: Optional[StrictStr] = Field(default=None, description="The user's email address.") + employee_id: Optional[StrictStr] = Field(default=None, description="If applicable, and if available, the user employee ID in the data.", alias="employeeId") + user_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the user.", alias="userId") + __properties: ClassVar[List[str]] = ["accountEnabled", "displayName", "email", "employeeId", "userId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UsersUpdateAPIUserDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UsersUpdateAPIUserDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accountEnabled": obj.get("accountEnabled"), + "displayName": obj.get("displayName"), + "email": obj.get("email"), + "employeeId": obj.get("employeeId"), + "userId": obj.get("userId") + }) + return _obj + + diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/py.typed b/src/visier.sdk.api.administration/visier/sdk/api/administration/py.typed new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.administration/visier/sdk/api/administration/rest.py b/src/visier.sdk.api.administration/visier/sdk/api/administration/rest.py new file mode 100644 index 000000000..fb45dde53 --- /dev/null +++ b/src/visier.sdk.api.administration/visier/sdk/api/administration/rest.py @@ -0,0 +1,257 @@ +# coding: utf-8 + +""" + Visier Administration APIs + + Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.
**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint. + + The version of the OpenAPI document: 0.0.1 + 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 visier.sdk.api.administration.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'] == 'text/plain' 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/src/visier.sdk.api.analytic_model/.github/workflows/python.yml b/src/visier.sdk.api.analytic_model/.github/workflows/python.yml new file mode 100644 index 000000000..75d25e4cf --- /dev/null +++ b/src/visier.sdk.api.analytic_model/.github/workflows/python.yml @@ -0,0 +1,38 @@ +# NOTE: This file is auto generated by OpenAPI Generator. +# URL: https://openapi-generator.tech +# +# ref: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: visier.sdk.api.analytic_model Python package + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] + + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + if [ -f test-requirements.txt ]; then pip install -r test-requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest diff --git a/src/visier.sdk.api.analytic_model/.gitignore b/src/visier.sdk.api.analytic_model/.gitignore new file mode 100644 index 000000000..43995bd42 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/.gitignore @@ -0,0 +1,66 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.venv/ +.python-version +.pytest_cache + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints diff --git a/src/visier.sdk.api.analytic_model/.gitlab-ci.yml b/src/visier.sdk.api.analytic_model/.gitlab-ci.yml new file mode 100644 index 000000000..3f4b89253 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/.gitlab-ci.yml @@ -0,0 +1,31 @@ +# NOTE: This file is auto generated by OpenAPI Generator. +# URL: https://openapi-generator.tech +# +# ref: https://docs.gitlab.com/ee/ci/README.html +# ref: https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml + +stages: + - test + +.pytest: + stage: test + script: + - pip install -r requirements.txt + - pip install -r test-requirements.txt + - pytest --cov=visier.sdk.api.analytic_model + +pytest-3.7: + extends: .pytest + image: python:3.7-alpine +pytest-3.8: + extends: .pytest + image: python:3.8-alpine +pytest-3.9: + extends: .pytest + image: python:3.9-alpine +pytest-3.10: + extends: .pytest + image: python:3.10-alpine +pytest-3.11: + extends: .pytest + image: python:3.11-alpine diff --git a/src/visier.sdk.api.analytic_model/.openapi-generator-ignore b/src/visier.sdk.api.analytic_model/.openapi-generator-ignore new file mode 100644 index 000000000..7484ee590 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/src/visier.sdk.api.analytic_model/.openapi-generator/FILES b/src/visier.sdk.api.analytic_model/.openapi-generator/FILES new file mode 100644 index 000000000..bd508ff22 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/.openapi-generator/FILES @@ -0,0 +1,203 @@ +.github/workflows/python.yml +.gitignore +.gitlab-ci.yml +.openapi-generator-ignore +.travis.yml +README.md +docs/AggregationTypeOptionDTO.md +docs/AggregationTypeParameterDTO.md +docs/AnalyticObjectDTO.md +docs/AnalyticObjectFilterDTO.md +docs/AnalyticObjectsDTO.md +docs/CalculationConceptConfigurationDTO.md +docs/CalculationConceptConfigurationMapDTO.md +docs/CalculationConceptDTO.md +docs/CalculationConceptListDTO.md +docs/ConceptConfigurationResultDTO.md +docs/CurrenciesDTO.md +docs/CurrencyDTO.md +docs/CurrencyRateDTO.md +docs/CurrencyRatesDTO.md +docs/DataModelApi.md +docs/DimensionDTO.md +docs/DimensionFilterDTO.md +docs/DimensionMappingValidationDTO.md +docs/DimensionMappingValidationExecutionDTO.md +docs/DimensionMemberDTO.md +docs/DimensionMemberReferenceDTO.md +docs/DimensionReferenceDTO.md +docs/DimensionsDTO.md +docs/GoogleProtobufAny.md +docs/LevelDTO.md +docs/MemberDTO.md +docs/MemberParameterDefinitionDTO.md +docs/MemberValuesDTO.md +docs/MembersDTO.md +docs/MetricDTO.md +docs/MetricsDTO.md +docs/NumericParameterDefinitionDTO.md +docs/ObjectConfigurationApi.md +docs/ObjectReferenceDTO.md +docs/ParameterDefinitionDTO.md +docs/PerspectiveConfigurationDTO.md +docs/PerspectiveNodeDTO.md +docs/PlanParameterDefinitionDTO.md +docs/PlanningConceptFilterContextDTO.md +docs/PlanningHierarchyFilterContextDTO.md +docs/PlanningModelDTO.md +docs/PlanningModelsDTO.md +docs/PlanningPlanContextDTO.md +docs/PlanningPlanDTO.md +docs/PlanningPlansDTO.md +docs/PopulationConfigurationDTO.md +docs/PredictionDTO.md +docs/PredictionsDTO.md +docs/PropertiesDTO.md +docs/PropertyDTO.md +docs/PropertyReferenceDTO.md +docs/ScenarioOrSnapshotDTO.md +docs/SelectionConceptConfigurationMapDTO.md +docs/SelectionConceptDTO.md +docs/SelectionConceptListDTO.md +docs/SelectionConceptsDTO.md +docs/Status.md +docs/TagMapElementDTO.md +docs/ValidityRangeDTO.md +git_push.sh +pyproject.toml +requirements.txt +setup.cfg +setup.py +test-requirements.txt +test/__init__.py +test/test_aggregation_type_option_dto.py +test/test_aggregation_type_parameter_dto.py +test/test_analytic_object_dto.py +test/test_analytic_object_filter_dto.py +test/test_analytic_objects_dto.py +test/test_calculation_concept_configuration_dto.py +test/test_calculation_concept_configuration_map_dto.py +test/test_calculation_concept_dto.py +test/test_calculation_concept_list_dto.py +test/test_concept_configuration_result_dto.py +test/test_currencies_dto.py +test/test_currency_dto.py +test/test_currency_rate_dto.py +test/test_currency_rates_dto.py +test/test_data_model_api.py +test/test_dimension_dto.py +test/test_dimension_filter_dto.py +test/test_dimension_mapping_validation_dto.py +test/test_dimension_mapping_validation_execution_dto.py +test/test_dimension_member_dto.py +test/test_dimension_member_reference_dto.py +test/test_dimension_reference_dto.py +test/test_dimensions_dto.py +test/test_google_protobuf_any.py +test/test_level_dto.py +test/test_member_dto.py +test/test_member_parameter_definition_dto.py +test/test_member_values_dto.py +test/test_members_dto.py +test/test_metric_dto.py +test/test_metrics_dto.py +test/test_numeric_parameter_definition_dto.py +test/test_object_configuration_api.py +test/test_object_reference_dto.py +test/test_parameter_definition_dto.py +test/test_perspective_configuration_dto.py +test/test_perspective_node_dto.py +test/test_plan_parameter_definition_dto.py +test/test_planning_concept_filter_context_dto.py +test/test_planning_hierarchy_filter_context_dto.py +test/test_planning_model_dto.py +test/test_planning_models_dto.py +test/test_planning_plan_context_dto.py +test/test_planning_plan_dto.py +test/test_planning_plans_dto.py +test/test_population_configuration_dto.py +test/test_prediction_dto.py +test/test_predictions_dto.py +test/test_properties_dto.py +test/test_property_dto.py +test/test_property_reference_dto.py +test/test_scenario_or_snapshot_dto.py +test/test_selection_concept_configuration_map_dto.py +test/test_selection_concept_dto.py +test/test_selection_concept_list_dto.py +test/test_selection_concepts_dto.py +test/test_status.py +test/test_tag_map_element_dto.py +test/test_validity_range_dto.py +tox.ini +visier/__init__.py +visier/sdk/__init__.py +visier/sdk/api/__init__.py +visier/sdk/api/analytic_model/__init__.py +visier/sdk/api/analytic_model/api/__init__.py +visier/sdk/api/analytic_model/api/data_model_api.py +visier/sdk/api/analytic_model/api/object_configuration_api.py +visier/sdk/api/analytic_model/api_client.py +visier/sdk/api/analytic_model/api_response.py +visier/sdk/api/analytic_model/configuration.py +visier/sdk/api/analytic_model/exceptions.py +visier/sdk/api/analytic_model/models/__init__.py +visier/sdk/api/analytic_model/models/aggregation_type_option_dto.py +visier/sdk/api/analytic_model/models/aggregation_type_parameter_dto.py +visier/sdk/api/analytic_model/models/analytic_object_dto.py +visier/sdk/api/analytic_model/models/analytic_object_filter_dto.py +visier/sdk/api/analytic_model/models/analytic_objects_dto.py +visier/sdk/api/analytic_model/models/calculation_concept_configuration_dto.py +visier/sdk/api/analytic_model/models/calculation_concept_configuration_map_dto.py +visier/sdk/api/analytic_model/models/calculation_concept_dto.py +visier/sdk/api/analytic_model/models/calculation_concept_list_dto.py +visier/sdk/api/analytic_model/models/concept_configuration_result_dto.py +visier/sdk/api/analytic_model/models/currencies_dto.py +visier/sdk/api/analytic_model/models/currency_dto.py +visier/sdk/api/analytic_model/models/currency_rate_dto.py +visier/sdk/api/analytic_model/models/currency_rates_dto.py +visier/sdk/api/analytic_model/models/dimension_dto.py +visier/sdk/api/analytic_model/models/dimension_filter_dto.py +visier/sdk/api/analytic_model/models/dimension_mapping_validation_dto.py +visier/sdk/api/analytic_model/models/dimension_mapping_validation_execution_dto.py +visier/sdk/api/analytic_model/models/dimension_member_dto.py +visier/sdk/api/analytic_model/models/dimension_member_reference_dto.py +visier/sdk/api/analytic_model/models/dimension_reference_dto.py +visier/sdk/api/analytic_model/models/dimensions_dto.py +visier/sdk/api/analytic_model/models/google_protobuf_any.py +visier/sdk/api/analytic_model/models/level_dto.py +visier/sdk/api/analytic_model/models/member_dto.py +visier/sdk/api/analytic_model/models/member_parameter_definition_dto.py +visier/sdk/api/analytic_model/models/member_values_dto.py +visier/sdk/api/analytic_model/models/members_dto.py +visier/sdk/api/analytic_model/models/metric_dto.py +visier/sdk/api/analytic_model/models/metrics_dto.py +visier/sdk/api/analytic_model/models/numeric_parameter_definition_dto.py +visier/sdk/api/analytic_model/models/object_reference_dto.py +visier/sdk/api/analytic_model/models/parameter_definition_dto.py +visier/sdk/api/analytic_model/models/perspective_configuration_dto.py +visier/sdk/api/analytic_model/models/perspective_node_dto.py +visier/sdk/api/analytic_model/models/plan_parameter_definition_dto.py +visier/sdk/api/analytic_model/models/planning_concept_filter_context_dto.py +visier/sdk/api/analytic_model/models/planning_hierarchy_filter_context_dto.py +visier/sdk/api/analytic_model/models/planning_model_dto.py +visier/sdk/api/analytic_model/models/planning_models_dto.py +visier/sdk/api/analytic_model/models/planning_plan_context_dto.py +visier/sdk/api/analytic_model/models/planning_plan_dto.py +visier/sdk/api/analytic_model/models/planning_plans_dto.py +visier/sdk/api/analytic_model/models/population_configuration_dto.py +visier/sdk/api/analytic_model/models/prediction_dto.py +visier/sdk/api/analytic_model/models/predictions_dto.py +visier/sdk/api/analytic_model/models/properties_dto.py +visier/sdk/api/analytic_model/models/property_dto.py +visier/sdk/api/analytic_model/models/property_reference_dto.py +visier/sdk/api/analytic_model/models/scenario_or_snapshot_dto.py +visier/sdk/api/analytic_model/models/selection_concept_configuration_map_dto.py +visier/sdk/api/analytic_model/models/selection_concept_dto.py +visier/sdk/api/analytic_model/models/selection_concept_list_dto.py +visier/sdk/api/analytic_model/models/selection_concepts_dto.py +visier/sdk/api/analytic_model/models/status.py +visier/sdk/api/analytic_model/models/tag_map_element_dto.py +visier/sdk/api/analytic_model/models/validity_range_dto.py +visier/sdk/api/analytic_model/py.typed +visier/sdk/api/analytic_model/rest.py diff --git a/src/visier.sdk.api.analytic_model/.openapi-generator/VERSION b/src/visier.sdk.api.analytic_model/.openapi-generator/VERSION new file mode 100644 index 000000000..1985849fb --- /dev/null +++ b/src/visier.sdk.api.analytic_model/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.7.0 diff --git a/src/visier.sdk.api.analytic_model/.travis.yml b/src/visier.sdk.api.analytic_model/.travis.yml new file mode 100644 index 000000000..74ee84a63 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/.travis.yml @@ -0,0 +1,17 @@ +# ref: https://docs.travis-ci.com/user/languages/python +language: python +python: + - "3.7" + - "3.8" + - "3.9" + - "3.10" + - "3.11" + # uncomment the following if needed + #- "3.11-dev" # 3.11 development branch + #- "nightly" # nightly build +# command to install dependencies +install: + - "pip install -r requirements.txt" + - "pip install -r test-requirements.txt" +# command to run tests +script: pytest --cov=visier.sdk.api.analytic_model diff --git a/src/visier.sdk.api.analytic_model/README.md b/src/visier.sdk.api.analytic_model/README.md new file mode 100644 index 000000000..b68e34dd1 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/README.md @@ -0,0 +1,258 @@ +# visier.sdk.api.analytic-model +Visier APIs for retrieving and configuring your analytic model in Visier. + +This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: 0.0.1 +- Package version: 0.0.1 +- Generator version: 7.7.0 +- Build package: org.openapitools.codegen.languages.PythonClientCodegen + +## Requirements. + +Python 3.7+ + +## Installation & Usage +### pip install + +If the python package is hosted on a repository, you can install directly using: + +```sh +pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git +``` +(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`) + +Then import the package: +```python +import visier.sdk.api.analytic_model +``` + +### Setuptools + +Install via [Setuptools](http://pypi.python.org/pypi/setuptools). + +```sh +python setup.py install --user +``` +(or `sudo python setup.py install` to install the package for all users) + +Then import the package: +```python +import visier.sdk.api.analytic_model +``` + +### Tests + +Execute `pytest` to run the tests. + +## Getting Started + +Please follow the [installation procedure](#installation--usage) and then run the following: + +```python + +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = 'id_example' # str | The ID of the analytic object to retrieve metrics for. + + try: + # Retrieve a list of metrics for an analytic object by ID + api_response = api_instance.analytic_metrics(id) + print("The response of DataModelApi->analytic_metrics:\n") + pprint(api_response) + except ApiException as e: + print("Exception when calling DataModelApi->analytic_metrics: %s\n" % e) + +``` + +## Documentation for API Endpoints + +All URIs are relative to *http://localhost* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*DataModelApi* | [**analytic_metrics**](docs/DataModelApi.md#analytic_metrics) | **GET** /v1/data/model/analytic-objects/{id}/metrics | Retrieve a list of metrics for an analytic object by ID +*DataModelApi* | [**analytic_object**](docs/DataModelApi.md#analytic_object) | **GET** /v1/data/model/analytic-objects/{id} | Retrieve an analytic object by ID +*DataModelApi* | [**analytic_objects**](docs/DataModelApi.md#analytic_objects) | **GET** /v1/data/model/analytic-objects | Retrieve a list of analytic objects +*DataModelApi* | [**call_property**](docs/DataModelApi.md#call_property) | **GET** /v1/data/model/analytic-objects/{objectId}/properties/{id} | Retrieve a property by ID +*DataModelApi* | [**currencies**](docs/DataModelApi.md#currencies) | **GET** /v1/data/model/currencies | Retrieve all currencies +*DataModelApi* | [**currency**](docs/DataModelApi.md#currency) | **GET** /v1/data/model/currencies/{id} | Retrieve a currency +*DataModelApi* | [**currency_rates**](docs/DataModelApi.md#currency_rates) | **GET** /v1/data/model/currencies/{id}/rates | Retrieve all exchange rates for a currency +*DataModelApi* | [**currency_rates_with_to_currency**](docs/DataModelApi.md#currency_rates_with_to_currency) | **GET** /v1/data/model/currencies/{id}/rates/{toId} | Retrieve exchange rates from one currency to another currency +*DataModelApi* | [**dimension**](docs/DataModelApi.md#dimension) | **GET** /v1/data/model/analytic-objects/{objectId}/dimensions/{id} | Retrieve a dimension by ID +*DataModelApi* | [**dimension_member_map_validation**](docs/DataModelApi.md#dimension_member_map_validation) | **POST** /v1/data/model/analytic-objects/{objectId}/dimensions/{dimensionId}/mappings/validate | Validate a member map's unmapped dimension members by ID +*DataModelApi* | [**dimensions**](docs/DataModelApi.md#dimensions) | **GET** /v1/data/model/analytic-objects/{objectId}/dimensions | Retrieve a list of dimensions +*DataModelApi* | [**member**](docs/DataModelApi.md#member) | **GET** /v1/data/model/analytic-objects/{objectId}/dimensions/{dimensionId}/members/{id} | Retrieve a dimension member +*DataModelApi* | [**members**](docs/DataModelApi.md#members) | **GET** /v1/data/model/analytic-objects/{objectId}/dimensions/{dimensionId}/members | Retrieve a list of dimension members +*DataModelApi* | [**metric**](docs/DataModelApi.md#metric) | **GET** /v1/data/model/metrics/{id} | Retrieve a metric by ID +*DataModelApi* | [**metric_dimensions**](docs/DataModelApi.md#metric_dimensions) | **GET** /v1/data/model/metrics/{metricId}/dimensions | Retrieve a metric's dimensions +*DataModelApi* | [**metric_selection_concepts**](docs/DataModelApi.md#metric_selection_concepts) | **GET** /v1/data/model/metrics/{metricId}/selection-concepts | Retrieve a metric's selection concepts +*DataModelApi* | [**metrics**](docs/DataModelApi.md#metrics) | **GET** /v1/data/model/metrics | Retrieve a list of metrics +*DataModelApi* | [**planning_metrics**](docs/DataModelApi.md#planning_metrics) | **GET** /v1/data/model/plan-models/{id}/metrics | Retrieve metrics by planning model ID +*DataModelApi* | [**planning_model**](docs/DataModelApi.md#planning_model) | **GET** /v1/data/model/plan-models/{id} | Retrieve a planning model by ID +*DataModelApi* | [**planning_models**](docs/DataModelApi.md#planning_models) | **GET** /v1/data/model/plan-models | Retrieve a list of planning models +*DataModelApi* | [**planning_plan**](docs/DataModelApi.md#planning_plan) | **GET** /v1/data/model/plan-models/{modelId}/plans/{id} | Retrieve a plan by ID +*DataModelApi* | [**planning_plans**](docs/DataModelApi.md#planning_plans) | **GET** /v1/data/model/plan-models/{modelId}/plans | Retrieve a list of plans +*DataModelApi* | [**prediction**](docs/DataModelApi.md#prediction) | **GET** /v1/data/model/predictions/{id} | Retrieve a prediction by ID +*DataModelApi* | [**predictions**](docs/DataModelApi.md#predictions) | **GET** /v1/data/model/predictions | Retrieve a list of predictions +*DataModelApi* | [**properties**](docs/DataModelApi.md#properties) | **GET** /v1/data/model/analytic-objects/{objectId}/properties | Retrieve a list of properties +*DataModelApi* | [**selection_concept**](docs/DataModelApi.md#selection_concept) | **GET** /v1/data/model/analytic-objects/{objectId}/selection-concepts/{id} | Retrieve an analytic object's selection concept by ID +*DataModelApi* | [**selection_concepts**](docs/DataModelApi.md#selection_concepts) | **GET** /v1/data/model/analytic-objects/{objectId}/selection-concepts | Retrieve an analytic object's selection concepts +*ObjectConfigurationApi* | [**get_calculation_concept**](docs/ObjectConfigurationApi.md#get_calculation_concept) | **GET** /v1/admin/calculation-concepts/{conceptId} | Retrieve the configuration of a calculation concept +*ObjectConfigurationApi* | [**get_calculation_concepts**](docs/ObjectConfigurationApi.md#get_calculation_concepts) | **GET** /v1/admin/calculation-concepts | Retrieve all calculation concepts +*ObjectConfigurationApi* | [**get_selection_concept**](docs/ObjectConfigurationApi.md#get_selection_concept) | **GET** /v1/admin/selection-concepts/{conceptId} | Retrieve the configuration of a selection concept +*ObjectConfigurationApi* | [**get_selection_concepts**](docs/ObjectConfigurationApi.md#get_selection_concepts) | **GET** /v1/admin/selection-concepts | Retrieve all selection concepts +*ObjectConfigurationApi* | [**map_calculation_concept**](docs/ObjectConfigurationApi.md#map_calculation_concept) | **PUT** /v1/admin/calculation-concepts/{conceptId}/configure | Map dimension members to nodes in a calculation concept +*ObjectConfigurationApi* | [**map_selection_concept**](docs/ObjectConfigurationApi.md#map_selection_concept) | **PUT** /v1/admin/selection-concepts/{conceptId}/configure | Map dimension members to a selection concept + + +## Documentation For Models + + - [AggregationTypeOptionDTO](docs/AggregationTypeOptionDTO.md) + - [AggregationTypeParameterDTO](docs/AggregationTypeParameterDTO.md) + - [AnalyticObjectDTO](docs/AnalyticObjectDTO.md) + - [AnalyticObjectFilterDTO](docs/AnalyticObjectFilterDTO.md) + - [AnalyticObjectsDTO](docs/AnalyticObjectsDTO.md) + - [CalculationConceptConfigurationDTO](docs/CalculationConceptConfigurationDTO.md) + - [CalculationConceptConfigurationMapDTO](docs/CalculationConceptConfigurationMapDTO.md) + - [CalculationConceptDTO](docs/CalculationConceptDTO.md) + - [CalculationConceptListDTO](docs/CalculationConceptListDTO.md) + - [ConceptConfigurationResultDTO](docs/ConceptConfigurationResultDTO.md) + - [CurrenciesDTO](docs/CurrenciesDTO.md) + - [CurrencyDTO](docs/CurrencyDTO.md) + - [CurrencyRateDTO](docs/CurrencyRateDTO.md) + - [CurrencyRatesDTO](docs/CurrencyRatesDTO.md) + - [DimensionDTO](docs/DimensionDTO.md) + - [DimensionFilterDTO](docs/DimensionFilterDTO.md) + - [DimensionMappingValidationDTO](docs/DimensionMappingValidationDTO.md) + - [DimensionMappingValidationExecutionDTO](docs/DimensionMappingValidationExecutionDTO.md) + - [DimensionMemberDTO](docs/DimensionMemberDTO.md) + - [DimensionMemberReferenceDTO](docs/DimensionMemberReferenceDTO.md) + - [DimensionReferenceDTO](docs/DimensionReferenceDTO.md) + - [DimensionsDTO](docs/DimensionsDTO.md) + - [GoogleProtobufAny](docs/GoogleProtobufAny.md) + - [LevelDTO](docs/LevelDTO.md) + - [MemberDTO](docs/MemberDTO.md) + - [MemberParameterDefinitionDTO](docs/MemberParameterDefinitionDTO.md) + - [MemberValuesDTO](docs/MemberValuesDTO.md) + - [MembersDTO](docs/MembersDTO.md) + - [MetricDTO](docs/MetricDTO.md) + - [MetricsDTO](docs/MetricsDTO.md) + - [NumericParameterDefinitionDTO](docs/NumericParameterDefinitionDTO.md) + - [ObjectReferenceDTO](docs/ObjectReferenceDTO.md) + - [ParameterDefinitionDTO](docs/ParameterDefinitionDTO.md) + - [PerspectiveConfigurationDTO](docs/PerspectiveConfigurationDTO.md) + - [PerspectiveNodeDTO](docs/PerspectiveNodeDTO.md) + - [PlanParameterDefinitionDTO](docs/PlanParameterDefinitionDTO.md) + - [PlanningConceptFilterContextDTO](docs/PlanningConceptFilterContextDTO.md) + - [PlanningHierarchyFilterContextDTO](docs/PlanningHierarchyFilterContextDTO.md) + - [PlanningModelDTO](docs/PlanningModelDTO.md) + - [PlanningModelsDTO](docs/PlanningModelsDTO.md) + - [PlanningPlanContextDTO](docs/PlanningPlanContextDTO.md) + - [PlanningPlanDTO](docs/PlanningPlanDTO.md) + - [PlanningPlansDTO](docs/PlanningPlansDTO.md) + - [PopulationConfigurationDTO](docs/PopulationConfigurationDTO.md) + - [PredictionDTO](docs/PredictionDTO.md) + - [PredictionsDTO](docs/PredictionsDTO.md) + - [PropertiesDTO](docs/PropertiesDTO.md) + - [PropertyDTO](docs/PropertyDTO.md) + - [PropertyReferenceDTO](docs/PropertyReferenceDTO.md) + - [ScenarioOrSnapshotDTO](docs/ScenarioOrSnapshotDTO.md) + - [SelectionConceptConfigurationMapDTO](docs/SelectionConceptConfigurationMapDTO.md) + - [SelectionConceptDTO](docs/SelectionConceptDTO.md) + - [SelectionConceptListDTO](docs/SelectionConceptListDTO.md) + - [SelectionConceptsDTO](docs/SelectionConceptsDTO.md) + - [Status](docs/Status.md) + - [TagMapElementDTO](docs/TagMapElementDTO.md) + - [ValidityRangeDTO](docs/ValidityRangeDTO.md) + + + +## Documentation For Authorization + + +Authentication schemes defined for the API: + +### ApiKeyAuth + +- **Type**: API key +- **API key parameter name**: apikey +- **Location**: HTTP header + + +### BearerAuth + +- **Type**: Bearer authentication + + +### CookieAuth + +- **Type**: API key +- **API key parameter name**: VisierASIDToken +- **Location**: + + +### OAuth2Auth + +- **Type**: OAuth +- **Flow**: password +- **Authorization URL**: +- **Scopes**: + - **read**: Grants read access + - **write**: Grants write access + + +### OAuth2Auth + +- **Type**: OAuth +- **Flow**: accessCode +- **Authorization URL**: /v1/auth/oauth2/authorize +- **Scopes**: + - **read**: Grants read access + - **write**: Grants write access + + +## Author + + + + diff --git a/src/visier.sdk.api.analytic_model/docs/AggregationTypeOptionDTO.md b/src/visier.sdk.api.analytic_model/docs/AggregationTypeOptionDTO.md new file mode 100644 index 000000000..5abc04fc5 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/AggregationTypeOptionDTO.md @@ -0,0 +1,34 @@ +# AggregationTypeOptionDTO + +The definition of an aggregation option. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**aggregation_function** | **str** | The aggregation function of the parameter option. | [optional] +**display_name** | **str** | The localized display name of the parameter option. | [optional] +**id** | **str** | The unique ID of the parameter option. | [optional] +**is_default** | **bool** | `true` if the parameter option is the default one and `false` otherwise. | [optional] +**property_name** | **str** | The property name of the parameter option. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.aggregation_type_option_dto import AggregationTypeOptionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AggregationTypeOptionDTO from a JSON string +aggregation_type_option_dto_instance = AggregationTypeOptionDTO.from_json(json) +# print the JSON string representation of the object +print(AggregationTypeOptionDTO.to_json()) + +# convert the object into a dict +aggregation_type_option_dto_dict = aggregation_type_option_dto_instance.to_dict() +# create an instance of AggregationTypeOptionDTO from a dict +aggregation_type_option_dto_from_dict = AggregationTypeOptionDTO.from_dict(aggregation_type_option_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/AggregationTypeParameterDTO.md b/src/visier.sdk.api.analytic_model/docs/AggregationTypeParameterDTO.md new file mode 100644 index 000000000..245e67cd8 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/AggregationTypeParameterDTO.md @@ -0,0 +1,33 @@ +# AggregationTypeParameterDTO + +The definition of an aggregation parameter. These parameters resolve metrics that use aggregation parameters. For example, Visier Benchmarks metrics often use aggregation parameters to enable callers to aggregate metric values according to their average or different percentiles. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | The localized description of the parameter. | [optional] +**display_name** | **str** | The localized display name of the parameter. | [optional] +**id** | **str** | The unique ID of the parameter. | [optional] +**parameter_options** | [**List[AggregationTypeOptionDTO]**](AggregationTypeOptionDTO.md) | The options defined for the parameter. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.aggregation_type_parameter_dto import AggregationTypeParameterDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AggregationTypeParameterDTO from a JSON string +aggregation_type_parameter_dto_instance = AggregationTypeParameterDTO.from_json(json) +# print the JSON string representation of the object +print(AggregationTypeParameterDTO.to_json()) + +# convert the object into a dict +aggregation_type_parameter_dto_dict = aggregation_type_parameter_dto_instance.to_dict() +# create an instance of AggregationTypeParameterDTO from a dict +aggregation_type_parameter_dto_from_dict = AggregationTypeParameterDTO.from_dict(aggregation_type_parameter_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/AnalyticObjectDTO.md b/src/visier.sdk.api.analytic_model/docs/AnalyticObjectDTO.md new file mode 100644 index 000000000..246289cb1 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/AnalyticObjectDTO.md @@ -0,0 +1,40 @@ +# AnalyticObjectDTO + +Analytic objects are the various items that users can analyze in Visier. Analytic objects include subjects, events, and overlays. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_end_date** | **str** | The date from which data is no longer available for this analytic object. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers. | [optional] +**data_start_date** | **str** | The date from which data becomes available for this analytic object. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers. | [optional] +**description** | **str** | The localized description of the analytic object. | [optional] +**dimension_ids** | **List[str]** | A list of strings representing IDs of the dimensions that belong to this analytic object. | [optional] +**display_name** | **str** | The localized display name of the analytic object. | [optional] +**id** | **str** | The unique ID of the analytic object. Note: See `AnalyticObjects` to get the ID. | [optional] +**object_references** | [**List[ObjectReferenceDTO]**](ObjectReferenceDTO.md) | A list of references from this analytic object to other analytic objects. Note: If there are no references, this field is omitted. | [optional] +**population_configuration** | [**PopulationConfigurationDTO**](PopulationConfigurationDTO.md) | A set of property and dimension references configured by Visier or an administrator to tell the platform what properties and dimensions to use when doing population insight calculations. These are the distinguishing properties, change history properties, and grouping dimensions to use in AI insights. This field is optional and is only available for subjects. | [optional] +**property_ids** | **List[str]** | A list of strings representing IDs of the properties that belong to this analytic object. | [optional] +**selection_concept_ids** | **List[str]** | A list of strings representing IDs of the selection concepts that belong to this analytic object. Note: If there are no selection concepts, this field is omitted. | [optional] +**type** | **str** | The analytic object type: SUBJECT, EVENT, or OVERLAY. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.analytic_object_dto import AnalyticObjectDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AnalyticObjectDTO from a JSON string +analytic_object_dto_instance = AnalyticObjectDTO.from_json(json) +# print the JSON string representation of the object +print(AnalyticObjectDTO.to_json()) + +# convert the object into a dict +analytic_object_dto_dict = analytic_object_dto_instance.to_dict() +# create an instance of AnalyticObjectDTO from a dict +analytic_object_dto_from_dict = AnalyticObjectDTO.from_dict(analytic_object_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/AnalyticObjectFilterDTO.md b/src/visier.sdk.api.analytic_model/docs/AnalyticObjectFilterDTO.md new file mode 100644 index 000000000..de72495b6 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/AnalyticObjectFilterDTO.md @@ -0,0 +1,31 @@ +# AnalyticObjectFilterDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_object_uuid** | **str** | The UUID of the analytic object used in the selection concept. | [optional] +**dimensions** | [**List[DimensionFilterDTO]**](DimensionFilterDTO.md) | A list of dimensions included in the concept. | [optional] +**symbol_name** | **str** | The symbol name of the analytic object. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.analytic_object_filter_dto import AnalyticObjectFilterDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AnalyticObjectFilterDTO from a JSON string +analytic_object_filter_dto_instance = AnalyticObjectFilterDTO.from_json(json) +# print the JSON string representation of the object +print(AnalyticObjectFilterDTO.to_json()) + +# convert the object into a dict +analytic_object_filter_dto_dict = analytic_object_filter_dto_instance.to_dict() +# create an instance of AnalyticObjectFilterDTO from a dict +analytic_object_filter_dto_from_dict = AnalyticObjectFilterDTO.from_dict(analytic_object_filter_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/AnalyticObjectsDTO.md b/src/visier.sdk.api.analytic_model/docs/AnalyticObjectsDTO.md new file mode 100644 index 000000000..d10d2adda --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/AnalyticObjectsDTO.md @@ -0,0 +1,30 @@ +# AnalyticObjectsDTO + +A collection of analytic objects + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_objects** | [**List[AnalyticObjectDTO]**](AnalyticObjectDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.analytic_objects_dto import AnalyticObjectsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AnalyticObjectsDTO from a JSON string +analytic_objects_dto_instance = AnalyticObjectsDTO.from_json(json) +# print the JSON string representation of the object +print(AnalyticObjectsDTO.to_json()) + +# convert the object into a dict +analytic_objects_dto_dict = analytic_objects_dto_instance.to_dict() +# create an instance of AnalyticObjectsDTO from a dict +analytic_objects_dto_from_dict = AnalyticObjectsDTO.from_dict(analytic_objects_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/CalculationConceptConfigurationDTO.md b/src/visier.sdk.api.analytic_model/docs/CalculationConceptConfigurationDTO.md new file mode 100644 index 000000000..7f6842db5 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/CalculationConceptConfigurationDTO.md @@ -0,0 +1,29 @@ +# CalculationConceptConfigurationDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**perspectives** | [**List[PerspectiveConfigurationDTO]**](PerspectiveConfigurationDTO.md) | A list of objects representing the perspectives in the calculation concept. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.calculation_concept_configuration_dto import CalculationConceptConfigurationDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CalculationConceptConfigurationDTO from a JSON string +calculation_concept_configuration_dto_instance = CalculationConceptConfigurationDTO.from_json(json) +# print the JSON string representation of the object +print(CalculationConceptConfigurationDTO.to_json()) + +# convert the object into a dict +calculation_concept_configuration_dto_dict = calculation_concept_configuration_dto_instance.to_dict() +# create an instance of CalculationConceptConfigurationDTO from a dict +calculation_concept_configuration_dto_from_dict = CalculationConceptConfigurationDTO.from_dict(calculation_concept_configuration_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/CalculationConceptConfigurationMapDTO.md b/src/visier.sdk.api.analytic_model/docs/CalculationConceptConfigurationMapDTO.md new file mode 100644 index 000000000..1020c37b5 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/CalculationConceptConfigurationMapDTO.md @@ -0,0 +1,30 @@ +# CalculationConceptConfigurationMapDTO + +The configuration to apply to the concept. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**perspectives_to_map** | [**List[PerspectiveConfigurationDTO]**](PerspectiveConfigurationDTO.md) | A list of objects representing the list of perspectives in the calculation concept. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.calculation_concept_configuration_map_dto import CalculationConceptConfigurationMapDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CalculationConceptConfigurationMapDTO from a JSON string +calculation_concept_configuration_map_dto_instance = CalculationConceptConfigurationMapDTO.from_json(json) +# print the JSON string representation of the object +print(CalculationConceptConfigurationMapDTO.to_json()) + +# convert the object into a dict +calculation_concept_configuration_map_dto_dict = calculation_concept_configuration_map_dto_instance.to_dict() +# create an instance of CalculationConceptConfigurationMapDTO from a dict +calculation_concept_configuration_map_dto_from_dict = CalculationConceptConfigurationMapDTO.from_dict(calculation_concept_configuration_map_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/CalculationConceptDTO.md b/src/visier.sdk.api.analytic_model/docs/CalculationConceptDTO.md new file mode 100644 index 000000000..8cc8421c3 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/CalculationConceptDTO.md @@ -0,0 +1,31 @@ +# CalculationConceptDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**configuration** | [**CalculationConceptConfigurationDTO**](CalculationConceptConfigurationDTO.md) | A list of objects representing the configuration for the calculation concept. | [optional] +**name** | **str** | The display name of the calculation concept. | [optional] +**uuid** | **str** | The unique identifier associated with the calculation concept. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.calculation_concept_dto import CalculationConceptDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CalculationConceptDTO from a JSON string +calculation_concept_dto_instance = CalculationConceptDTO.from_json(json) +# print the JSON string representation of the object +print(CalculationConceptDTO.to_json()) + +# convert the object into a dict +calculation_concept_dto_dict = calculation_concept_dto_instance.to_dict() +# create an instance of CalculationConceptDTO from a dict +calculation_concept_dto_from_dict = CalculationConceptDTO.from_dict(calculation_concept_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/CalculationConceptListDTO.md b/src/visier.sdk.api.analytic_model/docs/CalculationConceptListDTO.md new file mode 100644 index 000000000..3920fe23b --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/CalculationConceptListDTO.md @@ -0,0 +1,29 @@ +# CalculationConceptListDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**concepts** | [**List[CalculationConceptDTO]**](CalculationConceptDTO.md) | A list of objects representing calculation concepts. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.calculation_concept_list_dto import CalculationConceptListDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CalculationConceptListDTO from a JSON string +calculation_concept_list_dto_instance = CalculationConceptListDTO.from_json(json) +# print the JSON string representation of the object +print(CalculationConceptListDTO.to_json()) + +# convert the object into a dict +calculation_concept_list_dto_dict = calculation_concept_list_dto_instance.to_dict() +# create an instance of CalculationConceptListDTO from a dict +calculation_concept_list_dto_from_dict = CalculationConceptListDTO.from_dict(calculation_concept_list_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/ConceptConfigurationResultDTO.md b/src/visier.sdk.api.analytic_model/docs/ConceptConfigurationResultDTO.md new file mode 100644 index 000000000..779412fff --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/ConceptConfigurationResultDTO.md @@ -0,0 +1,31 @@ +# ConceptConfigurationResultDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**concept_id** | **str** | The unique identifier of the configured concept. | [optional] +**message** | **str** | A meaningful message about the API result. | [optional] +**project_id** | **str** | The unique identifier of the system-generated project. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.concept_configuration_result_dto import ConceptConfigurationResultDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ConceptConfigurationResultDTO from a JSON string +concept_configuration_result_dto_instance = ConceptConfigurationResultDTO.from_json(json) +# print the JSON string representation of the object +print(ConceptConfigurationResultDTO.to_json()) + +# convert the object into a dict +concept_configuration_result_dto_dict = concept_configuration_result_dto_instance.to_dict() +# create an instance of ConceptConfigurationResultDTO from a dict +concept_configuration_result_dto_from_dict = ConceptConfigurationResultDTO.from_dict(concept_configuration_result_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/CurrenciesDTO.md b/src/visier.sdk.api.analytic_model/docs/CurrenciesDTO.md new file mode 100644 index 000000000..4a0c8ea5e --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/CurrenciesDTO.md @@ -0,0 +1,30 @@ +# CurrenciesDTO + +A collection of currencies. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**currencies** | [**List[CurrencyDTO]**](CurrencyDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.currencies_dto import CurrenciesDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CurrenciesDTO from a JSON string +currencies_dto_instance = CurrenciesDTO.from_json(json) +# print the JSON string representation of the object +print(CurrenciesDTO.to_json()) + +# convert the object into a dict +currencies_dto_dict = currencies_dto_instance.to_dict() +# create an instance of CurrenciesDTO from a dict +currencies_dto_from_dict = CurrenciesDTO.from_dict(currencies_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/CurrencyDTO.md b/src/visier.sdk.api.analytic_model/docs/CurrencyDTO.md new file mode 100644 index 000000000..52e1fa519 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/CurrencyDTO.md @@ -0,0 +1,33 @@ +# CurrencyDTO + +Information about a currency type. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**currency_code** | **str** | The ISO 4217 3-letter code for the currency. | [optional] +**display_name** | **str** | The display name for the currency. | [optional] +**short_symbol** | **str** | The shortened symbol name for the currency. Removes all alphabetic characters. If **symbol** only has alphabetic characters, **shortSymbol** is empty. If **symbol** contains only non-alphabetic characters, **shortSymbol** is the same as **symbol**. For example, if **symbol** is CA$, **shortSymbol** is $. If **symbol** is $, then **shortSymbol** is $. | [optional] +**symbol** | **str** | The symbol name for the currency. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.currency_dto import CurrencyDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CurrencyDTO from a JSON string +currency_dto_instance = CurrencyDTO.from_json(json) +# print the JSON string representation of the object +print(CurrencyDTO.to_json()) + +# convert the object into a dict +currency_dto_dict = currency_dto_instance.to_dict() +# create an instance of CurrencyDTO from a dict +currency_dto_from_dict = CurrencyDTO.from_dict(currency_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/CurrencyRateDTO.md b/src/visier.sdk.api.analytic_model/docs/CurrencyRateDTO.md new file mode 100644 index 000000000..36dfc716c --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/CurrencyRateDTO.md @@ -0,0 +1,34 @@ +# CurrencyRateDTO + +Information about a currency exchange rate. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**end_time** | **str** | The latest time instant to retrieve exchange rates from. **Note:** Format is the number of milliseconds since Jan 1, 1970 12:00 AM UTC. | [optional] +**from_currency_code** | **str** | The currency to convert **from**. **Note:** If USD is the `fromCurrencyCode`, you are retrieving the exchange rates from USD to a different currency. | [optional] +**rate** | **float** | The numeric value of the exchange rate. **Note:** If **decimals** is specified, rate rounds to that value. If **decimals** is undefined, **rate** rounds to 2 significant figures after the decimal point. | [optional] +**start_time** | **str** | The earliest time instant to retrieve exchange rates from. **Note:** Format is the number of milliseconds since Jan 1, 1970 12:00 AM UTC. | [optional] +**to_currency_code** | **str** | The currency to convert **to**. **Note:** If USD is the `toCurrencyCode`, you are retrieving the exchange rates from a different currency to USD. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.currency_rate_dto import CurrencyRateDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CurrencyRateDTO from a JSON string +currency_rate_dto_instance = CurrencyRateDTO.from_json(json) +# print the JSON string representation of the object +print(CurrencyRateDTO.to_json()) + +# convert the object into a dict +currency_rate_dto_dict = currency_rate_dto_instance.to_dict() +# create an instance of CurrencyRateDTO from a dict +currency_rate_dto_from_dict = CurrencyRateDTO.from_dict(currency_rate_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/CurrencyRatesDTO.md b/src/visier.sdk.api.analytic_model/docs/CurrencyRatesDTO.md new file mode 100644 index 000000000..226cf6b45 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/CurrencyRatesDTO.md @@ -0,0 +1,30 @@ +# CurrencyRatesDTO + +A collection of currency exchange rates. Note: Currencies may have different exchange rates in different time intervals, depending what rate data is stored in Visier. For example, USD:CAD can be 1.2 between January 1 - March 1, while USD:EUR can be 0.92 between January 1 - February 1, but 0.88 between February 1 - March 1. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**currency_rates** | [**List[CurrencyRateDTO]**](CurrencyRateDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.currency_rates_dto import CurrencyRatesDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CurrencyRatesDTO from a JSON string +currency_rates_dto_instance = CurrencyRatesDTO.from_json(json) +# print the JSON string representation of the object +print(CurrencyRatesDTO.to_json()) + +# convert the object into a dict +currency_rates_dto_dict = currency_rates_dto_instance.to_dict() +# create an instance of CurrencyRatesDTO from a dict +currency_rates_dto_from_dict = CurrencyRatesDTO.from_dict(currency_rates_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/DataModelApi.md b/src/visier.sdk.api.analytic_model/docs/DataModelApi.md new file mode 100644 index 000000000..c2c43bba4 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/DataModelApi.md @@ -0,0 +1,2769 @@ +# visier.sdk.api.analytic_model.DataModelApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**analytic_metrics**](DataModelApi.md#analytic_metrics) | **GET** /v1/data/model/analytic-objects/{id}/metrics | Retrieve a list of metrics for an analytic object by ID +[**analytic_object**](DataModelApi.md#analytic_object) | **GET** /v1/data/model/analytic-objects/{id} | Retrieve an analytic object by ID +[**analytic_objects**](DataModelApi.md#analytic_objects) | **GET** /v1/data/model/analytic-objects | Retrieve a list of analytic objects +[**call_property**](DataModelApi.md#call_property) | **GET** /v1/data/model/analytic-objects/{objectId}/properties/{id} | Retrieve a property by ID +[**currencies**](DataModelApi.md#currencies) | **GET** /v1/data/model/currencies | Retrieve all currencies +[**currency**](DataModelApi.md#currency) | **GET** /v1/data/model/currencies/{id} | Retrieve a currency +[**currency_rates**](DataModelApi.md#currency_rates) | **GET** /v1/data/model/currencies/{id}/rates | Retrieve all exchange rates for a currency +[**currency_rates_with_to_currency**](DataModelApi.md#currency_rates_with_to_currency) | **GET** /v1/data/model/currencies/{id}/rates/{toId} | Retrieve exchange rates from one currency to another currency +[**dimension**](DataModelApi.md#dimension) | **GET** /v1/data/model/analytic-objects/{objectId}/dimensions/{id} | Retrieve a dimension by ID +[**dimension_member_map_validation**](DataModelApi.md#dimension_member_map_validation) | **POST** /v1/data/model/analytic-objects/{objectId}/dimensions/{dimensionId}/mappings/validate | Validate a member map's unmapped dimension members by ID +[**dimensions**](DataModelApi.md#dimensions) | **GET** /v1/data/model/analytic-objects/{objectId}/dimensions | Retrieve a list of dimensions +[**member**](DataModelApi.md#member) | **GET** /v1/data/model/analytic-objects/{objectId}/dimensions/{dimensionId}/members/{id} | Retrieve a dimension member +[**members**](DataModelApi.md#members) | **GET** /v1/data/model/analytic-objects/{objectId}/dimensions/{dimensionId}/members | Retrieve a list of dimension members +[**metric**](DataModelApi.md#metric) | **GET** /v1/data/model/metrics/{id} | Retrieve a metric by ID +[**metric_dimensions**](DataModelApi.md#metric_dimensions) | **GET** /v1/data/model/metrics/{metricId}/dimensions | Retrieve a metric's dimensions +[**metric_selection_concepts**](DataModelApi.md#metric_selection_concepts) | **GET** /v1/data/model/metrics/{metricId}/selection-concepts | Retrieve a metric's selection concepts +[**metrics**](DataModelApi.md#metrics) | **GET** /v1/data/model/metrics | Retrieve a list of metrics +[**planning_metrics**](DataModelApi.md#planning_metrics) | **GET** /v1/data/model/plan-models/{id}/metrics | Retrieve metrics by planning model ID +[**planning_model**](DataModelApi.md#planning_model) | **GET** /v1/data/model/plan-models/{id} | Retrieve a planning model by ID +[**planning_models**](DataModelApi.md#planning_models) | **GET** /v1/data/model/plan-models | Retrieve a list of planning models +[**planning_plan**](DataModelApi.md#planning_plan) | **GET** /v1/data/model/plan-models/{modelId}/plans/{id} | Retrieve a plan by ID +[**planning_plans**](DataModelApi.md#planning_plans) | **GET** /v1/data/model/plan-models/{modelId}/plans | Retrieve a list of plans +[**prediction**](DataModelApi.md#prediction) | **GET** /v1/data/model/predictions/{id} | Retrieve a prediction by ID +[**predictions**](DataModelApi.md#predictions) | **GET** /v1/data/model/predictions | Retrieve a list of predictions +[**properties**](DataModelApi.md#properties) | **GET** /v1/data/model/analytic-objects/{objectId}/properties | Retrieve a list of properties +[**selection_concept**](DataModelApi.md#selection_concept) | **GET** /v1/data/model/analytic-objects/{objectId}/selection-concepts/{id} | Retrieve an analytic object's selection concept by ID +[**selection_concepts**](DataModelApi.md#selection_concepts) | **GET** /v1/data/model/analytic-objects/{objectId}/selection-concepts | Retrieve an analytic object's selection concepts + + +# **analytic_metrics** +> MetricsDTO analytic_metrics(id) + +Retrieve a list of metrics for an analytic object by ID + +If you know the ID of an analytic object, use this API to retrieve metrics for that object specifically. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.metrics_dto import MetricsDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = 'id_example' # str | The ID of the analytic object to retrieve metrics for. + + try: + # Retrieve a list of metrics for an analytic object by ID + api_response = api_instance.analytic_metrics(id) + print("The response of DataModelApi->analytic_metrics:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->analytic_metrics: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The ID of the analytic object to retrieve metrics for. | + +### Return type + +[**MetricsDTO**](MetricsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **analytic_object** +> AnalyticObjectDTO analytic_object(id) + +Retrieve an analytic object by ID + +If you know the ID of an analytic object, use this API to retrieve that object specifically. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.analytic_object_dto import AnalyticObjectDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = 'id_example' # str | The ID of the analytic object to retrieve. + + try: + # Retrieve an analytic object by ID + api_response = api_instance.analytic_object(id) + print("The response of DataModelApi->analytic_object:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->analytic_object: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The ID of the analytic object to retrieve. | + +### Return type + +[**AnalyticObjectDTO**](AnalyticObjectDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **analytic_objects** +> AnalyticObjectsDTO analytic_objects(id=id, object_type=object_type) + +Retrieve a list of analytic objects + +Retrieve all the analytic objects in your Visier solution. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.analytic_objects_dto import AnalyticObjectsDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = ['id_example'] # List[str] | The IDs of the analytic objects to retrieve. Default is all analytic objects. (optional) + object_type = 'object_type_example' # str | The object type to filter the returned analytic objects by. (optional) + + try: + # Retrieve a list of analytic objects + api_response = api_instance.analytic_objects(id=id, object_type=object_type) + print("The response of DataModelApi->analytic_objects:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->analytic_objects: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | [**List[str]**](str.md)| The IDs of the analytic objects to retrieve. Default is all analytic objects. | [optional] + **object_type** | **str**| The object type to filter the returned analytic objects by. | [optional] + +### Return type + +[**AnalyticObjectsDTO**](AnalyticObjectsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **call_property** +> PropertyDTO call_property(object_id, id) + +Retrieve a property by ID + +If you know the ID of a property, use this API to retrieve that property specifically. You must also know the analytic object's ID.. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.property_dto import PropertyDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + object_id = 'object_id_example' # str | The ID of the analytic object to retrieve. + id = ['id_example'] # List[str] | The ID of the property to retrieve. + + try: + # Retrieve a property by ID + api_response = api_instance.call_property(object_id, id) + print("The response of DataModelApi->call_property:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->call_property: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **object_id** | **str**| The ID of the analytic object to retrieve. | + **id** | [**List[str]**](str.md)| The ID of the property to retrieve. | + +### Return type + +[**PropertyDTO**](PropertyDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **currencies** +> CurrenciesDTO currencies() + +Retrieve all currencies + +Retrieve all the available currencies in your Visier solution. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.currencies_dto import CurrenciesDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + + try: + # Retrieve all currencies + api_response = api_instance.currencies() + print("The response of DataModelApi->currencies:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->currencies: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**CurrenciesDTO**](CurrenciesDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **currency** +> CurrencyDTO currency(id) + +Retrieve a currency + +Retrieve a specific currency if you know the currency code. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.currency_dto import CurrencyDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = 'id_example' # str | The ISO 4217 3-letter code for the currency. + + try: + # Retrieve a currency + api_response = api_instance.currency(id) + print("The response of DataModelApi->currency:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->currency: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The ISO 4217 3-letter code for the currency. | + +### Return type + +[**CurrencyDTO**](CurrencyDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **currency_rates** +> CurrencyRatesDTO currency_rates(id, start_time=start_time, end_time=end_time, decimals=decimals) + +Retrieve all exchange rates for a currency + +Retrieve exchange rates for a specific currency from Visier. You can optionally specify query parameter options for the returned rates, such as the number of decimals to round the exchange rate to. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.currency_rates_dto import CurrencyRatesDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = 'id_example' # str | The ISO 4217 3-letter code for the currency to get rates for. + start_time = 'start_time_example' # str | The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds. (optional) + end_time = 'end_time_example' # str | The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds. (optional) + decimals = 'decimals_example' # str | The number of decimals to round exchange rates to. Default is to round to 2 decimal places. (optional) + + try: + # Retrieve all exchange rates for a currency + api_response = api_instance.currency_rates(id, start_time=start_time, end_time=end_time, decimals=decimals) + print("The response of DataModelApi->currency_rates:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->currency_rates: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The ISO 4217 3-letter code for the currency to get rates for. | + **start_time** | **str**| The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds. | [optional] + **end_time** | **str**| The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds. | [optional] + **decimals** | **str**| The number of decimals to round exchange rates to. Default is to round to 2 decimal places. | [optional] + +### Return type + +[**CurrencyRatesDTO**](CurrencyRatesDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **currency_rates_with_to_currency** +> CurrencyRatesDTO currency_rates_with_to_currency(id, to_id, start_time=start_time, end_time=end_time, decimals=decimals) + +Retrieve exchange rates from one currency to another currency + +Retrieve exchange rates from a specific currency to another specific currency. You can optionally specify query parameter options for the returned rates, such as the number of decimals to round the exchange rate to. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.currency_rates_dto import CurrencyRatesDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = 'id_example' # str | The ISO 4217 3-letter code for the currency to convert from. + to_id = 'to_id_example' # str | The ISO 4217 3-letter code for the currency to convert to. + start_time = 'start_time_example' # str | The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds. (optional) + end_time = 'end_time_example' # str | The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds. (optional) + decimals = 'decimals_example' # str | The number of decimals to round exchange rates to. Default is to round to 2 decimal places. (optional) + + try: + # Retrieve exchange rates from one currency to another currency + api_response = api_instance.currency_rates_with_to_currency(id, to_id, start_time=start_time, end_time=end_time, decimals=decimals) + print("The response of DataModelApi->currency_rates_with_to_currency:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->currency_rates_with_to_currency: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The ISO 4217 3-letter code for the currency to convert from. | + **to_id** | **str**| The ISO 4217 3-letter code for the currency to convert to. | + **start_time** | **str**| The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds. | [optional] + **end_time** | **str**| The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds. | [optional] + **decimals** | **str**| The number of decimals to round exchange rates to. Default is to round to 2 decimal places. | [optional] + +### Return type + +[**CurrencyRatesDTO**](CurrencyRatesDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **dimension** +> DimensionDTO dimension(object_id, id) + +Retrieve a dimension by ID + +If you know the ID of a dimension, use this API to retrieve that dimension specifically. You must also know the analytic object's ID. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.dimension_dto import DimensionDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + object_id = 'object_id_example' # str | The ID of the analytic object to retrieve. + id = 'id_example' # str | The ID of the dimension to retrieve. + + try: + # Retrieve a dimension by ID + api_response = api_instance.dimension(object_id, id) + print("The response of DataModelApi->dimension:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->dimension: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **object_id** | **str**| The ID of the analytic object to retrieve. | + **id** | **str**| The ID of the dimension to retrieve. | + +### Return type + +[**DimensionDTO**](DimensionDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **dimension_member_map_validation** +> DimensionMappingValidationDTO dimension_member_map_validation(object_id, dimension_id, dimension_mapping_validation_execution_dto) + +Validate a member map's unmapped dimension members by ID + +If you know the ID of a member map, use this API to validate one of the member map's dimensions. You must also know the dimension's ID and the analytic object's ID. The response returns the member map ID, the requested dimension ID, a list of the dimension's unmapped members, and a list of errors found. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.dimension_mapping_validation_dto import DimensionMappingValidationDTO +from visier.sdk.api.analytic_model.models.dimension_mapping_validation_execution_dto import DimensionMappingValidationExecutionDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + object_id = 'object_id_example' # str | The ID of the analytic object. + dimension_id = 'dimension_id_example' # str | The ID of a dimension of the member map. + dimension_mapping_validation_execution_dto = visier.sdk.api.analytic_model.DimensionMappingValidationExecutionDTO() # DimensionMappingValidationExecutionDTO | + + try: + # Validate a member map's unmapped dimension members by ID + api_response = api_instance.dimension_member_map_validation(object_id, dimension_id, dimension_mapping_validation_execution_dto) + print("The response of DataModelApi->dimension_member_map_validation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->dimension_member_map_validation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **object_id** | **str**| The ID of the analytic object. | + **dimension_id** | **str**| The ID of a dimension of the member map. | + **dimension_mapping_validation_execution_dto** | [**DimensionMappingValidationExecutionDTO**](DimensionMappingValidationExecutionDTO.md)| | + +### Return type + +[**DimensionMappingValidationDTO**](DimensionMappingValidationDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **dimensions** +> DimensionsDTO dimensions(object_id, id=id) + +Retrieve a list of dimensions + +Retrieve a list of dimensions for a specific analytic object. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.dimensions_dto import DimensionsDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + object_id = 'object_id_example' # str | The ID of the analytic object to retrieve. + id = ['id_example'] # List[str] | The IDs of the dimensions to retrieve. Default is all dimensions. (optional) + + try: + # Retrieve a list of dimensions + api_response = api_instance.dimensions(object_id, id=id) + print("The response of DataModelApi->dimensions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->dimensions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **object_id** | **str**| The ID of the analytic object to retrieve. | + **id** | [**List[str]**](str.md)| The IDs of the dimensions to retrieve. Default is all dimensions. | [optional] + +### Return type + +[**DimensionsDTO**](DimensionsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **member** +> MembersDTO member(object_id, dimension_id, id, id2=id2) + +Retrieve a dimension member + +If you know the ID of a dimension member, use this API to retrieve that dimension member specifically. You must also know the dimension's ID and the analytic object's ID. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.members_dto import MembersDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + object_id = 'object_id_example' # str | The ID of the analytic object. + dimension_id = 'dimension_id_example' # str | The ID of the dimension. + id = 'id_example' # str | + id2 = 'id_example' # str | The ID of the member to retrieve. (optional) + + try: + # Retrieve a dimension member + api_response = api_instance.member(object_id, dimension_id, id, id2=id2) + print("The response of DataModelApi->member:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->member: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **object_id** | **str**| The ID of the analytic object. | + **dimension_id** | **str**| The ID of the dimension. | + **id** | **str**| | + **id2** | **str**| The ID of the member to retrieve. | [optional] + +### Return type + +[**MembersDTO**](MembersDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **members** +> MembersDTO members(object_id, dimension_id, id=id, max_level=max_level, filter=filter, var_field=var_field, include_data_members=include_data_members, offset=offset, limit=limit) + +Retrieve a list of dimension members + +If you know the ID of a dimension, use this API to retrieve the members of that dimension specifically. You must also know the analytic object's ID. Dimension members exist in a hierarchy. The levels in the hierarchy may be fixed or non-uniform. Leveled dimensions have fixed hierarchies, while parent-child dimensions have non-uniform levels. When you retrieve dimension members with this API, the response returns the level of the dimension and the path to get to that level. For example, in a Location dimension, Vancouver is 3 levels deep: - All > Canada > British Columbia > Vancouver Parent-child hierarchies are non-uniform and exhibit distinct characteristics such as time dependence and data attributes. These traits reflect the dynamic nature of hierarchies, for example, organizational hierarchies. The API response includes elements that express the validity ranges for retrieved members. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.members_dto import MembersDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + object_id = 'object_id_example' # str | The ID of the analytic object. + dimension_id = 'dimension_id_example' # str | The ID of the dimension. + id = ['id_example'] # List[str] | The IDs of the members to retrieve. Default is all members. (optional) + max_level = 56 # int | The maximum level in the hierarchy to fetch. The top level of the hierarchy is 0. Default is all levels. (optional) + filter = 'filter_example' # str | A regular expression that members must match to be retrieved. Default is to retrieve all members. (optional) + var_field = 'var_field_example' # str | Indicates the aspect of the member to apply the filter to. Possible values are: - **id**: Match the filter to the member ID. - **display**: Match the filter to the member's display name. - **either**: Match the filter to the member ID or display name. Default is `id`. (optional) + include_data_members = True # bool | Indicates whether data members are included in the response. Parent-child dimensions only. Default is `false`. (optional) + offset = 56 # int | For paginated member requests against high-cardinality dimensions, the offset of the first member to retrieve. Default is 0. If the `offset` value is specified to a non-default value, all other non-pagination parameters are ignored. (optional) + limit = 56 # int | For paginated member requests against high-cardinality dimensions, the maximum number of members to retrieve. Default is -1, meaning no limit. If the `limit` value is specified to a non-default value, all other non-pagination parameters are ignored. (optional) + + try: + # Retrieve a list of dimension members + api_response = api_instance.members(object_id, dimension_id, id=id, max_level=max_level, filter=filter, var_field=var_field, include_data_members=include_data_members, offset=offset, limit=limit) + print("The response of DataModelApi->members:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->members: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **object_id** | **str**| The ID of the analytic object. | + **dimension_id** | **str**| The ID of the dimension. | + **id** | [**List[str]**](str.md)| The IDs of the members to retrieve. Default is all members. | [optional] + **max_level** | **int**| The maximum level in the hierarchy to fetch. The top level of the hierarchy is 0. Default is all levels. | [optional] + **filter** | **str**| A regular expression that members must match to be retrieved. Default is to retrieve all members. | [optional] + **var_field** | **str**| Indicates the aspect of the member to apply the filter to. Possible values are: - **id**: Match the filter to the member ID. - **display**: Match the filter to the member's display name. - **either**: Match the filter to the member ID or display name. Default is `id`. | [optional] + **include_data_members** | **bool**| Indicates whether data members are included in the response. Parent-child dimensions only. Default is `false`. | [optional] + **offset** | **int**| For paginated member requests against high-cardinality dimensions, the offset of the first member to retrieve. Default is 0. If the `offset` value is specified to a non-default value, all other non-pagination parameters are ignored. | [optional] + **limit** | **int**| For paginated member requests against high-cardinality dimensions, the maximum number of members to retrieve. Default is -1, meaning no limit. If the `limit` value is specified to a non-default value, all other non-pagination parameters are ignored. | [optional] + +### Return type + +[**MembersDTO**](MembersDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **metric** +> MetricDTO metric(id) + +Retrieve a metric by ID + +If you know the ID of a metric, use this API to retrieve that metric specifically. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.metric_dto import MetricDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = 'id_example' # str | The ID of the metric to retrieve. + + try: + # Retrieve a metric by ID + api_response = api_instance.metric(id) + print("The response of DataModelApi->metric:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->metric: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The ID of the metric to retrieve. | + +### Return type + +[**MetricDTO**](MetricDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **metric_dimensions** +> DimensionsDTO metric_dimensions(metric_id, id=id) + +Retrieve a metric's dimensions + +Retrieve a list of dimensions for a specific metric. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.dimensions_dto import DimensionsDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + metric_id = 'metric_id_example' # str | The ID of the metric to retrieve. + id = ['id_example'] # List[str] | The IDs of the dimensions to retrieve. Default is all dimensions. (optional) + + try: + # Retrieve a metric's dimensions + api_response = api_instance.metric_dimensions(metric_id, id=id) + print("The response of DataModelApi->metric_dimensions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->metric_dimensions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **metric_id** | **str**| The ID of the metric to retrieve. | + **id** | [**List[str]**](str.md)| The IDs of the dimensions to retrieve. Default is all dimensions. | [optional] + +### Return type + +[**DimensionsDTO**](DimensionsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **metric_selection_concepts** +> SelectionConceptsDTO metric_selection_concepts(metric_id, id=id) + +Retrieve a metric's selection concepts + +Retrieve a list of selection concepts for a specific metric. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.selection_concepts_dto import SelectionConceptsDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + metric_id = 'metric_id_example' # str | The ID of the metric to retrieve. + id = ['id_example'] # List[str] | The IDs of the selection concepts to retrieve. Default is all selection concepts. (optional) + + try: + # Retrieve a metric's selection concepts + api_response = api_instance.metric_selection_concepts(metric_id, id=id) + print("The response of DataModelApi->metric_selection_concepts:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->metric_selection_concepts: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **metric_id** | **str**| The ID of the metric to retrieve. | + **id** | [**List[str]**](str.md)| The IDs of the selection concepts to retrieve. Default is all selection concepts. | [optional] + +### Return type + +[**SelectionConceptsDTO**](SelectionConceptsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **metrics** +> MetricsDTO metrics(id=id, category=category) + +Retrieve a list of metrics + +Retrieve all the metrics in your Visier solution. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.metrics_dto import MetricsDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = ['id_example'] # List[str] | The IDs of the metrics to retrieve. Default is all metrics. (optional) + category = 'category_example' # str | The category to filter the returned metrics by. (optional) + + try: + # Retrieve a list of metrics + api_response = api_instance.metrics(id=id, category=category) + print("The response of DataModelApi->metrics:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->metrics: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | [**List[str]**](str.md)| The IDs of the metrics to retrieve. Default is all metrics. | [optional] + **category** | **str**| The category to filter the returned metrics by. | [optional] + +### Return type + +[**MetricsDTO**](MetricsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **planning_metrics** +> MetricsDTO planning_metrics(id) + +Retrieve metrics by planning model ID + +Retrieve all the metrics you have access to for a planning model. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.metrics_dto import MetricsDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = 'id_example' # str | The ID of the planning model to retrieve. + + try: + # Retrieve metrics by planning model ID + api_response = api_instance.planning_metrics(id) + print("The response of DataModelApi->planning_metrics:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->planning_metrics: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The ID of the planning model to retrieve. | + +### Return type + +[**MetricsDTO**](MetricsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **planning_model** +> PlanningModelDTO planning_model(id) + +Retrieve a planning model by ID + +Retrieve a specific planning model you have access to. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.planning_model_dto import PlanningModelDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = 'id_example' # str | The ID of the planning model to retrieve. + + try: + # Retrieve a planning model by ID + api_response = api_instance.planning_model(id) + print("The response of DataModelApi->planning_model:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->planning_model: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The ID of the planning model to retrieve. | + +### Return type + +[**PlanningModelDTO**](PlanningModelDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **planning_models** +> PlanningModelsDTO planning_models(id=id) + +Retrieve a list of planning models + +Retrieve all the planning models you have access to. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.planning_models_dto import PlanningModelsDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = ['id_example'] # List[str] | The IDs of the planning models to retrieve. Default is all models. (optional) + + try: + # Retrieve a list of planning models + api_response = api_instance.planning_models(id=id) + print("The response of DataModelApi->planning_models:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->planning_models: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | [**List[str]**](str.md)| The IDs of the planning models to retrieve. Default is all models. | [optional] + +### Return type + +[**PlanningModelsDTO**](PlanningModelsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **planning_plan** +> PlanningPlanDTO planning_plan(model_id, id) + +Retrieve a plan by ID + +Retrieve a specific plan that you have access to in a planning model. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.planning_plan_dto import PlanningPlanDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + model_id = 'model_id_example' # str | The ID of the planning model to retrieve. + id = 'id_example' # str | The ID of the plan to retrieve. + + try: + # Retrieve a plan by ID + api_response = api_instance.planning_plan(model_id, id) + print("The response of DataModelApi->planning_plan:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->planning_plan: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **model_id** | **str**| The ID of the planning model to retrieve. | + **id** | **str**| The ID of the plan to retrieve. | + +### Return type + +[**PlanningPlanDTO**](PlanningPlanDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **planning_plans** +> PlanningPlansDTO planning_plans(model_id, id=id) + +Retrieve a list of plans + +Retrieve all the plans you have access to for a planning model. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.planning_plans_dto import PlanningPlansDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + model_id = 'model_id_example' # str | The ID of the planning model to retrieve. + id = ['id_example'] # List[str] | The IDs of the plans to retrieve. Default is all plans. (optional) + + try: + # Retrieve a list of plans + api_response = api_instance.planning_plans(model_id, id=id) + print("The response of DataModelApi->planning_plans:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->planning_plans: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **model_id** | **str**| The ID of the planning model to retrieve. | + **id** | [**List[str]**](str.md)| The IDs of the plans to retrieve. Default is all plans. | [optional] + +### Return type + +[**PlanningPlansDTO**](PlanningPlansDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **prediction** +> PredictionDTO prediction(id) + +Retrieve a prediction by ID + +If you know the ID of a prediction, use this API to retrieve that prediction specifically. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.prediction_dto import PredictionDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = 'id_example' # str | The ID of the prediction to retrieve. + + try: + # Retrieve a prediction by ID + api_response = api_instance.prediction(id) + print("The response of DataModelApi->prediction:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->prediction: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The ID of the prediction to retrieve. | + +### Return type + +[**PredictionDTO**](PredictionDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **predictions** +> PredictionsDTO predictions(id=id) + +Retrieve a list of predictions + +Retrieve all the predictions in your Visier solution. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.predictions_dto import PredictionsDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + id = ['id_example'] # List[str] | The IDs of the predictions to retrieve. Default is all predictions. (optional) + + try: + # Retrieve a list of predictions + api_response = api_instance.predictions(id=id) + print("The response of DataModelApi->predictions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->predictions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | [**List[str]**](str.md)| The IDs of the predictions to retrieve. Default is all predictions. | [optional] + +### Return type + +[**PredictionsDTO**](PredictionsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **properties** +> PropertiesDTO properties(object_id, id=id) + +Retrieve a list of properties + +Retrieve a list of properties for a specific analytic object. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.properties_dto import PropertiesDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + object_id = 'object_id_example' # str | The ID of the analytic object to retrieve. + id = ['id_example'] # List[str] | The IDs of the properties to retrieve. Default is all properties. (optional) + + try: + # Retrieve a list of properties + api_response = api_instance.properties(object_id, id=id) + print("The response of DataModelApi->properties:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->properties: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **object_id** | **str**| The ID of the analytic object to retrieve. | + **id** | [**List[str]**](str.md)| The IDs of the properties to retrieve. Default is all properties. | [optional] + +### Return type + +[**PropertiesDTO**](PropertiesDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **selection_concept** +> SelectionConceptDTO selection_concept(object_id, id) + +Retrieve an analytic object's selection concept by ID + +If you know the ID of a selection concept, use this API to retrieve that selection concept specifically. You must also know the analytic object's ID. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.selection_concept_dto import SelectionConceptDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + object_id = 'object_id_example' # str | The ID of the analytic object to retrieve. + id = 'id_example' # str | The ID of the selection concept to retrieve. + + try: + # Retrieve an analytic object's selection concept by ID + api_response = api_instance.selection_concept(object_id, id) + print("The response of DataModelApi->selection_concept:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->selection_concept: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **object_id** | **str**| The ID of the analytic object to retrieve. | + **id** | **str**| The ID of the selection concept to retrieve. | + +### Return type + +[**SelectionConceptDTO**](SelectionConceptDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **selection_concepts** +> SelectionConceptsDTO selection_concepts(object_id, id=id) + +Retrieve an analytic object's selection concepts + +Retrieve a list of selection concepts for a specific analytic object. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.selection_concepts_dto import SelectionConceptsDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.DataModelApi(api_client) + object_id = 'object_id_example' # str | The ID of the analytic object to retrieve. + id = ['id_example'] # List[str] | The IDs of the selection concepts to retrieve. Default is all selection concepts. (optional) + + try: + # Retrieve an analytic object's selection concepts + api_response = api_instance.selection_concepts(object_id, id=id) + print("The response of DataModelApi->selection_concepts:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataModelApi->selection_concepts: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **object_id** | **str**| The ID of the analytic object to retrieve. | + **id** | [**List[str]**](str.md)| The IDs of the selection concepts to retrieve. Default is all selection concepts. | [optional] + +### Return type + +[**SelectionConceptsDTO**](SelectionConceptsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.analytic_model/docs/DimensionDTO.md b/src/visier.sdk.api.analytic_model/docs/DimensionDTO.md new file mode 100644 index 000000000..6ebc6bf84 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/DimensionDTO.md @@ -0,0 +1,37 @@ +# DimensionDTO + +A dimension organizes unique values of an attribute into a list or a hierarchical structure for use as a filter or group-by in your solution. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | The localized description of the dimension. | [optional] +**display_name** | **str** | The localized display name of the dimension. | [optional] +**id** | **str** | The unique ID of the dimension. Note: See `Dimensions` to get the ID`. | [optional] +**levels** | [**List[LevelDTO]**](LevelDTO.md) | The levels defined for the dimension. Note: For parent-child dimensions, a level name is generated by Visier. | [optional] +**member_count** | **int** | The total number of members for the dimension, excluding the (All) member. | [optional] +**tags** | [**List[TagMapElementDTO]**](TagMapElementDTO.md) | The optional collection of tags defined for this element. | [optional] +**unknown_member** | **List[str]** | The optional path to the unknown member, if defined. | [optional] +**visible_in_app** | **bool** | `true` if this dimension is set to be visible in your solution. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.dimension_dto import DimensionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DimensionDTO from a JSON string +dimension_dto_instance = DimensionDTO.from_json(json) +# print the JSON string representation of the object +print(DimensionDTO.to_json()) + +# convert the object into a dict +dimension_dto_dict = dimension_dto_instance.to_dict() +# create an instance of DimensionDTO from a dict +dimension_dto_from_dict = DimensionDTO.from_dict(dimension_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/DimensionFilterDTO.md b/src/visier.sdk.api.analytic_model/docs/DimensionFilterDTO.md new file mode 100644 index 000000000..a985a7beb --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/DimensionFilterDTO.md @@ -0,0 +1,31 @@ +# DimensionFilterDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension_id** | **str** | The UUID of the dimension. | [optional] +**dimension_members** | [**List[DimensionMemberDTO]**](DimensionMemberDTO.md) | A list of dimension members to map to the perspective node. Note: If this array is empty, all dimension members will be removed for the node. | [optional] +**symbol_name** | **str** | The symbol name of the dimension. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.dimension_filter_dto import DimensionFilterDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DimensionFilterDTO from a JSON string +dimension_filter_dto_instance = DimensionFilterDTO.from_json(json) +# print the JSON string representation of the object +print(DimensionFilterDTO.to_json()) + +# convert the object into a dict +dimension_filter_dto_dict = dimension_filter_dto_instance.to_dict() +# create an instance of DimensionFilterDTO from a dict +dimension_filter_dto_from_dict = DimensionFilterDTO.from_dict(dimension_filter_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/DimensionMappingValidationDTO.md b/src/visier.sdk.api.analytic_model/docs/DimensionMappingValidationDTO.md new file mode 100644 index 000000000..4e52f0e27 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/DimensionMappingValidationDTO.md @@ -0,0 +1,32 @@ +# DimensionMappingValidationDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension_id** | **str** | | [optional] +**dimension_map_id** | **str** | | [optional] +**failures** | **List[str]** | | [optional] +**unmapped_members** | [**List[DimensionMemberReferenceDTO]**](DimensionMemberReferenceDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.dimension_mapping_validation_dto import DimensionMappingValidationDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DimensionMappingValidationDTO from a JSON string +dimension_mapping_validation_dto_instance = DimensionMappingValidationDTO.from_json(json) +# print the JSON string representation of the object +print(DimensionMappingValidationDTO.to_json()) + +# convert the object into a dict +dimension_mapping_validation_dto_dict = dimension_mapping_validation_dto_instance.to_dict() +# create an instance of DimensionMappingValidationDTO from a dict +dimension_mapping_validation_dto_from_dict = DimensionMappingValidationDTO.from_dict(dimension_mapping_validation_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/DimensionMappingValidationExecutionDTO.md b/src/visier.sdk.api.analytic_model/docs/DimensionMappingValidationExecutionDTO.md new file mode 100644 index 000000000..1a775350e --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/DimensionMappingValidationExecutionDTO.md @@ -0,0 +1,31 @@ +# DimensionMappingValidationExecutionDTO + +Instruction to execute a mapping validation query + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_object** | **str** | the analytic object associated with the dimension map | [optional] +**member_map_id** | **str** | memberMapId == dimensionMapId | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.dimension_mapping_validation_execution_dto import DimensionMappingValidationExecutionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DimensionMappingValidationExecutionDTO from a JSON string +dimension_mapping_validation_execution_dto_instance = DimensionMappingValidationExecutionDTO.from_json(json) +# print the JSON string representation of the object +print(DimensionMappingValidationExecutionDTO.to_json()) + +# convert the object into a dict +dimension_mapping_validation_execution_dto_dict = dimension_mapping_validation_execution_dto_instance.to_dict() +# create an instance of DimensionMappingValidationExecutionDTO from a dict +dimension_mapping_validation_execution_dto_from_dict = DimensionMappingValidationExecutionDTO.from_dict(dimension_mapping_validation_execution_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/DimensionMemberDTO.md b/src/visier.sdk.api.analytic_model/docs/DimensionMemberDTO.md new file mode 100644 index 000000000..a3e7aab57 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/DimensionMemberDTO.md @@ -0,0 +1,29 @@ +# DimensionMemberDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension_member** | **List[str]** | A list of strings representing the dimension members. Dimension members in a hierarchical dimension will have an array with multiple strings. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.dimension_member_dto import DimensionMemberDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DimensionMemberDTO from a JSON string +dimension_member_dto_instance = DimensionMemberDTO.from_json(json) +# print the JSON string representation of the object +print(DimensionMemberDTO.to_json()) + +# convert the object into a dict +dimension_member_dto_dict = dimension_member_dto_instance.to_dict() +# create an instance of DimensionMemberDTO from a dict +dimension_member_dto_from_dict = DimensionMemberDTO.from_dict(dimension_member_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/DimensionMemberReferenceDTO.md b/src/visier.sdk.api.analytic_model/docs/DimensionMemberReferenceDTO.md new file mode 100644 index 000000000..0ec033fe4 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/DimensionMemberReferenceDTO.md @@ -0,0 +1,30 @@ +# DimensionMemberReferenceDTO + +The members of a dimension. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**path** | **List[str]** | A list of strings representing the members within a dimension path. For example, a dimension for Location may have the paths \"Canada, BC, Vancouver\" and \"US, California, San Francisco\". | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.dimension_member_reference_dto import DimensionMemberReferenceDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DimensionMemberReferenceDTO from a JSON string +dimension_member_reference_dto_instance = DimensionMemberReferenceDTO.from_json(json) +# print the JSON string representation of the object +print(DimensionMemberReferenceDTO.to_json()) + +# convert the object into a dict +dimension_member_reference_dto_dict = dimension_member_reference_dto_instance.to_dict() +# create an instance of DimensionMemberReferenceDTO from a dict +dimension_member_reference_dto_from_dict = DimensionMemberReferenceDTO.from_dict(dimension_member_reference_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/DimensionReferenceDTO.md b/src/visier.sdk.api.analytic_model/docs/DimensionReferenceDTO.md new file mode 100644 index 000000000..8acac6b81 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/DimensionReferenceDTO.md @@ -0,0 +1,31 @@ +# DimensionReferenceDTO + +The name and qualifying path of a dimension to query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | The ID of the dimension. See `Dimensions` to get the ID. | [optional] +**qualifying_path** | **str** | The qualifying path to the dimension in Visier, such as the analytic object or event the dimension is associated with. If the path has multiple objects, each object is separated by a period. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.dimension_reference_dto import DimensionReferenceDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DimensionReferenceDTO from a JSON string +dimension_reference_dto_instance = DimensionReferenceDTO.from_json(json) +# print the JSON string representation of the object +print(DimensionReferenceDTO.to_json()) + +# convert the object into a dict +dimension_reference_dto_dict = dimension_reference_dto_instance.to_dict() +# create an instance of DimensionReferenceDTO from a dict +dimension_reference_dto_from_dict = DimensionReferenceDTO.from_dict(dimension_reference_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/DimensionsDTO.md b/src/visier.sdk.api.analytic_model/docs/DimensionsDTO.md new file mode 100644 index 000000000..eeec7b730 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/DimensionsDTO.md @@ -0,0 +1,30 @@ +# DimensionsDTO + +A collection of dimensions. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimensions** | [**List[DimensionDTO]**](DimensionDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.dimensions_dto import DimensionsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DimensionsDTO from a JSON string +dimensions_dto_instance = DimensionsDTO.from_json(json) +# print the JSON string representation of the object +print(DimensionsDTO.to_json()) + +# convert the object into a dict +dimensions_dto_dict = dimensions_dto_instance.to_dict() +# create an instance of DimensionsDTO from a dict +dimensions_dto_from_dict = DimensionsDTO.from_dict(dimensions_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/GoogleProtobufAny.md b/src/visier.sdk.api.analytic_model/docs/GoogleProtobufAny.md new file mode 100644 index 000000000..811e2c151 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/GoogleProtobufAny.md @@ -0,0 +1,30 @@ +# GoogleProtobufAny + +Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | The type of the serialized message. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.google_protobuf_any import GoogleProtobufAny + +# TODO update the JSON string below +json = "{}" +# create an instance of GoogleProtobufAny from a JSON string +google_protobuf_any_instance = GoogleProtobufAny.from_json(json) +# print the JSON string representation of the object +print(GoogleProtobufAny.to_json()) + +# convert the object into a dict +google_protobuf_any_dict = google_protobuf_any_instance.to_dict() +# create an instance of GoogleProtobufAny from a dict +google_protobuf_any_from_dict = GoogleProtobufAny.from_dict(google_protobuf_any_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/LevelDTO.md b/src/visier.sdk.api.analytic_model/docs/LevelDTO.md new file mode 100644 index 000000000..905f895e0 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/LevelDTO.md @@ -0,0 +1,32 @@ +# LevelDTO + +Levels are the hierarchical structure of members within a dimension. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**depth** | **int** | The level depth of the dimension. | [optional] +**display_name** | **str** | The localized display name of the dimension. | [optional] +**id** | **str** | The unique ID of a level within a dimension. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.level_dto import LevelDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of LevelDTO from a JSON string +level_dto_instance = LevelDTO.from_json(json) +# print the JSON string representation of the object +print(LevelDTO.to_json()) + +# convert the object into a dict +level_dto_dict = level_dto_instance.to_dict() +# create an instance of LevelDTO from a dict +level_dto_from_dict = LevelDTO.from_dict(level_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/MemberDTO.md b/src/visier.sdk.api.analytic_model/docs/MemberDTO.md new file mode 100644 index 000000000..b876e6f8e --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/MemberDTO.md @@ -0,0 +1,35 @@ +# MemberDTO + +A member is an element of a dimension. Dimension members are organized hierarchically. For example, Argentina is a member of the Location dimension at the Country level of the hierarchy Region > Country > Province > City. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | The localized display name of the member. | [optional] +**display_name_path** | **List[str]** | The display names for each level in the member's ancestral path. | [optional] +**full_name** | **str** | The fully qualified name of the member. This is the dimension's object name and the member's display name, separated by a period. | [optional] +**level** | **int** | The numeric level of the hierarchy the member belongs to. | [optional] +**path** | **List[str]** | A comma-separated list of identifiers that reference members on the query axis as part of dimensionMemberSelection. | [optional] +**validity_ranges** | [**List[ValidityRangeDTO]**](ValidityRangeDTO.md) | The validity ranges that exist for this member. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.member_dto import MemberDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MemberDTO from a JSON string +member_dto_instance = MemberDTO.from_json(json) +# print the JSON string representation of the object +print(MemberDTO.to_json()) + +# convert the object into a dict +member_dto_dict = member_dto_instance.to_dict() +# create an instance of MemberDTO from a dict +member_dto_from_dict = MemberDTO.from_dict(member_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/MemberParameterDefinitionDTO.md b/src/visier.sdk.api.analytic_model/docs/MemberParameterDefinitionDTO.md new file mode 100644 index 000000000..fdf1b9328 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/MemberParameterDefinitionDTO.md @@ -0,0 +1,35 @@ +# MemberParameterDefinitionDTO + +The definition of a filter parameter. These elements are returned as part of the definition for metrics that include parameters in their definition. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**default** | [**MemberValuesDTO**](MemberValuesDTO.md) | The default value if the end user does not select a member at run time. | [optional] +**description** | **str** | The localized description of the member parameter. | [optional] +**dimension_id** | **str** | The unique ID of the dimension on which the member parameter is based. | [optional] +**display_name** | **str** | The localized display name of the member parameter. | [optional] +**id** | **str** | The unique ID of the member parameter. | [optional] +**reference_path** | **List[str]** | The analytic object reference path from the metric to the dimension. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.member_parameter_definition_dto import MemberParameterDefinitionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MemberParameterDefinitionDTO from a JSON string +member_parameter_definition_dto_instance = MemberParameterDefinitionDTO.from_json(json) +# print the JSON string representation of the object +print(MemberParameterDefinitionDTO.to_json()) + +# convert the object into a dict +member_parameter_definition_dto_dict = member_parameter_definition_dto_instance.to_dict() +# create an instance of MemberParameterDefinitionDTO from a dict +member_parameter_definition_dto_from_dict = MemberParameterDefinitionDTO.from_dict(member_parameter_definition_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/MemberValuesDTO.md b/src/visier.sdk.api.analytic_model/docs/MemberValuesDTO.md new file mode 100644 index 000000000..c33f40030 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/MemberValuesDTO.md @@ -0,0 +1,31 @@ +# MemberValuesDTO + +Member filter values are discrete member references in a dimension filter. You can define included and excluded members simultaneously. This is typically done with filtering applied on dimensions with multiple levels. For example, a Location parameter may include “South America” and exclude “Brazil” which results in the metric being evaluated for all South American countries except Brazil. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**excluded** | [**List[DimensionMemberReferenceDTO]**](DimensionMemberReferenceDTO.md) | The unique IDs of members to exclude when evaluating the metric. | [optional] +**included** | [**List[DimensionMemberReferenceDTO]**](DimensionMemberReferenceDTO.md) | The unique IDs of members to include when evaluating the metric. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.member_values_dto import MemberValuesDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MemberValuesDTO from a JSON string +member_values_dto_instance = MemberValuesDTO.from_json(json) +# print the JSON string representation of the object +print(MemberValuesDTO.to_json()) + +# convert the object into a dict +member_values_dto_dict = member_values_dto_instance.to_dict() +# create an instance of MemberValuesDTO from a dict +member_values_dto_from_dict = MemberValuesDTO.from_dict(member_values_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/MembersDTO.md b/src/visier.sdk.api.analytic_model/docs/MembersDTO.md new file mode 100644 index 000000000..41f37e0a2 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/MembersDTO.md @@ -0,0 +1,30 @@ +# MembersDTO + +A collection of members. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**members** | [**List[MemberDTO]**](MemberDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.members_dto import MembersDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MembersDTO from a JSON string +members_dto_instance = MembersDTO.from_json(json) +# print the JSON string representation of the object +print(MembersDTO.to_json()) + +# convert the object into a dict +members_dto_dict = members_dto_instance.to_dict() +# create an instance of MembersDTO from a dict +members_dto_from_dict = MembersDTO.from_dict(members_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/MetricDTO.md b/src/visier.sdk.api.analytic_model/docs/MetricDTO.md new file mode 100644 index 000000000..6ec15630a --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/MetricDTO.md @@ -0,0 +1,38 @@ +# MetricDTO + +A metric is a calculation based on one or more attribute values of analytic objects. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_object_id** | **str** | The unique ID of the analytic object. | [optional] +**category** | **str** | The category of the metric. Will be one of: `REGULAR`, `DERIVED` or `PLANNING`. | [optional] +**data_end_date** | **str** | The date from which data is no longer available for this metric. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers. | [optional] +**data_start_date** | **str** | The date from which data becomes available for this metric. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers. | [optional] +**description** | **str** | The localized description of the metric. | [optional] +**display_name** | **str** | The localized display name of the metric. | [optional] +**id** | **str** | The unique ID of the metric. Note: See `Metrics` to get the ID. | [optional] +**parameters** | [**List[ParameterDefinitionDTO]**](ParameterDefinitionDTO.md) | The collection of parameters defined for the metric. | [optional] +**visible_in_app** | **bool** | // `true` if this metric is set to be visible in your solution. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.metric_dto import MetricDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MetricDTO from a JSON string +metric_dto_instance = MetricDTO.from_json(json) +# print the JSON string representation of the object +print(MetricDTO.to_json()) + +# convert the object into a dict +metric_dto_dict = metric_dto_instance.to_dict() +# create an instance of MetricDTO from a dict +metric_dto_from_dict = MetricDTO.from_dict(metric_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/MetricsDTO.md b/src/visier.sdk.api.analytic_model/docs/MetricsDTO.md new file mode 100644 index 000000000..9ae87913c --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/MetricsDTO.md @@ -0,0 +1,30 @@ +# MetricsDTO + +A collection of metrics. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**metrics** | [**List[MetricDTO]**](MetricDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.metrics_dto import MetricsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MetricsDTO from a JSON string +metrics_dto_instance = MetricsDTO.from_json(json) +# print the JSON string representation of the object +print(MetricsDTO.to_json()) + +# convert the object into a dict +metrics_dto_dict = metrics_dto_instance.to_dict() +# create an instance of MetricsDTO from a dict +metrics_dto_from_dict = MetricsDTO.from_dict(metrics_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/NumericParameterDefinitionDTO.md b/src/visier.sdk.api.analytic_model/docs/NumericParameterDefinitionDTO.md new file mode 100644 index 000000000..b1baec0ed --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/NumericParameterDefinitionDTO.md @@ -0,0 +1,35 @@ +# NumericParameterDefinitionDTO + +The definition of a numeric parameter. These elements are returned as part of the query definition for metric parameter values. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**default** | **float** | The default value if the end user does not select a member at run time. | [optional] +**description** | **str** | The localized description of the numeric parameter. | [optional] +**display_name** | **str** | The localized display name of the numeric parameter. | [optional] +**id** | **str** | The unique ID of the numeric parameter. | [optional] +**lower_bound** | **float** | The lowest value for the numeric parameter. | [optional] +**upper_bound** | **float** | The highest value for the numeric parameter. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.numeric_parameter_definition_dto import NumericParameterDefinitionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of NumericParameterDefinitionDTO from a JSON string +numeric_parameter_definition_dto_instance = NumericParameterDefinitionDTO.from_json(json) +# print the JSON string representation of the object +print(NumericParameterDefinitionDTO.to_json()) + +# convert the object into a dict +numeric_parameter_definition_dto_dict = numeric_parameter_definition_dto_instance.to_dict() +# create an instance of NumericParameterDefinitionDTO from a dict +numeric_parameter_definition_dto_from_dict = NumericParameterDefinitionDTO.from_dict(numeric_parameter_definition_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/ObjectConfigurationApi.md b/src/visier.sdk.api.analytic_model/docs/ObjectConfigurationApi.md new file mode 100644 index 000000000..ec491c6e5 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/ObjectConfigurationApi.md @@ -0,0 +1,606 @@ +# visier.sdk.api.analytic_model.ObjectConfigurationApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_calculation_concept**](ObjectConfigurationApi.md#get_calculation_concept) | **GET** /v1/admin/calculation-concepts/{conceptId} | Retrieve the configuration of a calculation concept +[**get_calculation_concepts**](ObjectConfigurationApi.md#get_calculation_concepts) | **GET** /v1/admin/calculation-concepts | Retrieve all calculation concepts +[**get_selection_concept**](ObjectConfigurationApi.md#get_selection_concept) | **GET** /v1/admin/selection-concepts/{conceptId} | Retrieve the configuration of a selection concept +[**get_selection_concepts**](ObjectConfigurationApi.md#get_selection_concepts) | **GET** /v1/admin/selection-concepts | Retrieve all selection concepts +[**map_calculation_concept**](ObjectConfigurationApi.md#map_calculation_concept) | **PUT** /v1/admin/calculation-concepts/{conceptId}/configure | Map dimension members to nodes in a calculation concept +[**map_selection_concept**](ObjectConfigurationApi.md#map_selection_concept) | **PUT** /v1/admin/selection-concepts/{conceptId}/configure | Map dimension members to a selection concept + + +# **get_calculation_concept** +> CalculationConceptDTO get_calculation_concept(concept_id) + +Retrieve the configuration of a calculation concept + +Retrieve the configuration details of a calculation concept in production. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.calculation_concept_dto import CalculationConceptDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.ObjectConfigurationApi(api_client) + concept_id = 'concept_id_example' # str | The ID of the concept to retrieve the configuration for. + + try: + # Retrieve the configuration of a calculation concept + api_response = api_instance.get_calculation_concept(concept_id) + print("The response of ObjectConfigurationApi->get_calculation_concept:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ObjectConfigurationApi->get_calculation_concept: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **concept_id** | **str**| The ID of the concept to retrieve the configuration for. | + +### Return type + +[**CalculationConceptDTO**](CalculationConceptDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_calculation_concepts** +> CalculationConceptListDTO get_calculation_concepts() + +Retrieve all calculation concepts + +Retrieve the calculation concepts available in production. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.calculation_concept_list_dto import CalculationConceptListDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.ObjectConfigurationApi(api_client) + + try: + # Retrieve all calculation concepts + api_response = api_instance.get_calculation_concepts() + print("The response of ObjectConfigurationApi->get_calculation_concepts:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ObjectConfigurationApi->get_calculation_concepts: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**CalculationConceptListDTO**](CalculationConceptListDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_selection_concept** +> SelectionConceptDTO get_selection_concept(concept_id) + +Retrieve the configuration of a selection concept + +Retrieve the configuration details of a selection concept in production. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.selection_concept_dto import SelectionConceptDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.ObjectConfigurationApi(api_client) + concept_id = 'concept_id_example' # str | The ID of the concept to retrieve the configuration for. + + try: + # Retrieve the configuration of a selection concept + api_response = api_instance.get_selection_concept(concept_id) + print("The response of ObjectConfigurationApi->get_selection_concept:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ObjectConfigurationApi->get_selection_concept: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **concept_id** | **str**| The ID of the concept to retrieve the configuration for. | + +### Return type + +[**SelectionConceptDTO**](SelectionConceptDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_selection_concepts** +> SelectionConceptListDTO get_selection_concepts() + +Retrieve all selection concepts + +Retrieve the selection concepts available in production. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.selection_concept_list_dto import SelectionConceptListDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.ObjectConfigurationApi(api_client) + + try: + # Retrieve all selection concepts + api_response = api_instance.get_selection_concepts() + print("The response of ObjectConfigurationApi->get_selection_concepts:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ObjectConfigurationApi->get_selection_concepts: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**SelectionConceptListDTO**](SelectionConceptListDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **map_calculation_concept** +> ConceptConfigurationResultDTO map_calculation_concept(concept_id, calculation_concept_configuration_map_dto) + +Map dimension members to nodes in a calculation concept + +Map dimension members to nodes in a calculation concept. The changes are applied in a new project and published to production. The body of this API is the source of truth for dimension members mapped to the concept. For example, if a node in the body does not have any dimension members, all existing dimension members mapped to that node will be removed. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.calculation_concept_configuration_map_dto import CalculationConceptConfigurationMapDTO +from visier.sdk.api.analytic_model.models.concept_configuration_result_dto import ConceptConfigurationResultDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.ObjectConfigurationApi(api_client) + concept_id = 'concept_id_example' # str | The UUID of the concept to configure. + calculation_concept_configuration_map_dto = visier.sdk.api.analytic_model.CalculationConceptConfigurationMapDTO() # CalculationConceptConfigurationMapDTO | + + try: + # Map dimension members to nodes in a calculation concept + api_response = api_instance.map_calculation_concept(concept_id, calculation_concept_configuration_map_dto) + print("The response of ObjectConfigurationApi->map_calculation_concept:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ObjectConfigurationApi->map_calculation_concept: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **concept_id** | **str**| The UUID of the concept to configure. | + **calculation_concept_configuration_map_dto** | [**CalculationConceptConfigurationMapDTO**](CalculationConceptConfigurationMapDTO.md)| | + +### Return type + +[**ConceptConfigurationResultDTO**](ConceptConfigurationResultDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **map_selection_concept** +> ConceptConfigurationResultDTO map_selection_concept(concept_id, selection_concept_configuration_map_dto) + +Map dimension members to a selection concept + +Map dimension members to a selection concept. The changes are applied to a new project and published to production. The body of this API is the source of truth for dimension members mapped to the concept. For example, if a node in the body does not have any dimension members, all existing dimension members mapped to that node will be removed. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.analytic_model +from visier.sdk.api.analytic_model.models.concept_configuration_result_dto import ConceptConfigurationResultDTO +from visier.sdk.api.analytic_model.models.selection_concept_configuration_map_dto import SelectionConceptConfigurationMapDTO +from visier.sdk.api.analytic_model.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.analytic_model.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.analytic_model.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.analytic_model.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.analytic_model.ObjectConfigurationApi(api_client) + concept_id = 'concept_id_example' # str | The UUID of the concept to configure. + selection_concept_configuration_map_dto = visier.sdk.api.analytic_model.SelectionConceptConfigurationMapDTO() # SelectionConceptConfigurationMapDTO | + + try: + # Map dimension members to a selection concept + api_response = api_instance.map_selection_concept(concept_id, selection_concept_configuration_map_dto) + print("The response of ObjectConfigurationApi->map_selection_concept:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ObjectConfigurationApi->map_selection_concept: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **concept_id** | **str**| The UUID of the concept to configure. | + **selection_concept_configuration_map_dto** | [**SelectionConceptConfigurationMapDTO**](SelectionConceptConfigurationMapDTO.md)| | + +### Return type + +[**ConceptConfigurationResultDTO**](ConceptConfigurationResultDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.analytic_model/docs/ObjectReferenceDTO.md b/src/visier.sdk.api.analytic_model/docs/ObjectReferenceDTO.md new file mode 100644 index 000000000..e629e5d1a --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/ObjectReferenceDTO.md @@ -0,0 +1,36 @@ +# ObjectReferenceDTO + +A link between one analytic object and another. An ObjectReference allows you to discover the relationships between analytic objects. In some queries, you may need to provide a qualifyingPath, which is built from ObjectReference information. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | The localized description of the object reference. | [optional] +**display_name** | **str** | The localized display name of the object reference. | [optional] +**from_object** | **str** | The ID of the referencing analytic object. | [optional] +**id** | **str** | The unique ID of the object reference. | [optional] +**is_strong_reference** | **bool** | True if this is a strong reference. | [optional] +**to_object** | **str** | The ID of the referenced analytic object. | [optional] +**type** | **str** | The type of object reference. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.object_reference_dto import ObjectReferenceDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ObjectReferenceDTO from a JSON string +object_reference_dto_instance = ObjectReferenceDTO.from_json(json) +# print the JSON string representation of the object +print(ObjectReferenceDTO.to_json()) + +# convert the object into a dict +object_reference_dto_dict = object_reference_dto_instance.to_dict() +# create an instance of ObjectReferenceDTO from a dict +object_reference_dto_from_dict = ObjectReferenceDTO.from_dict(object_reference_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/ParameterDefinitionDTO.md b/src/visier.sdk.api.analytic_model/docs/ParameterDefinitionDTO.md new file mode 100644 index 000000000..4f52d9b1a --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/ParameterDefinitionDTO.md @@ -0,0 +1,33 @@ +# ParameterDefinitionDTO + +Parameters generalize object definitions so that end users can provide values at query run time. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**aggregation_type_parameter** | [**AggregationTypeParameterDTO**](AggregationTypeParameterDTO.md) | An aggregation parameter. Such parameters enable control over how applicable metrics aggregate their results. | [optional] +**member_parameter** | [**MemberParameterDefinitionDTO**](MemberParameterDefinitionDTO.md) | A filter parameter that can be set with dimension members for the end user to select. | [optional] +**numeric_parameter** | [**NumericParameterDefinitionDTO**](NumericParameterDefinitionDTO.md) | A parameter with a numeric data type. A numeric parameter can be set with an optional default value and value range. | [optional] +**plan_parameter** | [**PlanParameterDefinitionDTO**](PlanParameterDefinitionDTO.md) | A parameter on a planning metric. Plan parameters resolve planning model metrics to a specific plan and scenario or snapshot. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.parameter_definition_dto import ParameterDefinitionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ParameterDefinitionDTO from a JSON string +parameter_definition_dto_instance = ParameterDefinitionDTO.from_json(json) +# print the JSON string representation of the object +print(ParameterDefinitionDTO.to_json()) + +# convert the object into a dict +parameter_definition_dto_dict = parameter_definition_dto_instance.to_dict() +# create an instance of ParameterDefinitionDTO from a dict +parameter_definition_dto_from_dict = ParameterDefinitionDTO.from_dict(parameter_definition_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PerspectiveConfigurationDTO.md b/src/visier.sdk.api.analytic_model/docs/PerspectiveConfigurationDTO.md new file mode 100644 index 000000000..5ee263287 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PerspectiveConfigurationDTO.md @@ -0,0 +1,31 @@ +# PerspectiveConfigurationDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**perspective_id** | **str** | The UUID of the perspective. | [optional] +**perspective_name** | **str** | The display name of the perspective. | [optional] +**perspective_nodes** | [**List[PerspectiveNodeDTO]**](PerspectiveNodeDTO.md) | A list of nodes in the perspective. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.perspective_configuration_dto import PerspectiveConfigurationDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PerspectiveConfigurationDTO from a JSON string +perspective_configuration_dto_instance = PerspectiveConfigurationDTO.from_json(json) +# print the JSON string representation of the object +print(PerspectiveConfigurationDTO.to_json()) + +# convert the object into a dict +perspective_configuration_dto_dict = perspective_configuration_dto_instance.to_dict() +# create an instance of PerspectiveConfigurationDTO from a dict +perspective_configuration_dto_from_dict = PerspectiveConfigurationDTO.from_dict(perspective_configuration_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PerspectiveNodeDTO.md b/src/visier.sdk.api.analytic_model/docs/PerspectiveNodeDTO.md new file mode 100644 index 000000000..bc89fef3e --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PerspectiveNodeDTO.md @@ -0,0 +1,31 @@ +# PerspectiveNodeDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_object_filters** | [**List[AnalyticObjectFilterDTO]**](AnalyticObjectFilterDTO.md) | A list of analytic object filters indicating the analytic object and dimensions used for the selection concept. | [optional] +**selection_concept_uuid** | **str** | The UUID of the node's selection concept. Perspective nodes are generated as selection concepts to enable filtering. | [optional] +**symbol_name** | **str** | The symbol name of the selection concept. For example, \"isExitActualSystemTermination\". | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.perspective_node_dto import PerspectiveNodeDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PerspectiveNodeDTO from a JSON string +perspective_node_dto_instance = PerspectiveNodeDTO.from_json(json) +# print the JSON string representation of the object +print(PerspectiveNodeDTO.to_json()) + +# convert the object into a dict +perspective_node_dto_dict = perspective_node_dto_instance.to_dict() +# create an instance of PerspectiveNodeDTO from a dict +perspective_node_dto_from_dict = PerspectiveNodeDTO.from_dict(perspective_node_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PlanParameterDefinitionDTO.md b/src/visier.sdk.api.analytic_model/docs/PlanParameterDefinitionDTO.md new file mode 100644 index 000000000..c38fea055 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PlanParameterDefinitionDTO.md @@ -0,0 +1,33 @@ +# PlanParameterDefinitionDTO + +The definition of a plan parameter. These parameters resolve planning model metrics to a specific plan and scenario or snapshot values at query runtime. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | The localized description of the parameter. | [optional] +**display_name** | **str** | The localized display name of the parameter. | [optional] +**id** | **str** | The unique ID of the parameter. | [optional] +**model_name** | **str** | The name of the planning model to which the parameter applies. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.plan_parameter_definition_dto import PlanParameterDefinitionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PlanParameterDefinitionDTO from a JSON string +plan_parameter_definition_dto_instance = PlanParameterDefinitionDTO.from_json(json) +# print the JSON string representation of the object +print(PlanParameterDefinitionDTO.to_json()) + +# convert the object into a dict +plan_parameter_definition_dto_dict = plan_parameter_definition_dto_instance.to_dict() +# create an instance of PlanParameterDefinitionDTO from a dict +plan_parameter_definition_dto_from_dict = PlanParameterDefinitionDTO.from_dict(plan_parameter_definition_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PlanningConceptFilterContextDTO.md b/src/visier.sdk.api.analytic_model/docs/PlanningConceptFilterContextDTO.md new file mode 100644 index 000000000..2c471528a --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PlanningConceptFilterContextDTO.md @@ -0,0 +1,30 @@ +# PlanningConceptFilterContextDTO + +A plan context defined using a selection concept. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | The object name of the selection concept. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.planning_concept_filter_context_dto import PlanningConceptFilterContextDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PlanningConceptFilterContextDTO from a JSON string +planning_concept_filter_context_dto_instance = PlanningConceptFilterContextDTO.from_json(json) +# print the JSON string representation of the object +print(PlanningConceptFilterContextDTO.to_json()) + +# convert the object into a dict +planning_concept_filter_context_dto_dict = planning_concept_filter_context_dto_instance.to_dict() +# create an instance of PlanningConceptFilterContextDTO from a dict +planning_concept_filter_context_dto_from_dict = PlanningConceptFilterContextDTO.from_dict(planning_concept_filter_context_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PlanningHierarchyFilterContextDTO.md b/src/visier.sdk.api.analytic_model/docs/PlanningHierarchyFilterContextDTO.md new file mode 100644 index 000000000..f85bd1216 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PlanningHierarchyFilterContextDTO.md @@ -0,0 +1,32 @@ +# PlanningHierarchyFilterContextDTO + +A plan context defined using hierarchy members + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**excluded_members** | **List[str]** | The unique IDs of excluded dimension members. | [optional] +**hierarchy_name** | **str** | The object name of the hierarchy. | [optional] +**included_members** | **List[str]** | The unique IDs of the included dimension members. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.planning_hierarchy_filter_context_dto import PlanningHierarchyFilterContextDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PlanningHierarchyFilterContextDTO from a JSON string +planning_hierarchy_filter_context_dto_instance = PlanningHierarchyFilterContextDTO.from_json(json) +# print the JSON string representation of the object +print(PlanningHierarchyFilterContextDTO.to_json()) + +# convert the object into a dict +planning_hierarchy_filter_context_dto_dict = planning_hierarchy_filter_context_dto_instance.to_dict() +# create an instance of PlanningHierarchyFilterContextDTO from a dict +planning_hierarchy_filter_context_dto_from_dict = PlanningHierarchyFilterContextDTO.from_dict(planning_hierarchy_filter_context_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PlanningModelDTO.md b/src/visier.sdk.api.analytic_model/docs/PlanningModelDTO.md new file mode 100644 index 000000000..aff900692 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PlanningModelDTO.md @@ -0,0 +1,32 @@ +# PlanningModelDTO + +The basic information about the planning model. A planning model captures the planning intent, plan items, and the relationship between them. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | The localized description of the planning model. | [optional] +**display_name** | **str** | The localized display name of the planning model. | [optional] +**id** | **str** | The unique identifier of the planning model. Note: See `PlanningModels` to get the ID. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.planning_model_dto import PlanningModelDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PlanningModelDTO from a JSON string +planning_model_dto_instance = PlanningModelDTO.from_json(json) +# print the JSON string representation of the object +print(PlanningModelDTO.to_json()) + +# convert the object into a dict +planning_model_dto_dict = planning_model_dto_instance.to_dict() +# create an instance of PlanningModelDTO from a dict +planning_model_dto_from_dict = PlanningModelDTO.from_dict(planning_model_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PlanningModelsDTO.md b/src/visier.sdk.api.analytic_model/docs/PlanningModelsDTO.md new file mode 100644 index 000000000..d05a74adf --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PlanningModelsDTO.md @@ -0,0 +1,30 @@ +# PlanningModelsDTO + +A collection of planning modules. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**models** | [**List[PlanningModelDTO]**](PlanningModelDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.planning_models_dto import PlanningModelsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PlanningModelsDTO from a JSON string +planning_models_dto_instance = PlanningModelsDTO.from_json(json) +# print the JSON string representation of the object +print(PlanningModelsDTO.to_json()) + +# convert the object into a dict +planning_models_dto_dict = planning_models_dto_instance.to_dict() +# create an instance of PlanningModelsDTO from a dict +planning_models_dto_from_dict = PlanningModelsDTO.from_dict(planning_models_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PlanningPlanContextDTO.md b/src/visier.sdk.api.analytic_model/docs/PlanningPlanContextDTO.md new file mode 100644 index 000000000..dea59254b --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PlanningPlanContextDTO.md @@ -0,0 +1,31 @@ +# PlanningPlanContextDTO + +The filter context for a plan. Plan contexts are defined using a set of hierarchy members or a concept. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**concept_filter_context** | [**PlanningConceptFilterContextDTO**](PlanningConceptFilterContextDTO.md) | A plan context defined using a selection concept. | [optional] +**hierarchy_filter_context** | [**PlanningHierarchyFilterContextDTO**](PlanningHierarchyFilterContextDTO.md) | A plan context defined using hierarchy members. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.planning_plan_context_dto import PlanningPlanContextDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PlanningPlanContextDTO from a JSON string +planning_plan_context_dto_instance = PlanningPlanContextDTO.from_json(json) +# print the JSON string representation of the object +print(PlanningPlanContextDTO.to_json()) + +# convert the object into a dict +planning_plan_context_dto_dict = planning_plan_context_dto_instance.to_dict() +# create an instance of PlanningPlanContextDTO from a dict +planning_plan_context_dto_from_dict = PlanningPlanContextDTO.from_dict(planning_plan_context_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PlanningPlanDTO.md b/src/visier.sdk.api.analytic_model/docs/PlanningPlanDTO.md new file mode 100644 index 000000000..ad5725229 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PlanningPlanDTO.md @@ -0,0 +1,36 @@ +# PlanningPlanDTO + +The definition of a plan. Plans are defined on planning models, and each plan may define multiple scenarios or snapshots. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**default_contexts** | [**List[PlanningPlanContextDTO]**](PlanningPlanContextDTO.md) | The contexts defined for the plan. | [optional] +**id** | **str** | The unique identifier of the plan. Note: See `PlanningPlans` to get the ID. | [optional] +**name** | **str** | The name of the plan. | [optional] +**plan_dimension_ids** | **List[str]** | The IDs of the dimensions defined for the plan. | [optional] +**scenarios** | [**List[ScenarioOrSnapshotDTO]**](ScenarioOrSnapshotDTO.md) | The available scenarios for the plan. | [optional] +**snapshots** | [**List[ScenarioOrSnapshotDTO]**](ScenarioOrSnapshotDTO.md) | The available snapshots for the plan. | [optional] +**subject_id** | **str** | The ID of subject for the plan. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.planning_plan_dto import PlanningPlanDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PlanningPlanDTO from a JSON string +planning_plan_dto_instance = PlanningPlanDTO.from_json(json) +# print the JSON string representation of the object +print(PlanningPlanDTO.to_json()) + +# convert the object into a dict +planning_plan_dto_dict = planning_plan_dto_instance.to_dict() +# create an instance of PlanningPlanDTO from a dict +planning_plan_dto_from_dict = PlanningPlanDTO.from_dict(planning_plan_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PlanningPlansDTO.md b/src/visier.sdk.api.analytic_model/docs/PlanningPlansDTO.md new file mode 100644 index 000000000..d0633bab8 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PlanningPlansDTO.md @@ -0,0 +1,30 @@ +# PlanningPlansDTO + +A collection of plan definitions. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**plans** | [**List[PlanningPlanDTO]**](PlanningPlanDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.planning_plans_dto import PlanningPlansDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PlanningPlansDTO from a JSON string +planning_plans_dto_instance = PlanningPlansDTO.from_json(json) +# print the JSON string representation of the object +print(PlanningPlansDTO.to_json()) + +# convert the object into a dict +planning_plans_dto_dict = planning_plans_dto_instance.to_dict() +# create an instance of PlanningPlansDTO from a dict +planning_plans_dto_from_dict = PlanningPlansDTO.from_dict(planning_plans_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PopulationConfigurationDTO.md b/src/visier.sdk.api.analytic_model/docs/PopulationConfigurationDTO.md new file mode 100644 index 000000000..dcc914307 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PopulationConfigurationDTO.md @@ -0,0 +1,32 @@ +# PopulationConfigurationDTO + +A set of property and dimension references configured by Visier or an administrator to tell the platform what properties and dimensions to use when doing population insight calculations. These are the distinguishing properties, change history properties, and grouping dimensions to use in AI insights. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**change_history_properties** | [**List[PropertyReferenceDTO]**](PropertyReferenceDTO.md) | Properties that are used by default to compare subject members over time. | [optional] +**distinguishing_properties** | [**List[PropertyReferenceDTO]**](PropertyReferenceDTO.md) | Properties that are used by default to compare subject members. | [optional] +**grouping_dimensions** | [**List[DimensionReferenceDTO]**](DimensionReferenceDTO.md) | Dimensions to use for grouping and clustering the population. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.population_configuration_dto import PopulationConfigurationDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PopulationConfigurationDTO from a JSON string +population_configuration_dto_instance = PopulationConfigurationDTO.from_json(json) +# print the JSON string representation of the object +print(PopulationConfigurationDTO.to_json()) + +# convert the object into a dict +population_configuration_dto_dict = population_configuration_dto_instance.to_dict() +# create an instance of PopulationConfigurationDTO from a dict +population_configuration_dto_from_dict = PopulationConfigurationDTO.from_dict(population_configuration_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PredictionDTO.md b/src/visier.sdk.api.analytic_model/docs/PredictionDTO.md new file mode 100644 index 000000000..bd664cc16 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PredictionDTO.md @@ -0,0 +1,48 @@ +# PredictionDTO + +A prediction is a forecast of future events with advanced machine learning models. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_end_date** | **str** | The date from which data is no longer available for this prediction. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers. | [optional] +**data_start_date** | **str** | The date from which data becomes available for this prediction. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers. | [optional] +**description** | **str** | The localized description of the prediction. | [optional] +**display_name** | **str** | The localized display name of the prediction. | [optional] +**event** | **str** | The object name of the event to predict. The prediction's training data uses past occurrences of the event to make predictions. For example, the Predicted Risk of Resignation model uses the Employee_Exit event to estimate likelihood of exit from the organization. | [optional] +**event_filter** | **str** | The object name of a selection concept to filter event occurrences in the prediction's training data. | [optional] +**factor_concepts** | **List[str]** | The list of unique IDs of the concepts used as prediction factors. | [optional] +**factor_dimensions** | **List[str]** | The list of unique IDs of the dimensions used as prediction factors. | [optional] +**factor_properties** | **List[str]** | The list of unique IDs of the properties used as prediction factors. Note: Factors are conditions used as part of a Visier prediction. For example, Compensation might be a factor in predicting an individual's risk of resignation. Factors are chosen based on: - Availability in tenants. - Prediction impact, such as salary. - Reducing bias. | [optional] +**factors_name** | **str** | The unique name of the factor property. The prediction's formula references the factor property as an object. This is automatically generated. | [optional] +**id** | **str** | The unique ID of the prediction. Note: See `Predictions` to get the ID. | [optional] +**is_multi_tenant** | **bool** | If `true`, this prediction applies to more than one tenant. If \"false\", the prediction only applies to the current tenant. | [optional] +**label_property** | **str** | The unique ID of the property label for the prediction. This is automatically generated. | [optional] +**minimum_training_months** | **str** | The minimum amount of time, in months, to train the prediction model. | [optional] +**score_name** | **str** | The unique name of the score property. The prediction's formula references the score property as an object. This is automatically generated. | [optional] +**subject** | **str** | The object name of the subject that the prediction applies to. For example, Employee. | [optional] +**subject_filter** | **str** | The object name of a selection concept to filter the subject population. Filtering the population selects specific subject members in the prediction's training data. For example, using the isHighPerformer concept will filter the prediction to only high performing employees. | [optional] +**subject_key** | **str** | The unique ID of the subject's property that the prediction applies to. For example, Employee.EmployeeID. | [optional] +**subject_parent_key** | **str** | The unique ID of the reference that connects a subject member to other members. For example, Employee.Direct_Manager. Note: The `subjectParentKey` defines parent, child, and peer relationships between subject members. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.prediction_dto import PredictionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PredictionDTO from a JSON string +prediction_dto_instance = PredictionDTO.from_json(json) +# print the JSON string representation of the object +print(PredictionDTO.to_json()) + +# convert the object into a dict +prediction_dto_dict = prediction_dto_instance.to_dict() +# create an instance of PredictionDTO from a dict +prediction_dto_from_dict = PredictionDTO.from_dict(prediction_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PredictionsDTO.md b/src/visier.sdk.api.analytic_model/docs/PredictionsDTO.md new file mode 100644 index 000000000..da246198a --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PredictionsDTO.md @@ -0,0 +1,30 @@ +# PredictionsDTO + +A collection of predictions. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**predictions** | [**List[PredictionDTO]**](PredictionDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.predictions_dto import PredictionsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PredictionsDTO from a JSON string +predictions_dto_instance = PredictionsDTO.from_json(json) +# print the JSON string representation of the object +print(PredictionsDTO.to_json()) + +# convert the object into a dict +predictions_dto_dict = predictions_dto_instance.to_dict() +# create an instance of PredictionsDTO from a dict +predictions_dto_from_dict = PredictionsDTO.from_dict(predictions_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PropertiesDTO.md b/src/visier.sdk.api.analytic_model/docs/PropertiesDTO.md new file mode 100644 index 000000000..b4469bdee --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PropertiesDTO.md @@ -0,0 +1,30 @@ +# PropertiesDTO + +A collection of properties. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**properties** | [**List[PropertyDTO]**](PropertyDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.properties_dto import PropertiesDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PropertiesDTO from a JSON string +properties_dto_instance = PropertiesDTO.from_json(json) +# print the JSON string representation of the object +print(PropertiesDTO.to_json()) + +# convert the object into a dict +properties_dto_dict = properties_dto_instance.to_dict() +# create an instance of PropertiesDTO from a dict +properties_dto_from_dict = PropertiesDTO.from_dict(properties_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PropertyDTO.md b/src/visier.sdk.api.analytic_model/docs/PropertyDTO.md new file mode 100644 index 000000000..02997edf4 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PropertyDTO.md @@ -0,0 +1,36 @@ +# PropertyDTO + +Properties are qualities of an analytic object. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_type** | **str** | The data type of the property, such as Categorical, HourDuration, or Ratio. | [optional] +**description** | **str** | The localized description of the property. | [optional] +**display_name** | **str** | The localized display name of the property. | [optional] +**id** | **str** | The unique ID of the property. **Note:** See `Properties` to get the ID. | [optional] +**parameters** | [**List[ParameterDefinitionDTO]**](ParameterDefinitionDTO.md) | The collection of parameters defined for the property. | [optional] +**primitive_data_type** | **str** | The primitive data type of the property, such as Number, String, or Boolean. | [optional] +**tags** | [**List[TagMapElementDTO]**](TagMapElementDTO.md) | The optional collection of tags defined for this element. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.property_dto import PropertyDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PropertyDTO from a JSON string +property_dto_instance = PropertyDTO.from_json(json) +# print the JSON string representation of the object +print(PropertyDTO.to_json()) + +# convert the object into a dict +property_dto_dict = property_dto_instance.to_dict() +# create an instance of PropertyDTO from a dict +property_dto_from_dict = PropertyDTO.from_dict(property_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/PropertyReferenceDTO.md b/src/visier.sdk.api.analytic_model/docs/PropertyReferenceDTO.md new file mode 100644 index 000000000..500744cda --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/PropertyReferenceDTO.md @@ -0,0 +1,31 @@ +# PropertyReferenceDTO + +The name and qualifying path of a property to query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | The ID of the property. See `Properties` to get the ID. | [optional] +**qualifying_path** | **str** | The qualifying path to the property in Visier, such as the analytic object or event the property is associated with. If the path has multiple objects, each object is separated by a period. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.property_reference_dto import PropertyReferenceDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PropertyReferenceDTO from a JSON string +property_reference_dto_instance = PropertyReferenceDTO.from_json(json) +# print the JSON string representation of the object +print(PropertyReferenceDTO.to_json()) + +# convert the object into a dict +property_reference_dto_dict = property_reference_dto_instance.to_dict() +# create an instance of PropertyReferenceDTO from a dict +property_reference_dto_from_dict = PropertyReferenceDTO.from_dict(property_reference_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/ScenarioOrSnapshotDTO.md b/src/visier.sdk.api.analytic_model/docs/ScenarioOrSnapshotDTO.md new file mode 100644 index 000000000..21a742aa2 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/ScenarioOrSnapshotDTO.md @@ -0,0 +1,31 @@ +# ScenarioOrSnapshotDTO + +The unique identifier and display name for plan scenarios and snapshots. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | The scenario or snapshot display name. | [optional] +**id** | **str** | The identifier of the scenario or snapshot. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.scenario_or_snapshot_dto import ScenarioOrSnapshotDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ScenarioOrSnapshotDTO from a JSON string +scenario_or_snapshot_dto_instance = ScenarioOrSnapshotDTO.from_json(json) +# print the JSON string representation of the object +print(ScenarioOrSnapshotDTO.to_json()) + +# convert the object into a dict +scenario_or_snapshot_dto_dict = scenario_or_snapshot_dto_instance.to_dict() +# create an instance of ScenarioOrSnapshotDTO from a dict +scenario_or_snapshot_dto_from_dict = ScenarioOrSnapshotDTO.from_dict(scenario_or_snapshot_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/SelectionConceptConfigurationMapDTO.md b/src/visier.sdk.api.analytic_model/docs/SelectionConceptConfigurationMapDTO.md new file mode 100644 index 000000000..d58ce4ca0 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/SelectionConceptConfigurationMapDTO.md @@ -0,0 +1,29 @@ +# SelectionConceptConfigurationMapDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_object_filters_to_map** | [**List[AnalyticObjectFilterDTO]**](AnalyticObjectFilterDTO.md) | A list of analytic object filters indicating the analytic object and dimension members used for the selection concept. Note: If this array is empty, all filters will be removed for the concept. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.selection_concept_configuration_map_dto import SelectionConceptConfigurationMapDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SelectionConceptConfigurationMapDTO from a JSON string +selection_concept_configuration_map_dto_instance = SelectionConceptConfigurationMapDTO.from_json(json) +# print the JSON string representation of the object +print(SelectionConceptConfigurationMapDTO.to_json()) + +# convert the object into a dict +selection_concept_configuration_map_dto_dict = selection_concept_configuration_map_dto_instance.to_dict() +# create an instance of SelectionConceptConfigurationMapDTO from a dict +selection_concept_configuration_map_dto_from_dict = SelectionConceptConfigurationMapDTO.from_dict(selection_concept_configuration_map_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/SelectionConceptDTO.md b/src/visier.sdk.api.analytic_model/docs/SelectionConceptDTO.md new file mode 100644 index 000000000..491d9940f --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/SelectionConceptDTO.md @@ -0,0 +1,34 @@ +# SelectionConceptDTO + +Selection concepts select a population of subject members of a given subject or event. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | The localized description of the selection concept. | [optional] +**display_name** | **str** | The localized display name of the selection concept. | [optional] +**id** | **str** | The unique ID of the selection concept Note: See `SelectionConcepts` to get the ID. | [optional] +**tags** | [**List[TagMapElementDTO]**](TagMapElementDTO.md) | The optional collection of tags defined for this element. | [optional] +**visible_in_app** | **bool** | `true` if this selection concept is set to be visible in your solution. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.selection_concept_dto import SelectionConceptDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SelectionConceptDTO from a JSON string +selection_concept_dto_instance = SelectionConceptDTO.from_json(json) +# print the JSON string representation of the object +print(SelectionConceptDTO.to_json()) + +# convert the object into a dict +selection_concept_dto_dict = selection_concept_dto_instance.to_dict() +# create an instance of SelectionConceptDTO from a dict +selection_concept_dto_from_dict = SelectionConceptDTO.from_dict(selection_concept_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/SelectionConceptListDTO.md b/src/visier.sdk.api.analytic_model/docs/SelectionConceptListDTO.md new file mode 100644 index 000000000..fe12b7e5b --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/SelectionConceptListDTO.md @@ -0,0 +1,29 @@ +# SelectionConceptListDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**concepts** | [**List[SelectionConceptDTO]**](SelectionConceptDTO.md) | A list of objects representing selection concepts. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.selection_concept_list_dto import SelectionConceptListDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SelectionConceptListDTO from a JSON string +selection_concept_list_dto_instance = SelectionConceptListDTO.from_json(json) +# print the JSON string representation of the object +print(SelectionConceptListDTO.to_json()) + +# convert the object into a dict +selection_concept_list_dto_dict = selection_concept_list_dto_instance.to_dict() +# create an instance of SelectionConceptListDTO from a dict +selection_concept_list_dto_from_dict = SelectionConceptListDTO.from_dict(selection_concept_list_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/SelectionConceptsDTO.md b/src/visier.sdk.api.analytic_model/docs/SelectionConceptsDTO.md new file mode 100644 index 000000000..01a110608 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/SelectionConceptsDTO.md @@ -0,0 +1,30 @@ +# SelectionConceptsDTO + +A collection of selection concepts + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**selection_concepts** | [**List[SelectionConceptDTO]**](SelectionConceptDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.selection_concepts_dto import SelectionConceptsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SelectionConceptsDTO from a JSON string +selection_concepts_dto_instance = SelectionConceptsDTO.from_json(json) +# print the JSON string representation of the object +print(SelectionConceptsDTO.to_json()) + +# convert the object into a dict +selection_concepts_dto_dict = selection_concepts_dto_instance.to_dict() +# create an instance of SelectionConceptsDTO from a dict +selection_concepts_dto_from_dict = SelectionConceptsDTO.from_dict(selection_concepts_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/Status.md b/src/visier.sdk.api.analytic_model/docs/Status.md new file mode 100644 index 000000000..fa719bfca --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/Status.md @@ -0,0 +1,32 @@ +# Status + +The response structure for errors. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | Error classification. | [optional] +**message** | **str** | Error message describing the root cause of the error. | [optional] +**rci** | **str** | Optional root cause identifier. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.status import Status + +# TODO update the JSON string below +json = "{}" +# create an instance of Status from a JSON string +status_instance = Status.from_json(json) +# print the JSON string representation of the object +print(Status.to_json()) + +# convert the object into a dict +status_dict = status_instance.to_dict() +# create an instance of Status from a dict +status_from_dict = Status.from_dict(status_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/TagMapElementDTO.md b/src/visier.sdk.api.analytic_model/docs/TagMapElementDTO.md new file mode 100644 index 000000000..f8c7fd0c1 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/TagMapElementDTO.md @@ -0,0 +1,31 @@ +# TagMapElementDTO + +Tag identifier and display name pair. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | The localized display name of the tag. | [optional] +**id** | **str** | The unique ID of the tag. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.tag_map_element_dto import TagMapElementDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TagMapElementDTO from a JSON string +tag_map_element_dto_instance = TagMapElementDTO.from_json(json) +# print the JSON string representation of the object +print(TagMapElementDTO.to_json()) + +# convert the object into a dict +tag_map_element_dto_dict = tag_map_element_dto_instance.to_dict() +# create an instance of TagMapElementDTO from a dict +tag_map_element_dto_from_dict = TagMapElementDTO.from_dict(tag_map_element_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/docs/ValidityRangeDTO.md b/src/visier.sdk.api.analytic_model/docs/ValidityRangeDTO.md new file mode 100644 index 000000000..506d45589 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/docs/ValidityRangeDTO.md @@ -0,0 +1,31 @@ +# ValidityRangeDTO + +A pair of values that represent the time interval to which the data is valid. The validity range is defined in Unix epoch format and UTC timezone. Note: Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**end** | **str** | The date from which data is no longer available. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. | [optional] +**start** | **str** | The date from which data becomes available. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. | [optional] + +## Example + +```python +from visier.sdk.api.analytic_model.models.validity_range_dto import ValidityRangeDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ValidityRangeDTO from a JSON string +validity_range_dto_instance = ValidityRangeDTO.from_json(json) +# print the JSON string representation of the object +print(ValidityRangeDTO.to_json()) + +# convert the object into a dict +validity_range_dto_dict = validity_range_dto_instance.to_dict() +# create an instance of ValidityRangeDTO from a dict +validity_range_dto_from_dict = ValidityRangeDTO.from_dict(validity_range_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.analytic_model/git_push.sh b/src/visier.sdk.api.analytic_model/git_push.sh new file mode 100644 index 000000000..f53a75d4f --- /dev/null +++ b/src/visier.sdk.api.analytic_model/git_push.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 +git_host=$4 + +if [ "$git_host" = "" ]; then + git_host="github.com" + echo "[INFO] No command line input provided. Set \$git_host to $git_host" +fi + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=$(git remote) +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' diff --git a/src/visier.sdk.api.analytic_model/pyproject.toml b/src/visier.sdk.api.analytic_model/pyproject.toml new file mode 100644 index 000000000..6e1ee20d9 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/pyproject.toml @@ -0,0 +1,71 @@ +[tool.poetry] +name = "visier.sdk.api.analytic_model" +version = "0.0.1" +description = "Visier Analytic Model APIs" +authors = ["OpenAPI Generator Community "] +license = "Apache License, Version 2.0" +readme = "README.md" +repository = "https://github.com/GIT_USER_ID/GIT_REPO_ID" +keywords = ["OpenAPI", "OpenAPI-Generator", "Visier Analytic Model APIs"] +include = ["visier.sdk.api.analytic_model/py.typed"] + +[tool.poetry.dependencies] +python = "^3.7" + +urllib3 = ">= 1.25.3" +python-dateutil = ">=2.8.2" +pydantic = ">=2" +typing-extensions = ">=4.7.1" + +[tool.poetry.dev-dependencies] +pytest = ">=7.2.1" +tox = ">=3.9.0" +flake8 = ">=4.0.0" +types-python-dateutil = ">=2.8.19.14" +mypy = "1.4.1" + + +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[tool.pylint.'MESSAGES CONTROL'] +extension-pkg-whitelist = "pydantic" + +[tool.mypy] +files = [ + "visier.sdk.api.analytic_model", + #"test", # auto-generated tests + "tests", # hand-written tests +] +# TODO: enable "strict" once all these individual checks are passing +# strict = true + +# List from: https://mypy.readthedocs.io/en/stable/existing_code.html#introduce-stricter-options +warn_unused_configs = true +warn_redundant_casts = true +warn_unused_ignores = true + +## Getting these passing should be easy +strict_equality = true +strict_concatenate = true + +## Strongly recommend enabling this one as soon as you can +check_untyped_defs = true + +## These shouldn't be too much additional work, but may be tricky to +## get passing if you use a lot of untyped libraries +disallow_subclassing_any = true +disallow_untyped_decorators = true +disallow_any_generics = true + +### These next few are various gradations of forcing use of type annotations +#disallow_untyped_calls = true +#disallow_incomplete_defs = true +#disallow_untyped_defs = true +# +### This one isn't too hard to get passing, but return on investment is lower +#no_implicit_reexport = true +# +### This one can be tricky to get passing if you use a lot of untyped libraries +#warn_return_any = true diff --git a/src/visier.sdk.api.analytic_model/requirements.txt b/src/visier.sdk.api.analytic_model/requirements.txt new file mode 100644 index 000000000..931b4e384 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/requirements.txt @@ -0,0 +1,6 @@ +python_dateutil >= 2.5.3 +setuptools >= 21.0.0 +urllib3 >= 1.25.3, < 2.1.0 +pydantic >= 2 +typing-extensions >= 4.7.1 +Flask >= 3.0.0 \ No newline at end of file diff --git a/src/visier.sdk.api.analytic_model/setup.cfg b/src/visier.sdk.api.analytic_model/setup.cfg new file mode 100644 index 000000000..11433ee87 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/setup.cfg @@ -0,0 +1,2 @@ +[flake8] +max-line-length=99 diff --git a/src/visier.sdk.api.analytic_model/setup.py b/src/visier.sdk.api.analytic_model/setup.py new file mode 100644 index 000000000..66ae04fae --- /dev/null +++ b/src/visier.sdk.api.analytic_model/setup.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from setuptools import setup, find_packages # noqa: H301 + +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools +NAME = "visier.sdk.api.analytic-model" +VERSION = "0.0.1" +PYTHON_REQUIRES = ">=3.7" +REQUIRES = [ + "urllib3 >= 1.25.3, < 2.1.0", + "python-dateutil", + "pydantic >= 2", + "typing-extensions >= 4.7.1", +] + +setup( + name=NAME, + version=VERSION, + description="Visier Analytic Model APIs", + author="OpenAPI Generator community", + author_email="team@openapitools.org", + url="", + keywords=["OpenAPI", "OpenAPI-Generator", "Visier Analytic Model APIs"], + install_requires=REQUIRES, + packages=find_packages(exclude=["test", "tests"]), + include_package_data=True, + license="Apache License, Version 2.0", + long_description_content_type='text/markdown', + long_description="""\ + Visier APIs for retrieving and configuring your analytic model in Visier. + """, # noqa: E501 + package_data={"visier.sdk.api.analytic_model": ["py.typed"]}, +) diff --git a/src/visier.sdk.api.analytic_model/test-requirements.txt b/src/visier.sdk.api.analytic_model/test-requirements.txt new file mode 100644 index 000000000..8e6d8cb13 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test-requirements.txt @@ -0,0 +1,5 @@ +pytest~=7.1.3 +pytest-cov>=2.8.1 +pytest-randomly>=3.12.0 +mypy>=1.4.1 +types-python-dateutil>=2.8.19 diff --git a/src/visier.sdk.api.analytic_model/test/__init__.py b/src/visier.sdk.api.analytic_model/test/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.analytic_model/test/test_aggregation_type_option_dto.py b/src/visier.sdk.api.analytic_model/test/test_aggregation_type_option_dto.py new file mode 100644 index 000000000..ea1c20ff7 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_aggregation_type_option_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.aggregation_type_option_dto import AggregationTypeOptionDTO + +class TestAggregationTypeOptionDTO(unittest.TestCase): + """AggregationTypeOptionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AggregationTypeOptionDTO: + """Test AggregationTypeOptionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AggregationTypeOptionDTO` + """ + model = AggregationTypeOptionDTO() + if include_optional: + return AggregationTypeOptionDTO( + aggregation_function = '', + display_name = '', + id = '', + is_default = True, + property_name = '' + ) + else: + return AggregationTypeOptionDTO( + ) + """ + + def testAggregationTypeOptionDTO(self): + """Test AggregationTypeOptionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_aggregation_type_parameter_dto.py b/src/visier.sdk.api.analytic_model/test/test_aggregation_type_parameter_dto.py new file mode 100644 index 000000000..3be2840be --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_aggregation_type_parameter_dto.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.aggregation_type_parameter_dto import AggregationTypeParameterDTO + +class TestAggregationTypeParameterDTO(unittest.TestCase): + """AggregationTypeParameterDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AggregationTypeParameterDTO: + """Test AggregationTypeParameterDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AggregationTypeParameterDTO` + """ + model = AggregationTypeParameterDTO() + if include_optional: + return AggregationTypeParameterDTO( + description = '', + display_name = '', + id = '', + parameter_options = [ + visier.sdk.api.analytic_model.models.aggregation_type_option_dto.AggregationTypeOptionDTO( + aggregation_function = '', + display_name = '', + id = '', + is_default = True, + property_name = '', ) + ] + ) + else: + return AggregationTypeParameterDTO( + ) + """ + + def testAggregationTypeParameterDTO(self): + """Test AggregationTypeParameterDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_analytic_object_dto.py b/src/visier.sdk.api.analytic_model/test/test_analytic_object_dto.py new file mode 100644 index 000000000..72d9e2170 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_analytic_object_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.analytic_object_dto import AnalyticObjectDTO + +class TestAnalyticObjectDTO(unittest.TestCase): + """AnalyticObjectDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AnalyticObjectDTO: + """Test AnalyticObjectDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AnalyticObjectDTO` + """ + model = AnalyticObjectDTO() + if include_optional: + return AnalyticObjectDTO( + data_end_date = '', + data_start_date = '', + description = '', + dimension_ids = [ + '' + ], + display_name = '', + id = '', + object_references = [ + visier.sdk.api.analytic_model.models.object_reference_dto.ObjectReferenceDTO( + description = '', + display_name = '', + from_object = '', + id = '', + is_strong_reference = True, + to_object = '', + type = 'SUBJECT_REFERENCE', ) + ], + population_configuration = visier.sdk.api.analytic_model.models.population_configuration_dto.PopulationConfigurationDTO( + change_history_properties = [ + visier.sdk.api.analytic_model.models.property_reference_dto.PropertyReferenceDTO( + name = '', + qualifying_path = '', ) + ], + distinguishing_properties = [ + visier.sdk.api.analytic_model.models.property_reference_dto.PropertyReferenceDTO( + name = '', + qualifying_path = '', ) + ], + grouping_dimensions = [ + visier.sdk.api.analytic_model.models.dimension_reference_dto.DimensionReferenceDTO( + name = '', + qualifying_path = '', ) + ], ), + property_ids = [ + '' + ], + selection_concept_ids = [ + '' + ], + type = 'SUBJECT' + ) + else: + return AnalyticObjectDTO( + ) + """ + + def testAnalyticObjectDTO(self): + """Test AnalyticObjectDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_analytic_object_filter_dto.py b/src/visier.sdk.api.analytic_model/test/test_analytic_object_filter_dto.py new file mode 100644 index 000000000..21ec3af08 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_analytic_object_filter_dto.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.analytic_object_filter_dto import AnalyticObjectFilterDTO + +class TestAnalyticObjectFilterDTO(unittest.TestCase): + """AnalyticObjectFilterDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AnalyticObjectFilterDTO: + """Test AnalyticObjectFilterDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AnalyticObjectFilterDTO` + """ + model = AnalyticObjectFilterDTO() + if include_optional: + return AnalyticObjectFilterDTO( + analytic_object_uuid = '', + dimensions = [ + visier.sdk.api.analytic_model.models.dimension_filter_dto.DimensionFilterDTO( + dimension_id = '', + dimension_members = [ + visier.sdk.api.analytic_model.models.dimension_member_dto.DimensionMemberDTO( + dimension_member = [ + '' + ], ) + ], + symbol_name = '', ) + ], + symbol_name = '' + ) + else: + return AnalyticObjectFilterDTO( + ) + """ + + def testAnalyticObjectFilterDTO(self): + """Test AnalyticObjectFilterDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_analytic_objects_dto.py b/src/visier.sdk.api.analytic_model/test/test_analytic_objects_dto.py new file mode 100644 index 000000000..5517dab8e --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_analytic_objects_dto.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.analytic_objects_dto import AnalyticObjectsDTO + +class TestAnalyticObjectsDTO(unittest.TestCase): + """AnalyticObjectsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AnalyticObjectsDTO: + """Test AnalyticObjectsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AnalyticObjectsDTO` + """ + model = AnalyticObjectsDTO() + if include_optional: + return AnalyticObjectsDTO( + analytic_objects = [ + visier.sdk.api.analytic_model.models.analytic_object_dto.AnalyticObjectDTO( + data_end_date = '', + data_start_date = '', + description = '', + dimension_ids = [ + '' + ], + display_name = '', + id = '', + object_references = [ + visier.sdk.api.analytic_model.models.object_reference_dto.ObjectReferenceDTO( + description = '', + display_name = '', + from_object = '', + id = '', + is_strong_reference = True, + to_object = '', + type = 'SUBJECT_REFERENCE', ) + ], + population_configuration = null, + property_ids = [ + '' + ], + selection_concept_ids = [ + '' + ], + type = 'SUBJECT', ) + ] + ) + else: + return AnalyticObjectsDTO( + ) + """ + + def testAnalyticObjectsDTO(self): + """Test AnalyticObjectsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_calculation_concept_configuration_dto.py b/src/visier.sdk.api.analytic_model/test/test_calculation_concept_configuration_dto.py new file mode 100644 index 000000000..5dc4ea936 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_calculation_concept_configuration_dto.py @@ -0,0 +1,76 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.calculation_concept_configuration_dto import CalculationConceptConfigurationDTO + +class TestCalculationConceptConfigurationDTO(unittest.TestCase): + """CalculationConceptConfigurationDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CalculationConceptConfigurationDTO: + """Test CalculationConceptConfigurationDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CalculationConceptConfigurationDTO` + """ + model = CalculationConceptConfigurationDTO() + if include_optional: + return CalculationConceptConfigurationDTO( + perspectives = [ + visier.sdk.api.analytic_model.models.perspective_configuration_dto.PerspectiveConfigurationDTO( + perspective_id = '', + perspective_name = '', + perspective_nodes = [ + visier.sdk.api.analytic_model.models.perspective_node_dto.PerspectiveNodeDTO( + analytic_object_filters = [ + visier.sdk.api.analytic_model.models.analytic_object_filter_dto.AnalyticObjectFilterDTO( + analytic_object_uuid = '', + dimensions = [ + visier.sdk.api.analytic_model.models.dimension_filter_dto.DimensionFilterDTO( + dimension_id = '', + dimension_members = [ + visier.sdk.api.analytic_model.models.dimension_member_dto.DimensionMemberDTO( + dimension_member = [ + '' + ], ) + ], + symbol_name = '', ) + ], + symbol_name = '', ) + ], + selection_concept_uuid = '', + symbol_name = '', ) + ], ) + ] + ) + else: + return CalculationConceptConfigurationDTO( + ) + """ + + def testCalculationConceptConfigurationDTO(self): + """Test CalculationConceptConfigurationDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_calculation_concept_configuration_map_dto.py b/src/visier.sdk.api.analytic_model/test/test_calculation_concept_configuration_map_dto.py new file mode 100644 index 000000000..72753fb6e --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_calculation_concept_configuration_map_dto.py @@ -0,0 +1,76 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.calculation_concept_configuration_map_dto import CalculationConceptConfigurationMapDTO + +class TestCalculationConceptConfigurationMapDTO(unittest.TestCase): + """CalculationConceptConfigurationMapDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CalculationConceptConfigurationMapDTO: + """Test CalculationConceptConfigurationMapDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CalculationConceptConfigurationMapDTO` + """ + model = CalculationConceptConfigurationMapDTO() + if include_optional: + return CalculationConceptConfigurationMapDTO( + perspectives_to_map = [ + visier.sdk.api.analytic_model.models.perspective_configuration_dto.PerspectiveConfigurationDTO( + perspective_id = '', + perspective_name = '', + perspective_nodes = [ + visier.sdk.api.analytic_model.models.perspective_node_dto.PerspectiveNodeDTO( + analytic_object_filters = [ + visier.sdk.api.analytic_model.models.analytic_object_filter_dto.AnalyticObjectFilterDTO( + analytic_object_uuid = '', + dimensions = [ + visier.sdk.api.analytic_model.models.dimension_filter_dto.DimensionFilterDTO( + dimension_id = '', + dimension_members = [ + visier.sdk.api.analytic_model.models.dimension_member_dto.DimensionMemberDTO( + dimension_member = [ + '' + ], ) + ], + symbol_name = '', ) + ], + symbol_name = '', ) + ], + selection_concept_uuid = '', + symbol_name = '', ) + ], ) + ] + ) + else: + return CalculationConceptConfigurationMapDTO( + ) + """ + + def testCalculationConceptConfigurationMapDTO(self): + """Test CalculationConceptConfigurationMapDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_calculation_concept_dto.py b/src/visier.sdk.api.analytic_model/test/test_calculation_concept_dto.py new file mode 100644 index 000000000..93e8e1265 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_calculation_concept_dto.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.calculation_concept_dto import CalculationConceptDTO + +class TestCalculationConceptDTO(unittest.TestCase): + """CalculationConceptDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CalculationConceptDTO: + """Test CalculationConceptDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CalculationConceptDTO` + """ + model = CalculationConceptDTO() + if include_optional: + return CalculationConceptDTO( + configuration = visier.sdk.api.analytic_model.models.calculation_concept_configuration_dto.CalculationConceptConfigurationDTO( + perspectives = [ + visier.sdk.api.analytic_model.models.perspective_configuration_dto.PerspectiveConfigurationDTO( + perspective_id = '', + perspective_name = '', + perspective_nodes = [ + visier.sdk.api.analytic_model.models.perspective_node_dto.PerspectiveNodeDTO( + analytic_object_filters = [ + visier.sdk.api.analytic_model.models.analytic_object_filter_dto.AnalyticObjectFilterDTO( + analytic_object_uuid = '', + dimensions = [ + visier.sdk.api.analytic_model.models.dimension_filter_dto.DimensionFilterDTO( + dimension_id = '', + dimension_members = [ + visier.sdk.api.analytic_model.models.dimension_member_dto.DimensionMemberDTO( + dimension_member = [ + '' + ], ) + ], + symbol_name = '', ) + ], + symbol_name = '', ) + ], + selection_concept_uuid = '', + symbol_name = '', ) + ], ) + ], ), + name = '', + uuid = '' + ) + else: + return CalculationConceptDTO( + ) + """ + + def testCalculationConceptDTO(self): + """Test CalculationConceptDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_calculation_concept_list_dto.py b/src/visier.sdk.api.analytic_model/test/test_calculation_concept_list_dto.py new file mode 100644 index 000000000..ef57eea57 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_calculation_concept_list_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.calculation_concept_list_dto import CalculationConceptListDTO + +class TestCalculationConceptListDTO(unittest.TestCase): + """CalculationConceptListDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CalculationConceptListDTO: + """Test CalculationConceptListDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CalculationConceptListDTO` + """ + model = CalculationConceptListDTO() + if include_optional: + return CalculationConceptListDTO( + concepts = [ + visier.sdk.api.analytic_model.models.calculation_concept_dto.CalculationConceptDTO( + configuration = null, + name = '', + uuid = '', ) + ] + ) + else: + return CalculationConceptListDTO( + ) + """ + + def testCalculationConceptListDTO(self): + """Test CalculationConceptListDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_concept_configuration_result_dto.py b/src/visier.sdk.api.analytic_model/test/test_concept_configuration_result_dto.py new file mode 100644 index 000000000..e957cbe0f --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_concept_configuration_result_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.concept_configuration_result_dto import ConceptConfigurationResultDTO + +class TestConceptConfigurationResultDTO(unittest.TestCase): + """ConceptConfigurationResultDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConceptConfigurationResultDTO: + """Test ConceptConfigurationResultDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConceptConfigurationResultDTO` + """ + model = ConceptConfigurationResultDTO() + if include_optional: + return ConceptConfigurationResultDTO( + concept_id = '', + message = '', + project_id = '' + ) + else: + return ConceptConfigurationResultDTO( + ) + """ + + def testConceptConfigurationResultDTO(self): + """Test ConceptConfigurationResultDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_currencies_dto.py b/src/visier.sdk.api.analytic_model/test/test_currencies_dto.py new file mode 100644 index 000000000..dd7e58ab5 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_currencies_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.currencies_dto import CurrenciesDTO + +class TestCurrenciesDTO(unittest.TestCase): + """CurrenciesDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CurrenciesDTO: + """Test CurrenciesDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CurrenciesDTO` + """ + model = CurrenciesDTO() + if include_optional: + return CurrenciesDTO( + currencies = [ + visier.sdk.api.analytic_model.models.currency_dto.CurrencyDTO( + currency_code = '', + display_name = '', + short_symbol = '', + symbol = '', ) + ] + ) + else: + return CurrenciesDTO( + ) + """ + + def testCurrenciesDTO(self): + """Test CurrenciesDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_currency_dto.py b/src/visier.sdk.api.analytic_model/test/test_currency_dto.py new file mode 100644 index 000000000..9bbce6aae --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_currency_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.currency_dto import CurrencyDTO + +class TestCurrencyDTO(unittest.TestCase): + """CurrencyDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CurrencyDTO: + """Test CurrencyDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CurrencyDTO` + """ + model = CurrencyDTO() + if include_optional: + return CurrencyDTO( + currency_code = '', + display_name = '', + short_symbol = '', + symbol = '' + ) + else: + return CurrencyDTO( + ) + """ + + def testCurrencyDTO(self): + """Test CurrencyDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_currency_rate_dto.py b/src/visier.sdk.api.analytic_model/test/test_currency_rate_dto.py new file mode 100644 index 000000000..6d7143e32 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_currency_rate_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.currency_rate_dto import CurrencyRateDTO + +class TestCurrencyRateDTO(unittest.TestCase): + """CurrencyRateDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CurrencyRateDTO: + """Test CurrencyRateDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CurrencyRateDTO` + """ + model = CurrencyRateDTO() + if include_optional: + return CurrencyRateDTO( + end_time = '', + from_currency_code = '', + rate = 1.337, + start_time = '', + to_currency_code = '' + ) + else: + return CurrencyRateDTO( + ) + """ + + def testCurrencyRateDTO(self): + """Test CurrencyRateDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_currency_rates_dto.py b/src/visier.sdk.api.analytic_model/test/test_currency_rates_dto.py new file mode 100644 index 000000000..fadd784d2 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_currency_rates_dto.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.currency_rates_dto import CurrencyRatesDTO + +class TestCurrencyRatesDTO(unittest.TestCase): + """CurrencyRatesDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CurrencyRatesDTO: + """Test CurrencyRatesDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CurrencyRatesDTO` + """ + model = CurrencyRatesDTO() + if include_optional: + return CurrencyRatesDTO( + currency_rates = [ + visier.sdk.api.analytic_model.models.currency_rate_dto.CurrencyRateDTO( + end_time = '', + from_currency_code = '', + rate = 1.337, + start_time = '', + to_currency_code = '', ) + ] + ) + else: + return CurrencyRatesDTO( + ) + """ + + def testCurrencyRatesDTO(self): + """Test CurrencyRatesDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_data_model_api.py b/src/visier.sdk.api.analytic_model/test/test_data_model_api.py new file mode 100644 index 000000000..51233e125 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_data_model_api.py @@ -0,0 +1,220 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.api.data_model_api import DataModelApi + + +class TestDataModelApi(unittest.TestCase): + """DataModelApi unit test stubs""" + + def setUp(self) -> None: + self.api = DataModelApi() + + def tearDown(self) -> None: + pass + + def test_analytic_metrics(self) -> None: + """Test case for analytic_metrics + + Retrieve a list of metrics for an analytic object by ID + """ + pass + + def test_analytic_object(self) -> None: + """Test case for analytic_object + + Retrieve an analytic object by ID + """ + pass + + def test_analytic_objects(self) -> None: + """Test case for analytic_objects + + Retrieve a list of analytic objects + """ + pass + + def test_call_property(self) -> None: + """Test case for call_property + + Retrieve a property by ID + """ + pass + + def test_currencies(self) -> None: + """Test case for currencies + + Retrieve all currencies + """ + pass + + def test_currency(self) -> None: + """Test case for currency + + Retrieve a currency + """ + pass + + def test_currency_rates(self) -> None: + """Test case for currency_rates + + Retrieve all exchange rates for a currency + """ + pass + + def test_currency_rates_with_to_currency(self) -> None: + """Test case for currency_rates_with_to_currency + + Retrieve exchange rates from one currency to another currency + """ + pass + + def test_dimension(self) -> None: + """Test case for dimension + + Retrieve a dimension by ID + """ + pass + + def test_dimension_member_map_validation(self) -> None: + """Test case for dimension_member_map_validation + + Validate a member map's unmapped dimension members by ID + """ + pass + + def test_dimensions(self) -> None: + """Test case for dimensions + + Retrieve a list of dimensions + """ + pass + + def test_member(self) -> None: + """Test case for member + + Retrieve a dimension member + """ + pass + + def test_members(self) -> None: + """Test case for members + + Retrieve a list of dimension members + """ + pass + + def test_metric(self) -> None: + """Test case for metric + + Retrieve a metric by ID + """ + pass + + def test_metric_dimensions(self) -> None: + """Test case for metric_dimensions + + Retrieve a metric's dimensions + """ + pass + + def test_metric_selection_concepts(self) -> None: + """Test case for metric_selection_concepts + + Retrieve a metric's selection concepts + """ + pass + + def test_metrics(self) -> None: + """Test case for metrics + + Retrieve a list of metrics + """ + pass + + def test_planning_metrics(self) -> None: + """Test case for planning_metrics + + Retrieve metrics by planning model ID + """ + pass + + def test_planning_model(self) -> None: + """Test case for planning_model + + Retrieve a planning model by ID + """ + pass + + def test_planning_models(self) -> None: + """Test case for planning_models + + Retrieve a list of planning models + """ + pass + + def test_planning_plan(self) -> None: + """Test case for planning_plan + + Retrieve a plan by ID + """ + pass + + def test_planning_plans(self) -> None: + """Test case for planning_plans + + Retrieve a list of plans + """ + pass + + def test_prediction(self) -> None: + """Test case for prediction + + Retrieve a prediction by ID + """ + pass + + def test_predictions(self) -> None: + """Test case for predictions + + Retrieve a list of predictions + """ + pass + + def test_properties(self) -> None: + """Test case for properties + + Retrieve a list of properties + """ + pass + + def test_selection_concept(self) -> None: + """Test case for selection_concept + + Retrieve an analytic object's selection concept by ID + """ + pass + + def test_selection_concepts(self) -> None: + """Test case for selection_concepts + + Retrieve an analytic object's selection concepts + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_dimension_dto.py b/src/visier.sdk.api.analytic_model/test/test_dimension_dto.py new file mode 100644 index 000000000..3a3aa19b4 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_dimension_dto.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.dimension_dto import DimensionDTO + +class TestDimensionDTO(unittest.TestCase): + """DimensionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DimensionDTO: + """Test DimensionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DimensionDTO` + """ + model = DimensionDTO() + if include_optional: + return DimensionDTO( + description = '', + display_name = '', + id = '', + levels = [ + visier.sdk.api.analytic_model.models.level_dto.LevelDTO( + depth = 56, + display_name = '', + id = '', ) + ], + member_count = 56, + tags = [ + visier.sdk.api.analytic_model.models.tag_map_element_dto.TagMapElementDTO( + display_name = '', + id = '', ) + ], + unknown_member = [ + '' + ], + visible_in_app = True + ) + else: + return DimensionDTO( + ) + """ + + def testDimensionDTO(self): + """Test DimensionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_dimension_filter_dto.py b/src/visier.sdk.api.analytic_model/test/test_dimension_filter_dto.py new file mode 100644 index 000000000..d2525a902 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_dimension_filter_dto.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.dimension_filter_dto import DimensionFilterDTO + +class TestDimensionFilterDTO(unittest.TestCase): + """DimensionFilterDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DimensionFilterDTO: + """Test DimensionFilterDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DimensionFilterDTO` + """ + model = DimensionFilterDTO() + if include_optional: + return DimensionFilterDTO( + dimension_id = '', + dimension_members = [ + visier.sdk.api.analytic_model.models.dimension_member_dto.DimensionMemberDTO( + dimension_member = [ + '' + ], ) + ], + symbol_name = '' + ) + else: + return DimensionFilterDTO( + ) + """ + + def testDimensionFilterDTO(self): + """Test DimensionFilterDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_dimension_mapping_validation_dto.py b/src/visier.sdk.api.analytic_model/test/test_dimension_mapping_validation_dto.py new file mode 100644 index 000000000..7634ef05a --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_dimension_mapping_validation_dto.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.dimension_mapping_validation_dto import DimensionMappingValidationDTO + +class TestDimensionMappingValidationDTO(unittest.TestCase): + """DimensionMappingValidationDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DimensionMappingValidationDTO: + """Test DimensionMappingValidationDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DimensionMappingValidationDTO` + """ + model = DimensionMappingValidationDTO() + if include_optional: + return DimensionMappingValidationDTO( + dimension_id = '', + dimension_map_id = '', + failures = [ + '' + ], + unmapped_members = [ + visier.sdk.api.analytic_model.models.dimension_member_reference_dto.DimensionMemberReferenceDTO( + path = [ + '' + ], ) + ] + ) + else: + return DimensionMappingValidationDTO( + ) + """ + + def testDimensionMappingValidationDTO(self): + """Test DimensionMappingValidationDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_dimension_mapping_validation_execution_dto.py b/src/visier.sdk.api.analytic_model/test/test_dimension_mapping_validation_execution_dto.py new file mode 100644 index 000000000..64b5632ad --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_dimension_mapping_validation_execution_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.dimension_mapping_validation_execution_dto import DimensionMappingValidationExecutionDTO + +class TestDimensionMappingValidationExecutionDTO(unittest.TestCase): + """DimensionMappingValidationExecutionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DimensionMappingValidationExecutionDTO: + """Test DimensionMappingValidationExecutionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DimensionMappingValidationExecutionDTO` + """ + model = DimensionMappingValidationExecutionDTO() + if include_optional: + return DimensionMappingValidationExecutionDTO( + analytic_object = '', + member_map_id = '' + ) + else: + return DimensionMappingValidationExecutionDTO( + ) + """ + + def testDimensionMappingValidationExecutionDTO(self): + """Test DimensionMappingValidationExecutionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_dimension_member_dto.py b/src/visier.sdk.api.analytic_model/test/test_dimension_member_dto.py new file mode 100644 index 000000000..f9c98104a --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_dimension_member_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.dimension_member_dto import DimensionMemberDTO + +class TestDimensionMemberDTO(unittest.TestCase): + """DimensionMemberDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DimensionMemberDTO: + """Test DimensionMemberDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DimensionMemberDTO` + """ + model = DimensionMemberDTO() + if include_optional: + return DimensionMemberDTO( + dimension_member = [ + '' + ] + ) + else: + return DimensionMemberDTO( + ) + """ + + def testDimensionMemberDTO(self): + """Test DimensionMemberDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_dimension_member_reference_dto.py b/src/visier.sdk.api.analytic_model/test/test_dimension_member_reference_dto.py new file mode 100644 index 000000000..5a56c8a53 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_dimension_member_reference_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.dimension_member_reference_dto import DimensionMemberReferenceDTO + +class TestDimensionMemberReferenceDTO(unittest.TestCase): + """DimensionMemberReferenceDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DimensionMemberReferenceDTO: + """Test DimensionMemberReferenceDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DimensionMemberReferenceDTO` + """ + model = DimensionMemberReferenceDTO() + if include_optional: + return DimensionMemberReferenceDTO( + path = [ + '' + ] + ) + else: + return DimensionMemberReferenceDTO( + ) + """ + + def testDimensionMemberReferenceDTO(self): + """Test DimensionMemberReferenceDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_dimension_reference_dto.py b/src/visier.sdk.api.analytic_model/test/test_dimension_reference_dto.py new file mode 100644 index 000000000..15a82604b --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_dimension_reference_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.dimension_reference_dto import DimensionReferenceDTO + +class TestDimensionReferenceDTO(unittest.TestCase): + """DimensionReferenceDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DimensionReferenceDTO: + """Test DimensionReferenceDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DimensionReferenceDTO` + """ + model = DimensionReferenceDTO() + if include_optional: + return DimensionReferenceDTO( + name = '', + qualifying_path = '' + ) + else: + return DimensionReferenceDTO( + ) + """ + + def testDimensionReferenceDTO(self): + """Test DimensionReferenceDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_dimensions_dto.py b/src/visier.sdk.api.analytic_model/test/test_dimensions_dto.py new file mode 100644 index 000000000..1d9717b4a --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_dimensions_dto.py @@ -0,0 +1,72 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.dimensions_dto import DimensionsDTO + +class TestDimensionsDTO(unittest.TestCase): + """DimensionsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DimensionsDTO: + """Test DimensionsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DimensionsDTO` + """ + model = DimensionsDTO() + if include_optional: + return DimensionsDTO( + dimensions = [ + visier.sdk.api.analytic_model.models.dimension_dto.DimensionDTO( + description = '', + display_name = '', + id = '', + levels = [ + visier.sdk.api.analytic_model.models.level_dto.LevelDTO( + depth = 56, + display_name = '', + id = '', ) + ], + member_count = 56, + tags = [ + visier.sdk.api.analytic_model.models.tag_map_element_dto.TagMapElementDTO( + display_name = '', + id = '', ) + ], + unknown_member = [ + '' + ], + visible_in_app = True, ) + ] + ) + else: + return DimensionsDTO( + ) + """ + + def testDimensionsDTO(self): + """Test DimensionsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_google_protobuf_any.py b/src/visier.sdk.api.analytic_model/test/test_google_protobuf_any.py new file mode 100644 index 000000000..7afdae70b --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_google_protobuf_any.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.google_protobuf_any import GoogleProtobufAny + +class TestGoogleProtobufAny(unittest.TestCase): + """GoogleProtobufAny unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoogleProtobufAny: + """Test GoogleProtobufAny + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoogleProtobufAny` + """ + model = GoogleProtobufAny() + if include_optional: + return GoogleProtobufAny( + type = '' + ) + else: + return GoogleProtobufAny( + ) + """ + + def testGoogleProtobufAny(self): + """Test GoogleProtobufAny""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_level_dto.py b/src/visier.sdk.api.analytic_model/test/test_level_dto.py new file mode 100644 index 000000000..1b3e08bf5 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_level_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.level_dto import LevelDTO + +class TestLevelDTO(unittest.TestCase): + """LevelDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LevelDTO: + """Test LevelDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LevelDTO` + """ + model = LevelDTO() + if include_optional: + return LevelDTO( + depth = 56, + display_name = '', + id = '' + ) + else: + return LevelDTO( + ) + """ + + def testLevelDTO(self): + """Test LevelDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_member_dto.py b/src/visier.sdk.api.analytic_model/test/test_member_dto.py new file mode 100644 index 000000000..2dfe94249 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_member_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.member_dto import MemberDTO + +class TestMemberDTO(unittest.TestCase): + """MemberDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MemberDTO: + """Test MemberDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MemberDTO` + """ + model = MemberDTO() + if include_optional: + return MemberDTO( + display_name = '', + display_name_path = [ + '' + ], + full_name = '', + level = 56, + path = [ + '' + ], + validity_ranges = [ + visier.sdk.api.analytic_model.models.validity_range_dto.ValidityRangeDTO( + end = '', + start = '', ) + ] + ) + else: + return MemberDTO( + ) + """ + + def testMemberDTO(self): + """Test MemberDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_member_parameter_definition_dto.py b/src/visier.sdk.api.analytic_model/test/test_member_parameter_definition_dto.py new file mode 100644 index 000000000..704bf8bc2 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_member_parameter_definition_dto.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.member_parameter_definition_dto import MemberParameterDefinitionDTO + +class TestMemberParameterDefinitionDTO(unittest.TestCase): + """MemberParameterDefinitionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MemberParameterDefinitionDTO: + """Test MemberParameterDefinitionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MemberParameterDefinitionDTO` + """ + model = MemberParameterDefinitionDTO() + if include_optional: + return MemberParameterDefinitionDTO( + default = visier.sdk.api.analytic_model.models.member_values_dto.MemberValuesDTO( + excluded = [ + visier.sdk.api.analytic_model.models.dimension_member_reference_dto.DimensionMemberReferenceDTO( + path = [ + '' + ], ) + ], + included = [ + visier.sdk.api.analytic_model.models.dimension_member_reference_dto.DimensionMemberReferenceDTO() + ], ), + description = '', + dimension_id = '', + display_name = '', + id = '', + reference_path = [ + '' + ] + ) + else: + return MemberParameterDefinitionDTO( + ) + """ + + def testMemberParameterDefinitionDTO(self): + """Test MemberParameterDefinitionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_member_values_dto.py b/src/visier.sdk.api.analytic_model/test/test_member_values_dto.py new file mode 100644 index 000000000..53352f965 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_member_values_dto.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.member_values_dto import MemberValuesDTO + +class TestMemberValuesDTO(unittest.TestCase): + """MemberValuesDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MemberValuesDTO: + """Test MemberValuesDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MemberValuesDTO` + """ + model = MemberValuesDTO() + if include_optional: + return MemberValuesDTO( + excluded = [ + visier.sdk.api.analytic_model.models.dimension_member_reference_dto.DimensionMemberReferenceDTO( + path = [ + '' + ], ) + ], + included = [ + visier.sdk.api.analytic_model.models.dimension_member_reference_dto.DimensionMemberReferenceDTO( + path = [ + '' + ], ) + ] + ) + else: + return MemberValuesDTO( + ) + """ + + def testMemberValuesDTO(self): + """Test MemberValuesDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_members_dto.py b/src/visier.sdk.api.analytic_model/test/test_members_dto.py new file mode 100644 index 000000000..954771e6c --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_members_dto.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.members_dto import MembersDTO + +class TestMembersDTO(unittest.TestCase): + """MembersDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MembersDTO: + """Test MembersDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MembersDTO` + """ + model = MembersDTO() + if include_optional: + return MembersDTO( + members = [ + visier.sdk.api.analytic_model.models.member_dto.MemberDTO( + display_name = '', + display_name_path = [ + '' + ], + full_name = '', + level = 56, + path = [ + '' + ], + validity_ranges = [ + visier.sdk.api.analytic_model.models.validity_range_dto.ValidityRangeDTO( + end = '', + start = '', ) + ], ) + ] + ) + else: + return MembersDTO( + ) + """ + + def testMembersDTO(self): + """Test MembersDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_metric_dto.py b/src/visier.sdk.api.analytic_model/test/test_metric_dto.py new file mode 100644 index 000000000..d6a71e23a --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_metric_dto.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.metric_dto import MetricDTO + +class TestMetricDTO(unittest.TestCase): + """MetricDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MetricDTO: + """Test MetricDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MetricDTO` + """ + model = MetricDTO() + if include_optional: + return MetricDTO( + analytic_object_id = '', + category = 'REGULAR', + data_end_date = '', + data_start_date = '', + description = '', + display_name = '', + id = '', + parameters = [ + visier.sdk.api.analytic_model.models.parameter_definition_dto.ParameterDefinitionDTO( + aggregation_type_parameter = null, + member_parameter = null, + numeric_parameter = null, + plan_parameter = null, ) + ], + visible_in_app = True + ) + else: + return MetricDTO( + ) + """ + + def testMetricDTO(self): + """Test MetricDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_metrics_dto.py b/src/visier.sdk.api.analytic_model/test/test_metrics_dto.py new file mode 100644 index 000000000..97ca92960 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_metrics_dto.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.metrics_dto import MetricsDTO + +class TestMetricsDTO(unittest.TestCase): + """MetricsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MetricsDTO: + """Test MetricsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MetricsDTO` + """ + model = MetricsDTO() + if include_optional: + return MetricsDTO( + metrics = [ + visier.sdk.api.analytic_model.models.metric_dto.MetricDTO( + analytic_object_id = '', + category = 'REGULAR', + data_end_date = '', + data_start_date = '', + description = '', + display_name = '', + id = '', + parameters = [ + visier.sdk.api.analytic_model.models.parameter_definition_dto.ParameterDefinitionDTO( + aggregation_type_parameter = null, + member_parameter = null, + numeric_parameter = null, + plan_parameter = null, ) + ], + visible_in_app = True, ) + ] + ) + else: + return MetricsDTO( + ) + """ + + def testMetricsDTO(self): + """Test MetricsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_numeric_parameter_definition_dto.py b/src/visier.sdk.api.analytic_model/test/test_numeric_parameter_definition_dto.py new file mode 100644 index 000000000..2aee226c6 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_numeric_parameter_definition_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.numeric_parameter_definition_dto import NumericParameterDefinitionDTO + +class TestNumericParameterDefinitionDTO(unittest.TestCase): + """NumericParameterDefinitionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NumericParameterDefinitionDTO: + """Test NumericParameterDefinitionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NumericParameterDefinitionDTO` + """ + model = NumericParameterDefinitionDTO() + if include_optional: + return NumericParameterDefinitionDTO( + default = 1.337, + description = '', + display_name = '', + id = '', + lower_bound = 1.337, + upper_bound = 1.337 + ) + else: + return NumericParameterDefinitionDTO( + ) + """ + + def testNumericParameterDefinitionDTO(self): + """Test NumericParameterDefinitionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_object_configuration_api.py b/src/visier.sdk.api.analytic_model/test/test_object_configuration_api.py new file mode 100644 index 000000000..bddc5cf15 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_object_configuration_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.api.object_configuration_api import ObjectConfigurationApi + + +class TestObjectConfigurationApi(unittest.TestCase): + """ObjectConfigurationApi unit test stubs""" + + def setUp(self) -> None: + self.api = ObjectConfigurationApi() + + def tearDown(self) -> None: + pass + + def test_get_calculation_concept(self) -> None: + """Test case for get_calculation_concept + + Retrieve the configuration of a calculation concept + """ + pass + + def test_get_calculation_concepts(self) -> None: + """Test case for get_calculation_concepts + + Retrieve all calculation concepts + """ + pass + + def test_get_selection_concept(self) -> None: + """Test case for get_selection_concept + + Retrieve the configuration of a selection concept + """ + pass + + def test_get_selection_concepts(self) -> None: + """Test case for get_selection_concepts + + Retrieve all selection concepts + """ + pass + + def test_map_calculation_concept(self) -> None: + """Test case for map_calculation_concept + + Map dimension members to nodes in a calculation concept + """ + pass + + def test_map_selection_concept(self) -> None: + """Test case for map_selection_concept + + Map dimension members to a selection concept + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_object_reference_dto.py b/src/visier.sdk.api.analytic_model/test/test_object_reference_dto.py new file mode 100644 index 000000000..ea6e6c6c7 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_object_reference_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.object_reference_dto import ObjectReferenceDTO + +class TestObjectReferenceDTO(unittest.TestCase): + """ObjectReferenceDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ObjectReferenceDTO: + """Test ObjectReferenceDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ObjectReferenceDTO` + """ + model = ObjectReferenceDTO() + if include_optional: + return ObjectReferenceDTO( + description = '', + display_name = '', + from_object = '', + id = '', + is_strong_reference = True, + to_object = '', + type = 'SUBJECT_REFERENCE' + ) + else: + return ObjectReferenceDTO( + ) + """ + + def testObjectReferenceDTO(self): + """Test ObjectReferenceDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_parameter_definition_dto.py b/src/visier.sdk.api.analytic_model/test/test_parameter_definition_dto.py new file mode 100644 index 000000000..3d4c984d5 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_parameter_definition_dto.py @@ -0,0 +1,83 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.parameter_definition_dto import ParameterDefinitionDTO + +class TestParameterDefinitionDTO(unittest.TestCase): + """ParameterDefinitionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ParameterDefinitionDTO: + """Test ParameterDefinitionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ParameterDefinitionDTO` + """ + model = ParameterDefinitionDTO() + if include_optional: + return ParameterDefinitionDTO( + aggregation_type_parameter = visier.sdk.api.analytic_model.models.aggregation_type_parameter_dto.AggregationTypeParameterDTO( + description = '', + display_name = '', + id = '', + parameter_options = [ + visier.sdk.api.analytic_model.models.aggregation_type_option_dto.AggregationTypeOptionDTO( + aggregation_function = '', + display_name = '', + id = '', + is_default = True, + property_name = '', ) + ], ), + member_parameter = visier.sdk.api.analytic_model.models.member_parameter_definition_dto.MemberParameterDefinitionDTO( + default = null, + description = '', + dimension_id = '', + display_name = '', + id = '', + reference_path = [ + '' + ], ), + numeric_parameter = visier.sdk.api.analytic_model.models.numeric_parameter_definition_dto.NumericParameterDefinitionDTO( + default = 1.337, + description = '', + display_name = '', + id = '', + lower_bound = 1.337, + upper_bound = 1.337, ), + plan_parameter = visier.sdk.api.analytic_model.models.plan_parameter_definition_dto.PlanParameterDefinitionDTO( + description = '', + display_name = '', + id = '', + model_name = '', ) + ) + else: + return ParameterDefinitionDTO( + ) + """ + + def testParameterDefinitionDTO(self): + """Test ParameterDefinitionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_perspective_configuration_dto.py b/src/visier.sdk.api.analytic_model/test/test_perspective_configuration_dto.py new file mode 100644 index 000000000..670e64a35 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_perspective_configuration_dto.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.perspective_configuration_dto import PerspectiveConfigurationDTO + +class TestPerspectiveConfigurationDTO(unittest.TestCase): + """PerspectiveConfigurationDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PerspectiveConfigurationDTO: + """Test PerspectiveConfigurationDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PerspectiveConfigurationDTO` + """ + model = PerspectiveConfigurationDTO() + if include_optional: + return PerspectiveConfigurationDTO( + perspective_id = '', + perspective_name = '', + perspective_nodes = [ + visier.sdk.api.analytic_model.models.perspective_node_dto.PerspectiveNodeDTO( + analytic_object_filters = [ + visier.sdk.api.analytic_model.models.analytic_object_filter_dto.AnalyticObjectFilterDTO( + analytic_object_uuid = '', + dimensions = [ + visier.sdk.api.analytic_model.models.dimension_filter_dto.DimensionFilterDTO( + dimension_id = '', + dimension_members = [ + visier.sdk.api.analytic_model.models.dimension_member_dto.DimensionMemberDTO( + dimension_member = [ + '' + ], ) + ], + symbol_name = '', ) + ], + symbol_name = '', ) + ], + selection_concept_uuid = '', + symbol_name = '', ) + ] + ) + else: + return PerspectiveConfigurationDTO( + ) + """ + + def testPerspectiveConfigurationDTO(self): + """Test PerspectiveConfigurationDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_perspective_node_dto.py b/src/visier.sdk.api.analytic_model/test/test_perspective_node_dto.py new file mode 100644 index 000000000..71fb4cc2d --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_perspective_node_dto.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.perspective_node_dto import PerspectiveNodeDTO + +class TestPerspectiveNodeDTO(unittest.TestCase): + """PerspectiveNodeDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PerspectiveNodeDTO: + """Test PerspectiveNodeDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PerspectiveNodeDTO` + """ + model = PerspectiveNodeDTO() + if include_optional: + return PerspectiveNodeDTO( + analytic_object_filters = [ + visier.sdk.api.analytic_model.models.analytic_object_filter_dto.AnalyticObjectFilterDTO( + analytic_object_uuid = '', + dimensions = [ + visier.sdk.api.analytic_model.models.dimension_filter_dto.DimensionFilterDTO( + dimension_id = '', + dimension_members = [ + visier.sdk.api.analytic_model.models.dimension_member_dto.DimensionMemberDTO( + dimension_member = [ + '' + ], ) + ], + symbol_name = '', ) + ], + symbol_name = '', ) + ], + selection_concept_uuid = '', + symbol_name = '' + ) + else: + return PerspectiveNodeDTO( + ) + """ + + def testPerspectiveNodeDTO(self): + """Test PerspectiveNodeDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_plan_parameter_definition_dto.py b/src/visier.sdk.api.analytic_model/test/test_plan_parameter_definition_dto.py new file mode 100644 index 000000000..5cceed0c5 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_plan_parameter_definition_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.plan_parameter_definition_dto import PlanParameterDefinitionDTO + +class TestPlanParameterDefinitionDTO(unittest.TestCase): + """PlanParameterDefinitionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PlanParameterDefinitionDTO: + """Test PlanParameterDefinitionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PlanParameterDefinitionDTO` + """ + model = PlanParameterDefinitionDTO() + if include_optional: + return PlanParameterDefinitionDTO( + description = '', + display_name = '', + id = '', + model_name = '' + ) + else: + return PlanParameterDefinitionDTO( + ) + """ + + def testPlanParameterDefinitionDTO(self): + """Test PlanParameterDefinitionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_planning_concept_filter_context_dto.py b/src/visier.sdk.api.analytic_model/test/test_planning_concept_filter_context_dto.py new file mode 100644 index 000000000..859ce5c2d --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_planning_concept_filter_context_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.planning_concept_filter_context_dto import PlanningConceptFilterContextDTO + +class TestPlanningConceptFilterContextDTO(unittest.TestCase): + """PlanningConceptFilterContextDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PlanningConceptFilterContextDTO: + """Test PlanningConceptFilterContextDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PlanningConceptFilterContextDTO` + """ + model = PlanningConceptFilterContextDTO() + if include_optional: + return PlanningConceptFilterContextDTO( + name = '' + ) + else: + return PlanningConceptFilterContextDTO( + ) + """ + + def testPlanningConceptFilterContextDTO(self): + """Test PlanningConceptFilterContextDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_planning_hierarchy_filter_context_dto.py b/src/visier.sdk.api.analytic_model/test/test_planning_hierarchy_filter_context_dto.py new file mode 100644 index 000000000..481581d6a --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_planning_hierarchy_filter_context_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.planning_hierarchy_filter_context_dto import PlanningHierarchyFilterContextDTO + +class TestPlanningHierarchyFilterContextDTO(unittest.TestCase): + """PlanningHierarchyFilterContextDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PlanningHierarchyFilterContextDTO: + """Test PlanningHierarchyFilterContextDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PlanningHierarchyFilterContextDTO` + """ + model = PlanningHierarchyFilterContextDTO() + if include_optional: + return PlanningHierarchyFilterContextDTO( + excluded_members = [ + '' + ], + hierarchy_name = '', + included_members = [ + '' + ] + ) + else: + return PlanningHierarchyFilterContextDTO( + ) + """ + + def testPlanningHierarchyFilterContextDTO(self): + """Test PlanningHierarchyFilterContextDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_planning_model_dto.py b/src/visier.sdk.api.analytic_model/test/test_planning_model_dto.py new file mode 100644 index 000000000..d0d682ba4 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_planning_model_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.planning_model_dto import PlanningModelDTO + +class TestPlanningModelDTO(unittest.TestCase): + """PlanningModelDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PlanningModelDTO: + """Test PlanningModelDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PlanningModelDTO` + """ + model = PlanningModelDTO() + if include_optional: + return PlanningModelDTO( + description = '', + display_name = '', + id = '' + ) + else: + return PlanningModelDTO( + ) + """ + + def testPlanningModelDTO(self): + """Test PlanningModelDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_planning_models_dto.py b/src/visier.sdk.api.analytic_model/test/test_planning_models_dto.py new file mode 100644 index 000000000..f3026339d --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_planning_models_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.planning_models_dto import PlanningModelsDTO + +class TestPlanningModelsDTO(unittest.TestCase): + """PlanningModelsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PlanningModelsDTO: + """Test PlanningModelsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PlanningModelsDTO` + """ + model = PlanningModelsDTO() + if include_optional: + return PlanningModelsDTO( + models = [ + visier.sdk.api.analytic_model.models.planning_model_dto.PlanningModelDTO( + description = '', + display_name = '', + id = '', ) + ] + ) + else: + return PlanningModelsDTO( + ) + """ + + def testPlanningModelsDTO(self): + """Test PlanningModelsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_planning_plan_context_dto.py b/src/visier.sdk.api.analytic_model/test/test_planning_plan_context_dto.py new file mode 100644 index 000000000..ba8301b70 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_planning_plan_context_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.planning_plan_context_dto import PlanningPlanContextDTO + +class TestPlanningPlanContextDTO(unittest.TestCase): + """PlanningPlanContextDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PlanningPlanContextDTO: + """Test PlanningPlanContextDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PlanningPlanContextDTO` + """ + model = PlanningPlanContextDTO() + if include_optional: + return PlanningPlanContextDTO( + concept_filter_context = visier.sdk.api.analytic_model.models.planning_concept_filter_context_dto.PlanningConceptFilterContextDTO( + name = '', ), + hierarchy_filter_context = visier.sdk.api.analytic_model.models.planning_hierarchy_filter_context_dto.PlanningHierarchyFilterContextDTO( + excluded_members = [ + '' + ], + hierarchy_name = '', + included_members = [ + '' + ], ) + ) + else: + return PlanningPlanContextDTO( + ) + """ + + def testPlanningPlanContextDTO(self): + """Test PlanningPlanContextDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_planning_plan_dto.py b/src/visier.sdk.api.analytic_model/test/test_planning_plan_dto.py new file mode 100644 index 000000000..6760f512d --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_planning_plan_dto.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.planning_plan_dto import PlanningPlanDTO + +class TestPlanningPlanDTO(unittest.TestCase): + """PlanningPlanDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PlanningPlanDTO: + """Test PlanningPlanDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PlanningPlanDTO` + """ + model = PlanningPlanDTO() + if include_optional: + return PlanningPlanDTO( + default_contexts = [ + visier.sdk.api.analytic_model.models.planning_plan_context_dto.PlanningPlanContextDTO( + concept_filter_context = null, + hierarchy_filter_context = null, ) + ], + id = '', + name = '', + plan_dimension_ids = [ + '' + ], + scenarios = [ + visier.sdk.api.analytic_model.models.scenario_or_snapshot_dto.ScenarioOrSnapshotDTO( + display_name = '', + id = '', ) + ], + snapshots = [ + visier.sdk.api.analytic_model.models.scenario_or_snapshot_dto.ScenarioOrSnapshotDTO( + display_name = '', + id = '', ) + ], + subject_id = '' + ) + else: + return PlanningPlanDTO( + ) + """ + + def testPlanningPlanDTO(self): + """Test PlanningPlanDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_planning_plans_dto.py b/src/visier.sdk.api.analytic_model/test/test_planning_plans_dto.py new file mode 100644 index 000000000..7fa8d9bd5 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_planning_plans_dto.py @@ -0,0 +1,74 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.planning_plans_dto import PlanningPlansDTO + +class TestPlanningPlansDTO(unittest.TestCase): + """PlanningPlansDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PlanningPlansDTO: + """Test PlanningPlansDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PlanningPlansDTO` + """ + model = PlanningPlansDTO() + if include_optional: + return PlanningPlansDTO( + plans = [ + visier.sdk.api.analytic_model.models.planning_plan_dto.PlanningPlanDTO( + default_contexts = [ + visier.sdk.api.analytic_model.models.planning_plan_context_dto.PlanningPlanContextDTO( + concept_filter_context = null, + hierarchy_filter_context = null, ) + ], + id = '', + name = '', + plan_dimension_ids = [ + '' + ], + scenarios = [ + visier.sdk.api.analytic_model.models.scenario_or_snapshot_dto.ScenarioOrSnapshotDTO( + display_name = '', + id = '', ) + ], + snapshots = [ + visier.sdk.api.analytic_model.models.scenario_or_snapshot_dto.ScenarioOrSnapshotDTO( + display_name = '', + id = '', ) + ], + subject_id = '', ) + ] + ) + else: + return PlanningPlansDTO( + ) + """ + + def testPlanningPlansDTO(self): + """Test PlanningPlansDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_population_configuration_dto.py b/src/visier.sdk.api.analytic_model/test/test_population_configuration_dto.py new file mode 100644 index 000000000..7e08a039e --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_population_configuration_dto.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.population_configuration_dto import PopulationConfigurationDTO + +class TestPopulationConfigurationDTO(unittest.TestCase): + """PopulationConfigurationDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PopulationConfigurationDTO: + """Test PopulationConfigurationDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PopulationConfigurationDTO` + """ + model = PopulationConfigurationDTO() + if include_optional: + return PopulationConfigurationDTO( + change_history_properties = [ + visier.sdk.api.analytic_model.models.property_reference_dto.PropertyReferenceDTO( + name = '', + qualifying_path = '', ) + ], + distinguishing_properties = [ + visier.sdk.api.analytic_model.models.property_reference_dto.PropertyReferenceDTO( + name = '', + qualifying_path = '', ) + ], + grouping_dimensions = [ + visier.sdk.api.analytic_model.models.dimension_reference_dto.DimensionReferenceDTO( + name = '', + qualifying_path = '', ) + ] + ) + else: + return PopulationConfigurationDTO( + ) + """ + + def testPopulationConfigurationDTO(self): + """Test PopulationConfigurationDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_prediction_dto.py b/src/visier.sdk.api.analytic_model/test/test_prediction_dto.py new file mode 100644 index 000000000..ed406b2b2 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_prediction_dto.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.prediction_dto import PredictionDTO + +class TestPredictionDTO(unittest.TestCase): + """PredictionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PredictionDTO: + """Test PredictionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PredictionDTO` + """ + model = PredictionDTO() + if include_optional: + return PredictionDTO( + data_end_date = '', + data_start_date = '', + description = '', + display_name = '', + event = '', + event_filter = '', + factor_concepts = [ + '' + ], + factor_dimensions = [ + '' + ], + factor_properties = [ + '' + ], + factors_name = '', + id = '', + is_multi_tenant = True, + label_property = '', + minimum_training_months = '', + score_name = '', + subject = '', + subject_filter = '', + subject_key = '', + subject_parent_key = '' + ) + else: + return PredictionDTO( + ) + """ + + def testPredictionDTO(self): + """Test PredictionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_predictions_dto.py b/src/visier.sdk.api.analytic_model/test/test_predictions_dto.py new file mode 100644 index 000000000..df3d4c2cd --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_predictions_dto.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.predictions_dto import PredictionsDTO + +class TestPredictionsDTO(unittest.TestCase): + """PredictionsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PredictionsDTO: + """Test PredictionsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PredictionsDTO` + """ + model = PredictionsDTO() + if include_optional: + return PredictionsDTO( + predictions = [ + visier.sdk.api.analytic_model.models.prediction_dto.PredictionDTO( + data_end_date = '', + data_start_date = '', + description = '', + display_name = '', + event = '', + event_filter = '', + factor_concepts = [ + '' + ], + factor_dimensions = [ + '' + ], + factor_properties = [ + '' + ], + factors_name = '', + id = '', + is_multi_tenant = True, + label_property = '', + minimum_training_months = '', + score_name = '', + subject = '', + subject_filter = '', + subject_key = '', + subject_parent_key = '', ) + ] + ) + else: + return PredictionsDTO( + ) + """ + + def testPredictionsDTO(self): + """Test PredictionsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_properties_dto.py b/src/visier.sdk.api.analytic_model/test/test_properties_dto.py new file mode 100644 index 000000000..aa2f09ee5 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_properties_dto.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.properties_dto import PropertiesDTO + +class TestPropertiesDTO(unittest.TestCase): + """PropertiesDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PropertiesDTO: + """Test PropertiesDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PropertiesDTO` + """ + model = PropertiesDTO() + if include_optional: + return PropertiesDTO( + properties = [ + visier.sdk.api.analytic_model.models.property_dto.PropertyDTO( + data_type = '', + description = '', + display_name = '', + id = '', + parameters = [ + visier.sdk.api.analytic_model.models.parameter_definition_dto.ParameterDefinitionDTO( + aggregation_type_parameter = null, + member_parameter = null, + numeric_parameter = null, + plan_parameter = null, ) + ], + primitive_data_type = '', + tags = [ + visier.sdk.api.analytic_model.models.tag_map_element_dto.TagMapElementDTO( + display_name = '', + id = '', ) + ], ) + ] + ) + else: + return PropertiesDTO( + ) + """ + + def testPropertiesDTO(self): + """Test PropertiesDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_property_dto.py b/src/visier.sdk.api.analytic_model/test/test_property_dto.py new file mode 100644 index 000000000..f7768af94 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_property_dto.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.property_dto import PropertyDTO + +class TestPropertyDTO(unittest.TestCase): + """PropertyDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PropertyDTO: + """Test PropertyDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PropertyDTO` + """ + model = PropertyDTO() + if include_optional: + return PropertyDTO( + data_type = '', + description = '', + display_name = '', + id = '', + parameters = [ + visier.sdk.api.analytic_model.models.parameter_definition_dto.ParameterDefinitionDTO( + aggregation_type_parameter = null, + member_parameter = null, + numeric_parameter = null, + plan_parameter = null, ) + ], + primitive_data_type = '', + tags = [ + visier.sdk.api.analytic_model.models.tag_map_element_dto.TagMapElementDTO( + display_name = '', + id = '', ) + ] + ) + else: + return PropertyDTO( + ) + """ + + def testPropertyDTO(self): + """Test PropertyDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_property_reference_dto.py b/src/visier.sdk.api.analytic_model/test/test_property_reference_dto.py new file mode 100644 index 000000000..cc2557691 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_property_reference_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.property_reference_dto import PropertyReferenceDTO + +class TestPropertyReferenceDTO(unittest.TestCase): + """PropertyReferenceDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PropertyReferenceDTO: + """Test PropertyReferenceDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PropertyReferenceDTO` + """ + model = PropertyReferenceDTO() + if include_optional: + return PropertyReferenceDTO( + name = '', + qualifying_path = '' + ) + else: + return PropertyReferenceDTO( + ) + """ + + def testPropertyReferenceDTO(self): + """Test PropertyReferenceDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_scenario_or_snapshot_dto.py b/src/visier.sdk.api.analytic_model/test/test_scenario_or_snapshot_dto.py new file mode 100644 index 000000000..e9799e72e --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_scenario_or_snapshot_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.scenario_or_snapshot_dto import ScenarioOrSnapshotDTO + +class TestScenarioOrSnapshotDTO(unittest.TestCase): + """ScenarioOrSnapshotDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ScenarioOrSnapshotDTO: + """Test ScenarioOrSnapshotDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ScenarioOrSnapshotDTO` + """ + model = ScenarioOrSnapshotDTO() + if include_optional: + return ScenarioOrSnapshotDTO( + display_name = '', + id = '' + ) + else: + return ScenarioOrSnapshotDTO( + ) + """ + + def testScenarioOrSnapshotDTO(self): + """Test ScenarioOrSnapshotDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_selection_concept_configuration_map_dto.py b/src/visier.sdk.api.analytic_model/test/test_selection_concept_configuration_map_dto.py new file mode 100644 index 000000000..e96f104dd --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_selection_concept_configuration_map_dto.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.selection_concept_configuration_map_dto import SelectionConceptConfigurationMapDTO + +class TestSelectionConceptConfigurationMapDTO(unittest.TestCase): + """SelectionConceptConfigurationMapDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SelectionConceptConfigurationMapDTO: + """Test SelectionConceptConfigurationMapDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SelectionConceptConfigurationMapDTO` + """ + model = SelectionConceptConfigurationMapDTO() + if include_optional: + return SelectionConceptConfigurationMapDTO( + analytic_object_filters_to_map = [ + visier.sdk.api.analytic_model.models.analytic_object_filter_dto.AnalyticObjectFilterDTO( + analytic_object_uuid = '', + dimensions = [ + visier.sdk.api.analytic_model.models.dimension_filter_dto.DimensionFilterDTO( + dimension_id = '', + dimension_members = [ + visier.sdk.api.analytic_model.models.dimension_member_dto.DimensionMemberDTO( + dimension_member = [ + '' + ], ) + ], + symbol_name = '', ) + ], + symbol_name = '', ) + ] + ) + else: + return SelectionConceptConfigurationMapDTO( + ) + """ + + def testSelectionConceptConfigurationMapDTO(self): + """Test SelectionConceptConfigurationMapDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_selection_concept_dto.py b/src/visier.sdk.api.analytic_model/test/test_selection_concept_dto.py new file mode 100644 index 000000000..e895350a1 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_selection_concept_dto.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.selection_concept_dto import SelectionConceptDTO + +class TestSelectionConceptDTO(unittest.TestCase): + """SelectionConceptDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SelectionConceptDTO: + """Test SelectionConceptDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SelectionConceptDTO` + """ + model = SelectionConceptDTO() + if include_optional: + return SelectionConceptDTO( + description = '', + display_name = '', + id = '', + tags = [ + visier.sdk.api.analytic_model.models.tag_map_element_dto.TagMapElementDTO( + display_name = '', + id = '', ) + ], + visible_in_app = True + ) + else: + return SelectionConceptDTO( + ) + """ + + def testSelectionConceptDTO(self): + """Test SelectionConceptDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_selection_concept_list_dto.py b/src/visier.sdk.api.analytic_model/test/test_selection_concept_list_dto.py new file mode 100644 index 000000000..efa5e7eec --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_selection_concept_list_dto.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.selection_concept_list_dto import SelectionConceptListDTO + +class TestSelectionConceptListDTO(unittest.TestCase): + """SelectionConceptListDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SelectionConceptListDTO: + """Test SelectionConceptListDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SelectionConceptListDTO` + """ + model = SelectionConceptListDTO() + if include_optional: + return SelectionConceptListDTO( + concepts = [ + visier.sdk.api.analytic_model.models.selection_concept_dto.SelectionConceptDTO( + description = '', + display_name = '', + id = '', + tags = [ + visier.sdk.api.analytic_model.models.tag_map_element_dto.TagMapElementDTO( + display_name = '', + id = '', ) + ], + visible_in_app = True, ) + ] + ) + else: + return SelectionConceptListDTO( + ) + """ + + def testSelectionConceptListDTO(self): + """Test SelectionConceptListDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_selection_concepts_dto.py b/src/visier.sdk.api.analytic_model/test/test_selection_concepts_dto.py new file mode 100644 index 000000000..c71742891 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_selection_concepts_dto.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.selection_concepts_dto import SelectionConceptsDTO + +class TestSelectionConceptsDTO(unittest.TestCase): + """SelectionConceptsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SelectionConceptsDTO: + """Test SelectionConceptsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SelectionConceptsDTO` + """ + model = SelectionConceptsDTO() + if include_optional: + return SelectionConceptsDTO( + selection_concepts = [ + visier.sdk.api.analytic_model.models.selection_concept_dto.SelectionConceptDTO( + description = '', + display_name = '', + id = '', + tags = [ + visier.sdk.api.analytic_model.models.tag_map_element_dto.TagMapElementDTO( + display_name = '', + id = '', ) + ], + visible_in_app = True, ) + ] + ) + else: + return SelectionConceptsDTO( + ) + """ + + def testSelectionConceptsDTO(self): + """Test SelectionConceptsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_status.py b/src/visier.sdk.api.analytic_model/test/test_status.py new file mode 100644 index 000000000..7e2d171d1 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_status.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.status import Status + +class TestStatus(unittest.TestCase): + """Status unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Status: + """Test Status + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Status` + """ + model = Status() + if include_optional: + return Status( + error_code = '', + message = '', + rci = '' + ) + else: + return Status( + ) + """ + + def testStatus(self): + """Test Status""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_tag_map_element_dto.py b/src/visier.sdk.api.analytic_model/test/test_tag_map_element_dto.py new file mode 100644 index 000000000..cbc833cbf --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_tag_map_element_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.tag_map_element_dto import TagMapElementDTO + +class TestTagMapElementDTO(unittest.TestCase): + """TagMapElementDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TagMapElementDTO: + """Test TagMapElementDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TagMapElementDTO` + """ + model = TagMapElementDTO() + if include_optional: + return TagMapElementDTO( + display_name = '', + id = '' + ) + else: + return TagMapElementDTO( + ) + """ + + def testTagMapElementDTO(self): + """Test TagMapElementDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/test/test_validity_range_dto.py b/src/visier.sdk.api.analytic_model/test/test_validity_range_dto.py new file mode 100644 index 000000000..04b98d8b3 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/test/test_validity_range_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.analytic_model.models.validity_range_dto import ValidityRangeDTO + +class TestValidityRangeDTO(unittest.TestCase): + """ValidityRangeDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ValidityRangeDTO: + """Test ValidityRangeDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ValidityRangeDTO` + """ + model = ValidityRangeDTO() + if include_optional: + return ValidityRangeDTO( + end = '', + start = '' + ) + else: + return ValidityRangeDTO( + ) + """ + + def testValidityRangeDTO(self): + """Test ValidityRangeDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.analytic_model/tox.ini b/src/visier.sdk.api.analytic_model/tox.ini new file mode 100644 index 000000000..766a31d47 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/tox.ini @@ -0,0 +1,9 @@ +[tox] +envlist = py38, py39, py310, py311, py312 + +[testenv] +deps=-r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt + +commands= + pytest --cov=visier.sdk.api.analytic_model diff --git a/src/visier.sdk.api.analytic_model/visier/__init__.py b/src/visier.sdk.api.analytic_model/visier/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/__init__.py b/src/visier.sdk.api.analytic_model/visier/sdk/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/__init__.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/__init__.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/__init__.py new file mode 100644 index 000000000..e0a83c6d9 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/__init__.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +# flake8: noqa + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +__version__ = "0.0.1" + +# import apis into sdk package +from visier.sdk.api.analytic_model.api.data_model_api import DataModelApi +from visier.sdk.api.analytic_model.api.object_configuration_api import ObjectConfigurationApi + +# import ApiClient +from visier.sdk.api.analytic_model.api_response import ApiResponse +from visier.sdk.api.analytic_model.api_client import ApiClient +from visier.sdk.api.analytic_model.configuration import Configuration +from visier.sdk.api.analytic_model.exceptions import OpenApiException +from visier.sdk.api.analytic_model.exceptions import ApiTypeError +from visier.sdk.api.analytic_model.exceptions import ApiValueError +from visier.sdk.api.analytic_model.exceptions import ApiKeyError +from visier.sdk.api.analytic_model.exceptions import ApiAttributeError +from visier.sdk.api.analytic_model.exceptions import ApiException + +# import models into sdk package +from visier.sdk.api.analytic_model.models.aggregation_type_option_dto import AggregationTypeOptionDTO +from visier.sdk.api.analytic_model.models.aggregation_type_parameter_dto import AggregationTypeParameterDTO +from visier.sdk.api.analytic_model.models.analytic_object_dto import AnalyticObjectDTO +from visier.sdk.api.analytic_model.models.analytic_object_filter_dto import AnalyticObjectFilterDTO +from visier.sdk.api.analytic_model.models.analytic_objects_dto import AnalyticObjectsDTO +from visier.sdk.api.analytic_model.models.calculation_concept_configuration_dto import CalculationConceptConfigurationDTO +from visier.sdk.api.analytic_model.models.calculation_concept_configuration_map_dto import CalculationConceptConfigurationMapDTO +from visier.sdk.api.analytic_model.models.calculation_concept_dto import CalculationConceptDTO +from visier.sdk.api.analytic_model.models.calculation_concept_list_dto import CalculationConceptListDTO +from visier.sdk.api.analytic_model.models.concept_configuration_result_dto import ConceptConfigurationResultDTO +from visier.sdk.api.analytic_model.models.currencies_dto import CurrenciesDTO +from visier.sdk.api.analytic_model.models.currency_dto import CurrencyDTO +from visier.sdk.api.analytic_model.models.currency_rate_dto import CurrencyRateDTO +from visier.sdk.api.analytic_model.models.currency_rates_dto import CurrencyRatesDTO +from visier.sdk.api.analytic_model.models.dimension_dto import DimensionDTO +from visier.sdk.api.analytic_model.models.dimension_filter_dto import DimensionFilterDTO +from visier.sdk.api.analytic_model.models.dimension_mapping_validation_dto import DimensionMappingValidationDTO +from visier.sdk.api.analytic_model.models.dimension_mapping_validation_execution_dto import DimensionMappingValidationExecutionDTO +from visier.sdk.api.analytic_model.models.dimension_member_dto import DimensionMemberDTO +from visier.sdk.api.analytic_model.models.dimension_member_reference_dto import DimensionMemberReferenceDTO +from visier.sdk.api.analytic_model.models.dimension_reference_dto import DimensionReferenceDTO +from visier.sdk.api.analytic_model.models.dimensions_dto import DimensionsDTO +from visier.sdk.api.analytic_model.models.google_protobuf_any import GoogleProtobufAny +from visier.sdk.api.analytic_model.models.level_dto import LevelDTO +from visier.sdk.api.analytic_model.models.member_dto import MemberDTO +from visier.sdk.api.analytic_model.models.member_parameter_definition_dto import MemberParameterDefinitionDTO +from visier.sdk.api.analytic_model.models.member_values_dto import MemberValuesDTO +from visier.sdk.api.analytic_model.models.members_dto import MembersDTO +from visier.sdk.api.analytic_model.models.metric_dto import MetricDTO +from visier.sdk.api.analytic_model.models.metrics_dto import MetricsDTO +from visier.sdk.api.analytic_model.models.numeric_parameter_definition_dto import NumericParameterDefinitionDTO +from visier.sdk.api.analytic_model.models.object_reference_dto import ObjectReferenceDTO +from visier.sdk.api.analytic_model.models.parameter_definition_dto import ParameterDefinitionDTO +from visier.sdk.api.analytic_model.models.perspective_configuration_dto import PerspectiveConfigurationDTO +from visier.sdk.api.analytic_model.models.perspective_node_dto import PerspectiveNodeDTO +from visier.sdk.api.analytic_model.models.plan_parameter_definition_dto import PlanParameterDefinitionDTO +from visier.sdk.api.analytic_model.models.planning_concept_filter_context_dto import PlanningConceptFilterContextDTO +from visier.sdk.api.analytic_model.models.planning_hierarchy_filter_context_dto import PlanningHierarchyFilterContextDTO +from visier.sdk.api.analytic_model.models.planning_model_dto import PlanningModelDTO +from visier.sdk.api.analytic_model.models.planning_models_dto import PlanningModelsDTO +from visier.sdk.api.analytic_model.models.planning_plan_context_dto import PlanningPlanContextDTO +from visier.sdk.api.analytic_model.models.planning_plan_dto import PlanningPlanDTO +from visier.sdk.api.analytic_model.models.planning_plans_dto import PlanningPlansDTO +from visier.sdk.api.analytic_model.models.population_configuration_dto import PopulationConfigurationDTO +from visier.sdk.api.analytic_model.models.prediction_dto import PredictionDTO +from visier.sdk.api.analytic_model.models.predictions_dto import PredictionsDTO +from visier.sdk.api.analytic_model.models.properties_dto import PropertiesDTO +from visier.sdk.api.analytic_model.models.property_dto import PropertyDTO +from visier.sdk.api.analytic_model.models.property_reference_dto import PropertyReferenceDTO +from visier.sdk.api.analytic_model.models.scenario_or_snapshot_dto import ScenarioOrSnapshotDTO +from visier.sdk.api.analytic_model.models.selection_concept_configuration_map_dto import SelectionConceptConfigurationMapDTO +from visier.sdk.api.analytic_model.models.selection_concept_dto import SelectionConceptDTO +from visier.sdk.api.analytic_model.models.selection_concept_list_dto import SelectionConceptListDTO +from visier.sdk.api.analytic_model.models.selection_concepts_dto import SelectionConceptsDTO +from visier.sdk.api.analytic_model.models.status import Status +from visier.sdk.api.analytic_model.models.tag_map_element_dto import TagMapElementDTO +from visier.sdk.api.analytic_model.models.validity_range_dto import ValidityRangeDTO diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api/__init__.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api/__init__.py new file mode 100644 index 000000000..ff2ae6bd4 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api/__init__.py @@ -0,0 +1,6 @@ +# flake8: noqa + +# import apis into api package +from visier.sdk.api.analytic_model.api.data_model_api import DataModelApi +from visier.sdk.api.analytic_model.api.object_configuration_api import ObjectConfigurationApi + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api/data_model_api.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api/data_model_api.py new file mode 100644 index 000000000..54bf22d82 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api/data_model_api.py @@ -0,0 +1,7703 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + 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, StrictInt, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from visier.sdk.api.analytic_model.models.analytic_object_dto import AnalyticObjectDTO +from visier.sdk.api.analytic_model.models.analytic_objects_dto import AnalyticObjectsDTO +from visier.sdk.api.analytic_model.models.currencies_dto import CurrenciesDTO +from visier.sdk.api.analytic_model.models.currency_dto import CurrencyDTO +from visier.sdk.api.analytic_model.models.currency_rates_dto import CurrencyRatesDTO +from visier.sdk.api.analytic_model.models.dimension_dto import DimensionDTO +from visier.sdk.api.analytic_model.models.dimension_mapping_validation_dto import DimensionMappingValidationDTO +from visier.sdk.api.analytic_model.models.dimension_mapping_validation_execution_dto import DimensionMappingValidationExecutionDTO +from visier.sdk.api.analytic_model.models.dimensions_dto import DimensionsDTO +from visier.sdk.api.analytic_model.models.members_dto import MembersDTO +from visier.sdk.api.analytic_model.models.metric_dto import MetricDTO +from visier.sdk.api.analytic_model.models.metrics_dto import MetricsDTO +from visier.sdk.api.analytic_model.models.planning_model_dto import PlanningModelDTO +from visier.sdk.api.analytic_model.models.planning_models_dto import PlanningModelsDTO +from visier.sdk.api.analytic_model.models.planning_plan_dto import PlanningPlanDTO +from visier.sdk.api.analytic_model.models.planning_plans_dto import PlanningPlansDTO +from visier.sdk.api.analytic_model.models.prediction_dto import PredictionDTO +from visier.sdk.api.analytic_model.models.predictions_dto import PredictionsDTO +from visier.sdk.api.analytic_model.models.properties_dto import PropertiesDTO +from visier.sdk.api.analytic_model.models.property_dto import PropertyDTO +from visier.sdk.api.analytic_model.models.selection_concept_dto import SelectionConceptDTO +from visier.sdk.api.analytic_model.models.selection_concepts_dto import SelectionConceptsDTO + +from visier.sdk.api.analytic_model.api_client import ApiClient, RequestSerialized +from visier.sdk.api.analytic_model.api_response import ApiResponse +from visier.sdk.api.analytic_model.rest import RESTResponseType + + +class DataModelApi: + """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 analytic_metrics( + self, + id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve metrics for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> MetricsDTO: + """Retrieve a list of metrics for an analytic object by ID + + If you know the ID of an analytic object, use this API to retrieve metrics for that object specifically. + + :param id: The ID of the analytic object to retrieve metrics for. (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._analytic_metrics_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': "MetricsDTO", + } + response_data = self.api_client.call_api( + *_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 analytic_metrics_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve metrics for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[MetricsDTO]: + """Retrieve a list of metrics for an analytic object by ID + + If you know the ID of an analytic object, use this API to retrieve metrics for that object specifically. + + :param id: The ID of the analytic object to retrieve metrics for. (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._analytic_metrics_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': "MetricsDTO", + } + response_data = self.api_client.call_api( + *_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 analytic_metrics_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve metrics for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a list of metrics for an analytic object by ID + + If you know the ID of an analytic object, use this API to retrieve metrics for that object specifically. + + :param id: The ID of the analytic object to retrieve metrics for. (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._analytic_metrics_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': "MetricsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _analytic_metrics_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/analytic-objects/{id}/metrics', + 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 analytic_object( + self, + id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AnalyticObjectDTO: + """Retrieve an analytic object by ID + + If you know the ID of an analytic object, use this API to retrieve that object specifically. + + :param id: The ID of the analytic object to retrieve. (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._analytic_object_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': "AnalyticObjectDTO", + } + response_data = self.api_client.call_api( + *_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 analytic_object_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[AnalyticObjectDTO]: + """Retrieve an analytic object by ID + + If you know the ID of an analytic object, use this API to retrieve that object specifically. + + :param id: The ID of the analytic object to retrieve. (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._analytic_object_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': "AnalyticObjectDTO", + } + response_data = self.api_client.call_api( + *_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 analytic_object_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve an analytic object by ID + + If you know the ID of an analytic object, use this API to retrieve that object specifically. + + :param id: The ID of the analytic object to retrieve. (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._analytic_object_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': "AnalyticObjectDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _analytic_object_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/analytic-objects/{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 analytic_objects( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the analytic objects to retrieve. Default is all analytic objects.")] = None, + object_type: Annotated[Optional[StrictStr], Field(description="The object type to filter the returned analytic objects 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, + ) -> AnalyticObjectsDTO: + """Retrieve a list of analytic objects + + Retrieve all the analytic objects in your Visier solution. + + :param id: The IDs of the analytic objects to retrieve. Default is all analytic objects. + :type id: List[str] + :param object_type: The object type to filter the returned analytic objects by. + :type object_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._analytic_objects_serialize( + id=id, + object_type=object_type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AnalyticObjectsDTO", + } + response_data = self.api_client.call_api( + *_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 analytic_objects_with_http_info( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the analytic objects to retrieve. Default is all analytic objects.")] = None, + object_type: Annotated[Optional[StrictStr], Field(description="The object type to filter the returned analytic objects 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[AnalyticObjectsDTO]: + """Retrieve a list of analytic objects + + Retrieve all the analytic objects in your Visier solution. + + :param id: The IDs of the analytic objects to retrieve. Default is all analytic objects. + :type id: List[str] + :param object_type: The object type to filter the returned analytic objects by. + :type object_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._analytic_objects_serialize( + id=id, + object_type=object_type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AnalyticObjectsDTO", + } + response_data = self.api_client.call_api( + *_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 analytic_objects_without_preload_content( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the analytic objects to retrieve. Default is all analytic objects.")] = None, + object_type: Annotated[Optional[StrictStr], Field(description="The object type to filter the returned analytic objects 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: + """Retrieve a list of analytic objects + + Retrieve all the analytic objects in your Visier solution. + + :param id: The IDs of the analytic objects to retrieve. Default is all analytic objects. + :type id: List[str] + :param object_type: The object type to filter the returned analytic objects by. + :type object_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._analytic_objects_serialize( + id=id, + object_type=object_type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AnalyticObjectsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _analytic_objects_serialize( + self, + id, + object_type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'id': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if id is not None: + + _query_params.append(('id', id)) + + if object_type is not None: + + _query_params.append(('objectType', object_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/analytic-objects', + 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 call_property( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[List[StrictStr], Field(description="The ID of the property to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PropertyDTO: + """Retrieve a property by ID + + If you know the ID of a property, use this API to retrieve that property specifically. You must also know the analytic object's ID.. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The ID of the property to retrieve. (required) + :type id: List[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._call_property_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PropertyDTO", + } + response_data = self.api_client.call_api( + *_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 call_property_with_http_info( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[List[StrictStr], Field(description="The ID of the property to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[PropertyDTO]: + """Retrieve a property by ID + + If you know the ID of a property, use this API to retrieve that property specifically. You must also know the analytic object's ID.. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The ID of the property to retrieve. (required) + :type id: List[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._call_property_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PropertyDTO", + } + response_data = self.api_client.call_api( + *_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 call_property_without_preload_content( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[List[StrictStr], Field(description="The ID of the property to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a property by ID + + If you know the ID of a property, use this API to retrieve that property specifically. You must also know the analytic object's ID.. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The ID of the property to retrieve. (required) + :type id: List[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._call_property_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PropertyDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _call_property_serialize( + self, + object_id, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'id': 'csv', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if object_id is not None: + _path_params['objectId'] = object_id + 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/analytic-objects/{objectId}/properties/{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 currencies( + 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, + ) -> CurrenciesDTO: + """Retrieve all currencies + + Retrieve all the available currencies in your Visier solution. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._currencies_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CurrenciesDTO", + } + response_data = self.api_client.call_api( + *_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 currencies_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[CurrenciesDTO]: + """Retrieve all currencies + + Retrieve all the available currencies in your Visier solution. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._currencies_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CurrenciesDTO", + } + response_data = self.api_client.call_api( + *_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 currencies_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: + """Retrieve all currencies + + Retrieve all the available currencies in your Visier solution. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._currencies_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CurrenciesDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _currencies_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/currencies', + 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 currency( + self, + id: Annotated[StrictStr, Field(description="The ISO 4217 3-letter code for the currency.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CurrencyDTO: + """Retrieve a currency + + Retrieve a specific currency if you know the currency code. + + :param id: The ISO 4217 3-letter code for the currency. (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._currency_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': "CurrencyDTO", + } + response_data = self.api_client.call_api( + *_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 currency_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The ISO 4217 3-letter code for the currency.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[CurrencyDTO]: + """Retrieve a currency + + Retrieve a specific currency if you know the currency code. + + :param id: The ISO 4217 3-letter code for the currency. (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._currency_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': "CurrencyDTO", + } + response_data = self.api_client.call_api( + *_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 currency_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The ISO 4217 3-letter code for the currency.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a currency + + Retrieve a specific currency if you know the currency code. + + :param id: The ISO 4217 3-letter code for the currency. (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._currency_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': "CurrencyDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _currency_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/currencies/{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 currency_rates( + self, + id: Annotated[StrictStr, Field(description="The ISO 4217 3-letter code for the currency to get rates for.")], + start_time: Annotated[Optional[StrictStr], Field(description="The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds.")] = None, + end_time: Annotated[Optional[StrictStr], Field(description="The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds.")] = None, + decimals: Annotated[Optional[StrictStr], Field(description="The number of decimals to round exchange rates to. Default is to round to 2 decimal places.")] = 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, + ) -> CurrencyRatesDTO: + """Retrieve all exchange rates for a currency + + Retrieve exchange rates for a specific currency from Visier. You can optionally specify query parameter options for the returned rates, such as the number of decimals to round the exchange rate to. + + :param id: The ISO 4217 3-letter code for the currency to get rates for. (required) + :type id: str + :param start_time: The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds. + :type start_time: str + :param end_time: The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds. + :type end_time: str + :param decimals: The number of decimals to round exchange rates to. Default is to round to 2 decimal places. + :type decimals: 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._currency_rates_serialize( + id=id, + start_time=start_time, + end_time=end_time, + decimals=decimals, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CurrencyRatesDTO", + } + response_data = self.api_client.call_api( + *_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 currency_rates_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The ISO 4217 3-letter code for the currency to get rates for.")], + start_time: Annotated[Optional[StrictStr], Field(description="The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds.")] = None, + end_time: Annotated[Optional[StrictStr], Field(description="The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds.")] = None, + decimals: Annotated[Optional[StrictStr], Field(description="The number of decimals to round exchange rates to. Default is to round to 2 decimal places.")] = 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[CurrencyRatesDTO]: + """Retrieve all exchange rates for a currency + + Retrieve exchange rates for a specific currency from Visier. You can optionally specify query parameter options for the returned rates, such as the number of decimals to round the exchange rate to. + + :param id: The ISO 4217 3-letter code for the currency to get rates for. (required) + :type id: str + :param start_time: The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds. + :type start_time: str + :param end_time: The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds. + :type end_time: str + :param decimals: The number of decimals to round exchange rates to. Default is to round to 2 decimal places. + :type decimals: 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._currency_rates_serialize( + id=id, + start_time=start_time, + end_time=end_time, + decimals=decimals, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CurrencyRatesDTO", + } + response_data = self.api_client.call_api( + *_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 currency_rates_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The ISO 4217 3-letter code for the currency to get rates for.")], + start_time: Annotated[Optional[StrictStr], Field(description="The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds.")] = None, + end_time: Annotated[Optional[StrictStr], Field(description="The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds.")] = None, + decimals: Annotated[Optional[StrictStr], Field(description="The number of decimals to round exchange rates to. Default is to round to 2 decimal places.")] = 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: + """Retrieve all exchange rates for a currency + + Retrieve exchange rates for a specific currency from Visier. You can optionally specify query parameter options for the returned rates, such as the number of decimals to round the exchange rate to. + + :param id: The ISO 4217 3-letter code for the currency to get rates for. (required) + :type id: str + :param start_time: The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds. + :type start_time: str + :param end_time: The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds. + :type end_time: str + :param decimals: The number of decimals to round exchange rates to. Default is to round to 2 decimal places. + :type decimals: 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._currency_rates_serialize( + id=id, + start_time=start_time, + end_time=end_time, + decimals=decimals, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CurrencyRatesDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _currency_rates_serialize( + self, + id, + start_time, + end_time, + decimals, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if start_time is not None: + + _query_params.append(('startTime', start_time)) + + if end_time is not None: + + _query_params.append(('endTime', end_time)) + + if decimals is not None: + + _query_params.append(('decimals', decimals)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/currencies/{id}/rates', + 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 currency_rates_with_to_currency( + self, + id: Annotated[StrictStr, Field(description="The ISO 4217 3-letter code for the currency to convert from.")], + to_id: Annotated[StrictStr, Field(description="The ISO 4217 3-letter code for the currency to convert to.")], + start_time: Annotated[Optional[StrictStr], Field(description="The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds.")] = None, + end_time: Annotated[Optional[StrictStr], Field(description="The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds.")] = None, + decimals: Annotated[Optional[StrictStr], Field(description="The number of decimals to round exchange rates to. Default is to round to 2 decimal places.")] = 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, + ) -> CurrencyRatesDTO: + """Retrieve exchange rates from one currency to another currency + + Retrieve exchange rates from a specific currency to another specific currency. You can optionally specify query parameter options for the returned rates, such as the number of decimals to round the exchange rate to. + + :param id: The ISO 4217 3-letter code for the currency to convert from. (required) + :type id: str + :param to_id: The ISO 4217 3-letter code for the currency to convert to. (required) + :type to_id: str + :param start_time: The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds. + :type start_time: str + :param end_time: The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds. + :type end_time: str + :param decimals: The number of decimals to round exchange rates to. Default is to round to 2 decimal places. + :type decimals: 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._currency_rates_with_to_currency_serialize( + id=id, + to_id=to_id, + start_time=start_time, + end_time=end_time, + decimals=decimals, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CurrencyRatesDTO", + } + response_data = self.api_client.call_api( + *_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 currency_rates_with_to_currency_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The ISO 4217 3-letter code for the currency to convert from.")], + to_id: Annotated[StrictStr, Field(description="The ISO 4217 3-letter code for the currency to convert to.")], + start_time: Annotated[Optional[StrictStr], Field(description="The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds.")] = None, + end_time: Annotated[Optional[StrictStr], Field(description="The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds.")] = None, + decimals: Annotated[Optional[StrictStr], Field(description="The number of decimals to round exchange rates to. Default is to round to 2 decimal places.")] = 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[CurrencyRatesDTO]: + """Retrieve exchange rates from one currency to another currency + + Retrieve exchange rates from a specific currency to another specific currency. You can optionally specify query parameter options for the returned rates, such as the number of decimals to round the exchange rate to. + + :param id: The ISO 4217 3-letter code for the currency to convert from. (required) + :type id: str + :param to_id: The ISO 4217 3-letter code for the currency to convert to. (required) + :type to_id: str + :param start_time: The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds. + :type start_time: str + :param end_time: The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds. + :type end_time: str + :param decimals: The number of decimals to round exchange rates to. Default is to round to 2 decimal places. + :type decimals: 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._currency_rates_with_to_currency_serialize( + id=id, + to_id=to_id, + start_time=start_time, + end_time=end_time, + decimals=decimals, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CurrencyRatesDTO", + } + response_data = self.api_client.call_api( + *_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 currency_rates_with_to_currency_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The ISO 4217 3-letter code for the currency to convert from.")], + to_id: Annotated[StrictStr, Field(description="The ISO 4217 3-letter code for the currency to convert to.")], + start_time: Annotated[Optional[StrictStr], Field(description="The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds.")] = None, + end_time: Annotated[Optional[StrictStr], Field(description="The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds.")] = None, + decimals: Annotated[Optional[StrictStr], Field(description="The number of decimals to round exchange rates to. Default is to round to 2 decimal places.")] = 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: + """Retrieve exchange rates from one currency to another currency + + Retrieve exchange rates from a specific currency to another specific currency. You can optionally specify query parameter options for the returned rates, such as the number of decimals to round the exchange rate to. + + :param id: The ISO 4217 3-letter code for the currency to convert from. (required) + :type id: str + :param to_id: The ISO 4217 3-letter code for the currency to convert to. (required) + :type to_id: str + :param start_time: The earliest time instant to retrieve exchange rates from. Default is to use 0 milliseconds. + :type start_time: str + :param end_time: The latest time instant to retrieve exchange rates from. Default is to use the time of this request in milliseconds. + :type end_time: str + :param decimals: The number of decimals to round exchange rates to. Default is to round to 2 decimal places. + :type decimals: 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._currency_rates_with_to_currency_serialize( + id=id, + to_id=to_id, + start_time=start_time, + end_time=end_time, + decimals=decimals, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CurrencyRatesDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _currency_rates_with_to_currency_serialize( + self, + id, + to_id, + start_time, + end_time, + decimals, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + if to_id is not None: + _path_params['toId'] = to_id + # process the query parameters + if start_time is not None: + + _query_params.append(('startTime', start_time)) + + if end_time is not None: + + _query_params.append(('endTime', end_time)) + + if decimals is not None: + + _query_params.append(('decimals', decimals)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/currencies/{id}/rates/{toId}', + 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 dimension( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[StrictStr, Field(description="The ID of the dimension to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DimensionDTO: + """Retrieve a dimension by ID + + If you know the ID of a dimension, use this API to retrieve that dimension specifically. You must also know the analytic object's ID. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The ID of the dimension to retrieve. (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._dimension_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DimensionDTO", + } + response_data = self.api_client.call_api( + *_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 dimension_with_http_info( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[StrictStr, Field(description="The ID of the dimension to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DimensionDTO]: + """Retrieve a dimension by ID + + If you know the ID of a dimension, use this API to retrieve that dimension specifically. You must also know the analytic object's ID. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The ID of the dimension to retrieve. (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._dimension_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DimensionDTO", + } + response_data = self.api_client.call_api( + *_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 dimension_without_preload_content( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[StrictStr, Field(description="The ID of the dimension to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a dimension by ID + + If you know the ID of a dimension, use this API to retrieve that dimension specifically. You must also know the analytic object's ID. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The ID of the dimension to retrieve. (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._dimension_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DimensionDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _dimension_serialize( + self, + object_id, + 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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if object_id is not None: + _path_params['objectId'] = object_id + 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/analytic-objects/{objectId}/dimensions/{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 dimension_member_map_validation( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object.")], + dimension_id: Annotated[StrictStr, Field(description="The ID of a dimension of the member map.")], + dimension_mapping_validation_execution_dto: DimensionMappingValidationExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DimensionMappingValidationDTO: + """Validate a member map's unmapped dimension members by ID + + If you know the ID of a member map, use this API to validate one of the member map's dimensions. You must also know the dimension's ID and the analytic object's ID. The response returns the member map ID, the requested dimension ID, a list of the dimension's unmapped members, and a list of errors found. + + :param object_id: The ID of the analytic object. (required) + :type object_id: str + :param dimension_id: The ID of a dimension of the member map. (required) + :type dimension_id: str + :param dimension_mapping_validation_execution_dto: (required) + :type dimension_mapping_validation_execution_dto: DimensionMappingValidationExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._dimension_member_map_validation_serialize( + object_id=object_id, + dimension_id=dimension_id, + dimension_mapping_validation_execution_dto=dimension_mapping_validation_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DimensionMappingValidationDTO", + } + response_data = self.api_client.call_api( + *_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 dimension_member_map_validation_with_http_info( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object.")], + dimension_id: Annotated[StrictStr, Field(description="The ID of a dimension of the member map.")], + dimension_mapping_validation_execution_dto: DimensionMappingValidationExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DimensionMappingValidationDTO]: + """Validate a member map's unmapped dimension members by ID + + If you know the ID of a member map, use this API to validate one of the member map's dimensions. You must also know the dimension's ID and the analytic object's ID. The response returns the member map ID, the requested dimension ID, a list of the dimension's unmapped members, and a list of errors found. + + :param object_id: The ID of the analytic object. (required) + :type object_id: str + :param dimension_id: The ID of a dimension of the member map. (required) + :type dimension_id: str + :param dimension_mapping_validation_execution_dto: (required) + :type dimension_mapping_validation_execution_dto: DimensionMappingValidationExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._dimension_member_map_validation_serialize( + object_id=object_id, + dimension_id=dimension_id, + dimension_mapping_validation_execution_dto=dimension_mapping_validation_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DimensionMappingValidationDTO", + } + response_data = self.api_client.call_api( + *_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 dimension_member_map_validation_without_preload_content( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object.")], + dimension_id: Annotated[StrictStr, Field(description="The ID of a dimension of the member map.")], + dimension_mapping_validation_execution_dto: DimensionMappingValidationExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Validate a member map's unmapped dimension members by ID + + If you know the ID of a member map, use this API to validate one of the member map's dimensions. You must also know the dimension's ID and the analytic object's ID. The response returns the member map ID, the requested dimension ID, a list of the dimension's unmapped members, and a list of errors found. + + :param object_id: The ID of the analytic object. (required) + :type object_id: str + :param dimension_id: The ID of a dimension of the member map. (required) + :type dimension_id: str + :param dimension_mapping_validation_execution_dto: (required) + :type dimension_mapping_validation_execution_dto: DimensionMappingValidationExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._dimension_member_map_validation_serialize( + object_id=object_id, + dimension_id=dimension_id, + dimension_mapping_validation_execution_dto=dimension_mapping_validation_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DimensionMappingValidationDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _dimension_member_map_validation_serialize( + self, + object_id, + dimension_id, + dimension_mapping_validation_execution_dto, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if object_id is not None: + _path_params['objectId'] = object_id + if dimension_id is not None: + _path_params['dimensionId'] = dimension_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if dimension_mapping_validation_execution_dto is not None: + _body_params = dimension_mapping_validation_execution_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/data/model/analytic-objects/{objectId}/dimensions/{dimensionId}/mappings/validate', + 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 dimensions( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the dimensions to retrieve. Default is all dimensions.")] = 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, + ) -> DimensionsDTO: + """Retrieve a list of dimensions + + Retrieve a list of dimensions for a specific analytic object. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The IDs of the dimensions to retrieve. Default is all dimensions. + :type id: List[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._dimensions_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DimensionsDTO", + } + response_data = self.api_client.call_api( + *_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 dimensions_with_http_info( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the dimensions to retrieve. Default is all dimensions.")] = 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[DimensionsDTO]: + """Retrieve a list of dimensions + + Retrieve a list of dimensions for a specific analytic object. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The IDs of the dimensions to retrieve. Default is all dimensions. + :type id: List[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._dimensions_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DimensionsDTO", + } + response_data = self.api_client.call_api( + *_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 dimensions_without_preload_content( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the dimensions to retrieve. Default is all dimensions.")] = 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: + """Retrieve a list of dimensions + + Retrieve a list of dimensions for a specific analytic object. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The IDs of the dimensions to retrieve. Default is all dimensions. + :type id: List[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._dimensions_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DimensionsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _dimensions_serialize( + self, + object_id, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'id': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + if id is not None: + + _query_params.append(('id', 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/analytic-objects/{objectId}/dimensions', + 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 member( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object.")], + dimension_id: Annotated[StrictStr, Field(description="The ID of the dimension.")], + id: StrictStr, + id2: Annotated[Optional[StrictStr], Field(description="The ID of the member to retrieve.")] = 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, + ) -> MembersDTO: + """Retrieve a dimension member + + If you know the ID of a dimension member, use this API to retrieve that dimension member specifically. You must also know the dimension's ID and the analytic object's ID. + + :param object_id: The ID of the analytic object. (required) + :type object_id: str + :param dimension_id: The ID of the dimension. (required) + :type dimension_id: str + :param id: (required) + :type id: str + :param id2: The ID of the member to retrieve. + :type id2: 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._member_serialize( + object_id=object_id, + dimension_id=dimension_id, + id=id, + id2=id2, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MembersDTO", + } + response_data = self.api_client.call_api( + *_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 member_with_http_info( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object.")], + dimension_id: Annotated[StrictStr, Field(description="The ID of the dimension.")], + id: StrictStr, + id2: Annotated[Optional[StrictStr], Field(description="The ID of the member to retrieve.")] = 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[MembersDTO]: + """Retrieve a dimension member + + If you know the ID of a dimension member, use this API to retrieve that dimension member specifically. You must also know the dimension's ID and the analytic object's ID. + + :param object_id: The ID of the analytic object. (required) + :type object_id: str + :param dimension_id: The ID of the dimension. (required) + :type dimension_id: str + :param id: (required) + :type id: str + :param id2: The ID of the member to retrieve. + :type id2: 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._member_serialize( + object_id=object_id, + dimension_id=dimension_id, + id=id, + id2=id2, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MembersDTO", + } + response_data = self.api_client.call_api( + *_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 member_without_preload_content( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object.")], + dimension_id: Annotated[StrictStr, Field(description="The ID of the dimension.")], + id: StrictStr, + id2: Annotated[Optional[StrictStr], Field(description="The ID of the member to retrieve.")] = 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: + """Retrieve a dimension member + + If you know the ID of a dimension member, use this API to retrieve that dimension member specifically. You must also know the dimension's ID and the analytic object's ID. + + :param object_id: The ID of the analytic object. (required) + :type object_id: str + :param dimension_id: The ID of the dimension. (required) + :type dimension_id: str + :param id: (required) + :type id: str + :param id2: The ID of the member to retrieve. + :type id2: 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._member_serialize( + object_id=object_id, + dimension_id=dimension_id, + id=id, + id2=id2, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MembersDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _member_serialize( + self, + object_id, + dimension_id, + id, + id2, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if object_id is not None: + _path_params['objectId'] = object_id + if dimension_id is not None: + _path_params['dimensionId'] = dimension_id + if id is not None: + _path_params['id'] = id + # process the query parameters + if id2 is not None: + + _query_params.append(('Id', id2)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/analytic-objects/{objectId}/dimensions/{dimensionId}/members/{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 members( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object.")], + dimension_id: Annotated[StrictStr, Field(description="The ID of the dimension.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the members to retrieve. Default is all members.")] = None, + max_level: Annotated[Optional[StrictInt], Field(description="The maximum level in the hierarchy to fetch. The top level of the hierarchy is 0. Default is all levels.")] = None, + filter: Annotated[Optional[StrictStr], Field(description="A regular expression that members must match to be retrieved. Default is to retrieve all members.")] = None, + var_field: Annotated[Optional[StrictStr], Field(description="Indicates the aspect of the member to apply the filter to. Possible values are: - **id**: Match the filter to the member ID. - **display**: Match the filter to the member's display name. - **either**: Match the filter to the member ID or display name. Default is `id`.")] = None, + include_data_members: Annotated[Optional[StrictBool], Field(description="Indicates whether data members are included in the response. Parent-child dimensions only. Default is `false`.")] = None, + offset: Annotated[Optional[StrictInt], Field(description="For paginated member requests against high-cardinality dimensions, the offset of the first member to retrieve. Default is 0. If the `offset` value is specified to a non-default value, all other non-pagination parameters are ignored.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="For paginated member requests against high-cardinality dimensions, the maximum number of members to retrieve. Default is -1, meaning no limit. If the `limit` value is specified to a non-default value, all other non-pagination parameters are ignored.")] = 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, + ) -> MembersDTO: + """Retrieve a list of dimension members + + If you know the ID of a dimension, use this API to retrieve the members of that dimension specifically. You must also know the analytic object's ID. Dimension members exist in a hierarchy. The levels in the hierarchy may be fixed or non-uniform. Leveled dimensions have fixed hierarchies, while parent-child dimensions have non-uniform levels. When you retrieve dimension members with this API, the response returns the level of the dimension and the path to get to that level. For example, in a Location dimension, Vancouver is 3 levels deep: - All > Canada > British Columbia > Vancouver Parent-child hierarchies are non-uniform and exhibit distinct characteristics such as time dependence and data attributes. These traits reflect the dynamic nature of hierarchies, for example, organizational hierarchies. The API response includes elements that express the validity ranges for retrieved members. + + :param object_id: The ID of the analytic object. (required) + :type object_id: str + :param dimension_id: The ID of the dimension. (required) + :type dimension_id: str + :param id: The IDs of the members to retrieve. Default is all members. + :type id: List[str] + :param max_level: The maximum level in the hierarchy to fetch. The top level of the hierarchy is 0. Default is all levels. + :type max_level: int + :param filter: A regular expression that members must match to be retrieved. Default is to retrieve all members. + :type filter: str + :param var_field: Indicates the aspect of the member to apply the filter to. Possible values are: - **id**: Match the filter to the member ID. - **display**: Match the filter to the member's display name. - **either**: Match the filter to the member ID or display name. Default is `id`. + :type var_field: str + :param include_data_members: Indicates whether data members are included in the response. Parent-child dimensions only. Default is `false`. + :type include_data_members: bool + :param offset: For paginated member requests against high-cardinality dimensions, the offset of the first member to retrieve. Default is 0. If the `offset` value is specified to a non-default value, all other non-pagination parameters are ignored. + :type offset: int + :param limit: For paginated member requests against high-cardinality dimensions, the maximum number of members to retrieve. Default is -1, meaning no limit. If the `limit` value is specified to a non-default value, all other non-pagination parameters are ignored. + :type limit: 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._members_serialize( + object_id=object_id, + dimension_id=dimension_id, + id=id, + max_level=max_level, + filter=filter, + var_field=var_field, + include_data_members=include_data_members, + offset=offset, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MembersDTO", + } + response_data = self.api_client.call_api( + *_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 members_with_http_info( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object.")], + dimension_id: Annotated[StrictStr, Field(description="The ID of the dimension.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the members to retrieve. Default is all members.")] = None, + max_level: Annotated[Optional[StrictInt], Field(description="The maximum level in the hierarchy to fetch. The top level of the hierarchy is 0. Default is all levels.")] = None, + filter: Annotated[Optional[StrictStr], Field(description="A regular expression that members must match to be retrieved. Default is to retrieve all members.")] = None, + var_field: Annotated[Optional[StrictStr], Field(description="Indicates the aspect of the member to apply the filter to. Possible values are: - **id**: Match the filter to the member ID. - **display**: Match the filter to the member's display name. - **either**: Match the filter to the member ID or display name. Default is `id`.")] = None, + include_data_members: Annotated[Optional[StrictBool], Field(description="Indicates whether data members are included in the response. Parent-child dimensions only. Default is `false`.")] = None, + offset: Annotated[Optional[StrictInt], Field(description="For paginated member requests against high-cardinality dimensions, the offset of the first member to retrieve. Default is 0. If the `offset` value is specified to a non-default value, all other non-pagination parameters are ignored.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="For paginated member requests against high-cardinality dimensions, the maximum number of members to retrieve. Default is -1, meaning no limit. If the `limit` value is specified to a non-default value, all other non-pagination parameters are ignored.")] = 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[MembersDTO]: + """Retrieve a list of dimension members + + If you know the ID of a dimension, use this API to retrieve the members of that dimension specifically. You must also know the analytic object's ID. Dimension members exist in a hierarchy. The levels in the hierarchy may be fixed or non-uniform. Leveled dimensions have fixed hierarchies, while parent-child dimensions have non-uniform levels. When you retrieve dimension members with this API, the response returns the level of the dimension and the path to get to that level. For example, in a Location dimension, Vancouver is 3 levels deep: - All > Canada > British Columbia > Vancouver Parent-child hierarchies are non-uniform and exhibit distinct characteristics such as time dependence and data attributes. These traits reflect the dynamic nature of hierarchies, for example, organizational hierarchies. The API response includes elements that express the validity ranges for retrieved members. + + :param object_id: The ID of the analytic object. (required) + :type object_id: str + :param dimension_id: The ID of the dimension. (required) + :type dimension_id: str + :param id: The IDs of the members to retrieve. Default is all members. + :type id: List[str] + :param max_level: The maximum level in the hierarchy to fetch. The top level of the hierarchy is 0. Default is all levels. + :type max_level: int + :param filter: A regular expression that members must match to be retrieved. Default is to retrieve all members. + :type filter: str + :param var_field: Indicates the aspect of the member to apply the filter to. Possible values are: - **id**: Match the filter to the member ID. - **display**: Match the filter to the member's display name. - **either**: Match the filter to the member ID or display name. Default is `id`. + :type var_field: str + :param include_data_members: Indicates whether data members are included in the response. Parent-child dimensions only. Default is `false`. + :type include_data_members: bool + :param offset: For paginated member requests against high-cardinality dimensions, the offset of the first member to retrieve. Default is 0. If the `offset` value is specified to a non-default value, all other non-pagination parameters are ignored. + :type offset: int + :param limit: For paginated member requests against high-cardinality dimensions, the maximum number of members to retrieve. Default is -1, meaning no limit. If the `limit` value is specified to a non-default value, all other non-pagination parameters are ignored. + :type limit: 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._members_serialize( + object_id=object_id, + dimension_id=dimension_id, + id=id, + max_level=max_level, + filter=filter, + var_field=var_field, + include_data_members=include_data_members, + offset=offset, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MembersDTO", + } + response_data = self.api_client.call_api( + *_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 members_without_preload_content( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object.")], + dimension_id: Annotated[StrictStr, Field(description="The ID of the dimension.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the members to retrieve. Default is all members.")] = None, + max_level: Annotated[Optional[StrictInt], Field(description="The maximum level in the hierarchy to fetch. The top level of the hierarchy is 0. Default is all levels.")] = None, + filter: Annotated[Optional[StrictStr], Field(description="A regular expression that members must match to be retrieved. Default is to retrieve all members.")] = None, + var_field: Annotated[Optional[StrictStr], Field(description="Indicates the aspect of the member to apply the filter to. Possible values are: - **id**: Match the filter to the member ID. - **display**: Match the filter to the member's display name. - **either**: Match the filter to the member ID or display name. Default is `id`.")] = None, + include_data_members: Annotated[Optional[StrictBool], Field(description="Indicates whether data members are included in the response. Parent-child dimensions only. Default is `false`.")] = None, + offset: Annotated[Optional[StrictInt], Field(description="For paginated member requests against high-cardinality dimensions, the offset of the first member to retrieve. Default is 0. If the `offset` value is specified to a non-default value, all other non-pagination parameters are ignored.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="For paginated member requests against high-cardinality dimensions, the maximum number of members to retrieve. Default is -1, meaning no limit. If the `limit` value is specified to a non-default value, all other non-pagination parameters are ignored.")] = 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: + """Retrieve a list of dimension members + + If you know the ID of a dimension, use this API to retrieve the members of that dimension specifically. You must also know the analytic object's ID. Dimension members exist in a hierarchy. The levels in the hierarchy may be fixed or non-uniform. Leveled dimensions have fixed hierarchies, while parent-child dimensions have non-uniform levels. When you retrieve dimension members with this API, the response returns the level of the dimension and the path to get to that level. For example, in a Location dimension, Vancouver is 3 levels deep: - All > Canada > British Columbia > Vancouver Parent-child hierarchies are non-uniform and exhibit distinct characteristics such as time dependence and data attributes. These traits reflect the dynamic nature of hierarchies, for example, organizational hierarchies. The API response includes elements that express the validity ranges for retrieved members. + + :param object_id: The ID of the analytic object. (required) + :type object_id: str + :param dimension_id: The ID of the dimension. (required) + :type dimension_id: str + :param id: The IDs of the members to retrieve. Default is all members. + :type id: List[str] + :param max_level: The maximum level in the hierarchy to fetch. The top level of the hierarchy is 0. Default is all levels. + :type max_level: int + :param filter: A regular expression that members must match to be retrieved. Default is to retrieve all members. + :type filter: str + :param var_field: Indicates the aspect of the member to apply the filter to. Possible values are: - **id**: Match the filter to the member ID. - **display**: Match the filter to the member's display name. - **either**: Match the filter to the member ID or display name. Default is `id`. + :type var_field: str + :param include_data_members: Indicates whether data members are included in the response. Parent-child dimensions only. Default is `false`. + :type include_data_members: bool + :param offset: For paginated member requests against high-cardinality dimensions, the offset of the first member to retrieve. Default is 0. If the `offset` value is specified to a non-default value, all other non-pagination parameters are ignored. + :type offset: int + :param limit: For paginated member requests against high-cardinality dimensions, the maximum number of members to retrieve. Default is -1, meaning no limit. If the `limit` value is specified to a non-default value, all other non-pagination parameters are ignored. + :type limit: 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._members_serialize( + object_id=object_id, + dimension_id=dimension_id, + id=id, + max_level=max_level, + filter=filter, + var_field=var_field, + include_data_members=include_data_members, + offset=offset, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MembersDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _members_serialize( + self, + object_id, + dimension_id, + id, + max_level, + filter, + var_field, + include_data_members, + offset, + limit, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'id': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if object_id is not None: + _path_params['objectId'] = object_id + if dimension_id is not None: + _path_params['dimensionId'] = dimension_id + # process the query parameters + if id is not None: + + _query_params.append(('id', id)) + + if max_level is not None: + + _query_params.append(('maxLevel', max_level)) + + if filter is not None: + + _query_params.append(('filter', filter)) + + if var_field is not None: + + _query_params.append(('field', var_field)) + + if include_data_members is not None: + + _query_params.append(('includeDataMembers', include_data_members)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/analytic-objects/{objectId}/dimensions/{dimensionId}/members', + 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 metric( + self, + id: Annotated[StrictStr, Field(description="The ID of the metric to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> MetricDTO: + """Retrieve a metric by ID + + If you know the ID of a metric, use this API to retrieve that metric specifically. + + :param id: The ID of the metric to retrieve. (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._metric_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': "MetricDTO", + } + response_data = self.api_client.call_api( + *_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 metric_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The ID of the metric to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[MetricDTO]: + """Retrieve a metric by ID + + If you know the ID of a metric, use this API to retrieve that metric specifically. + + :param id: The ID of the metric to retrieve. (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._metric_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': "MetricDTO", + } + response_data = self.api_client.call_api( + *_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 metric_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The ID of the metric to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a metric by ID + + If you know the ID of a metric, use this API to retrieve that metric specifically. + + :param id: The ID of the metric to retrieve. (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._metric_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': "MetricDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _metric_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/metrics/{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 metric_dimensions( + self, + metric_id: Annotated[StrictStr, Field(description="The ID of the metric to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the dimensions to retrieve. Default is all dimensions.")] = 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, + ) -> DimensionsDTO: + """Retrieve a metric's dimensions + + Retrieve a list of dimensions for a specific metric. + + :param metric_id: The ID of the metric to retrieve. (required) + :type metric_id: str + :param id: The IDs of the dimensions to retrieve. Default is all dimensions. + :type id: List[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._metric_dimensions_serialize( + metric_id=metric_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DimensionsDTO", + } + response_data = self.api_client.call_api( + *_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 metric_dimensions_with_http_info( + self, + metric_id: Annotated[StrictStr, Field(description="The ID of the metric to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the dimensions to retrieve. Default is all dimensions.")] = 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[DimensionsDTO]: + """Retrieve a metric's dimensions + + Retrieve a list of dimensions for a specific metric. + + :param metric_id: The ID of the metric to retrieve. (required) + :type metric_id: str + :param id: The IDs of the dimensions to retrieve. Default is all dimensions. + :type id: List[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._metric_dimensions_serialize( + metric_id=metric_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DimensionsDTO", + } + response_data = self.api_client.call_api( + *_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 metric_dimensions_without_preload_content( + self, + metric_id: Annotated[StrictStr, Field(description="The ID of the metric to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the dimensions to retrieve. Default is all dimensions.")] = 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: + """Retrieve a metric's dimensions + + Retrieve a list of dimensions for a specific metric. + + :param metric_id: The ID of the metric to retrieve. (required) + :type metric_id: str + :param id: The IDs of the dimensions to retrieve. Default is all dimensions. + :type id: List[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._metric_dimensions_serialize( + metric_id=metric_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DimensionsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _metric_dimensions_serialize( + self, + metric_id, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'id': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if metric_id is not None: + _path_params['metricId'] = metric_id + # process the query parameters + if id is not None: + + _query_params.append(('id', 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/metrics/{metricId}/dimensions', + 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 metric_selection_concepts( + self, + metric_id: Annotated[StrictStr, Field(description="The ID of the metric to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the selection concepts to retrieve. Default is all selection concepts.")] = 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, + ) -> SelectionConceptsDTO: + """Retrieve a metric's selection concepts + + Retrieve a list of selection concepts for a specific metric. + + :param metric_id: The ID of the metric to retrieve. (required) + :type metric_id: str + :param id: The IDs of the selection concepts to retrieve. Default is all selection concepts. + :type id: List[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._metric_selection_concepts_serialize( + metric_id=metric_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptsDTO", + } + response_data = self.api_client.call_api( + *_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 metric_selection_concepts_with_http_info( + self, + metric_id: Annotated[StrictStr, Field(description="The ID of the metric to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the selection concepts to retrieve. Default is all selection concepts.")] = 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[SelectionConceptsDTO]: + """Retrieve a metric's selection concepts + + Retrieve a list of selection concepts for a specific metric. + + :param metric_id: The ID of the metric to retrieve. (required) + :type metric_id: str + :param id: The IDs of the selection concepts to retrieve. Default is all selection concepts. + :type id: List[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._metric_selection_concepts_serialize( + metric_id=metric_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptsDTO", + } + response_data = self.api_client.call_api( + *_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 metric_selection_concepts_without_preload_content( + self, + metric_id: Annotated[StrictStr, Field(description="The ID of the metric to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the selection concepts to retrieve. Default is all selection concepts.")] = 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: + """Retrieve a metric's selection concepts + + Retrieve a list of selection concepts for a specific metric. + + :param metric_id: The ID of the metric to retrieve. (required) + :type metric_id: str + :param id: The IDs of the selection concepts to retrieve. Default is all selection concepts. + :type id: List[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._metric_selection_concepts_serialize( + metric_id=metric_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _metric_selection_concepts_serialize( + self, + metric_id, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'id': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if metric_id is not None: + _path_params['metricId'] = metric_id + # process the query parameters + if id is not None: + + _query_params.append(('id', 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/metrics/{metricId}/selection-concepts', + 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 metrics( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the metrics to retrieve. Default is all metrics.")] = None, + category: Annotated[Optional[StrictStr], Field(description="The category to filter the returned metrics 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, + ) -> MetricsDTO: + """Retrieve a list of metrics + + Retrieve all the metrics in your Visier solution. + + :param id: The IDs of the metrics to retrieve. Default is all metrics. + :type id: List[str] + :param category: The category to filter the returned metrics by. + :type category: 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._metrics_serialize( + id=id, + category=category, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MetricsDTO", + } + response_data = self.api_client.call_api( + *_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 metrics_with_http_info( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the metrics to retrieve. Default is all metrics.")] = None, + category: Annotated[Optional[StrictStr], Field(description="The category to filter the returned metrics 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[MetricsDTO]: + """Retrieve a list of metrics + + Retrieve all the metrics in your Visier solution. + + :param id: The IDs of the metrics to retrieve. Default is all metrics. + :type id: List[str] + :param category: The category to filter the returned metrics by. + :type category: 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._metrics_serialize( + id=id, + category=category, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MetricsDTO", + } + response_data = self.api_client.call_api( + *_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 metrics_without_preload_content( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the metrics to retrieve. Default is all metrics.")] = None, + category: Annotated[Optional[StrictStr], Field(description="The category to filter the returned metrics 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: + """Retrieve a list of metrics + + Retrieve all the metrics in your Visier solution. + + :param id: The IDs of the metrics to retrieve. Default is all metrics. + :type id: List[str] + :param category: The category to filter the returned metrics by. + :type category: 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._metrics_serialize( + id=id, + category=category, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MetricsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _metrics_serialize( + self, + id, + category, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'id': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if id is not None: + + _query_params.append(('id', id)) + + if category is not None: + + _query_params.append(('category', category)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/metrics', + 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 planning_metrics( + self, + id: Annotated[StrictStr, Field(description="The ID of the planning model to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> MetricsDTO: + """Retrieve metrics by planning model ID + + Retrieve all the metrics you have access to for a planning model. + + :param id: The ID of the planning model to retrieve. (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._planning_metrics_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': "MetricsDTO", + } + response_data = self.api_client.call_api( + *_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 planning_metrics_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The ID of the planning model to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[MetricsDTO]: + """Retrieve metrics by planning model ID + + Retrieve all the metrics you have access to for a planning model. + + :param id: The ID of the planning model to retrieve. (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._planning_metrics_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': "MetricsDTO", + } + response_data = self.api_client.call_api( + *_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 planning_metrics_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The ID of the planning model to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve metrics by planning model ID + + Retrieve all the metrics you have access to for a planning model. + + :param id: The ID of the planning model to retrieve. (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._planning_metrics_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': "MetricsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _planning_metrics_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/plan-models/{id}/metrics', + 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 planning_model( + self, + id: Annotated[StrictStr, Field(description="The ID of the planning model to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PlanningModelDTO: + """Retrieve a planning model by ID + + Retrieve a specific planning model you have access to. + + :param id: The ID of the planning model to retrieve. (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._planning_model_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': "PlanningModelDTO", + } + response_data = self.api_client.call_api( + *_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 planning_model_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The ID of the planning model to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[PlanningModelDTO]: + """Retrieve a planning model by ID + + Retrieve a specific planning model you have access to. + + :param id: The ID of the planning model to retrieve. (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._planning_model_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': "PlanningModelDTO", + } + response_data = self.api_client.call_api( + *_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 planning_model_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The ID of the planning model to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a planning model by ID + + Retrieve a specific planning model you have access to. + + :param id: The ID of the planning model to retrieve. (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._planning_model_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': "PlanningModelDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _planning_model_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/plan-models/{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 planning_models( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the planning models to retrieve. Default is all models.")] = 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, + ) -> PlanningModelsDTO: + """Retrieve a list of planning models + + Retrieve all the planning models you have access to. + + :param id: The IDs of the planning models to retrieve. Default is all models. + :type id: List[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._planning_models_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': "PlanningModelsDTO", + } + response_data = self.api_client.call_api( + *_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 planning_models_with_http_info( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the planning models to retrieve. Default is all models.")] = 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[PlanningModelsDTO]: + """Retrieve a list of planning models + + Retrieve all the planning models you have access to. + + :param id: The IDs of the planning models to retrieve. Default is all models. + :type id: List[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._planning_models_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': "PlanningModelsDTO", + } + response_data = self.api_client.call_api( + *_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 planning_models_without_preload_content( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the planning models to retrieve. Default is all models.")] = 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: + """Retrieve a list of planning models + + Retrieve all the planning models you have access to. + + :param id: The IDs of the planning models to retrieve. Default is all models. + :type id: List[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._planning_models_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': "PlanningModelsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _planning_models_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'id': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if id is not None: + + _query_params.append(('id', 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/plan-models', + 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 planning_plan( + self, + model_id: Annotated[StrictStr, Field(description="The ID of the planning model to retrieve.")], + id: Annotated[StrictStr, Field(description="The ID of the plan to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PlanningPlanDTO: + """Retrieve a plan by ID + + Retrieve a specific plan that you have access to in a planning model. + + :param model_id: The ID of the planning model to retrieve. (required) + :type model_id: str + :param id: The ID of the plan to retrieve. (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._planning_plan_serialize( + model_id=model_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PlanningPlanDTO", + } + response_data = self.api_client.call_api( + *_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 planning_plan_with_http_info( + self, + model_id: Annotated[StrictStr, Field(description="The ID of the planning model to retrieve.")], + id: Annotated[StrictStr, Field(description="The ID of the plan to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[PlanningPlanDTO]: + """Retrieve a plan by ID + + Retrieve a specific plan that you have access to in a planning model. + + :param model_id: The ID of the planning model to retrieve. (required) + :type model_id: str + :param id: The ID of the plan to retrieve. (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._planning_plan_serialize( + model_id=model_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PlanningPlanDTO", + } + response_data = self.api_client.call_api( + *_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 planning_plan_without_preload_content( + self, + model_id: Annotated[StrictStr, Field(description="The ID of the planning model to retrieve.")], + id: Annotated[StrictStr, Field(description="The ID of the plan to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a plan by ID + + Retrieve a specific plan that you have access to in a planning model. + + :param model_id: The ID of the planning model to retrieve. (required) + :type model_id: str + :param id: The ID of the plan to retrieve. (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._planning_plan_serialize( + model_id=model_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PlanningPlanDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _planning_plan_serialize( + self, + model_id, + 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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if model_id is not None: + _path_params['modelId'] = model_id + 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/plan-models/{modelId}/plans/{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 planning_plans( + self, + model_id: Annotated[StrictStr, Field(description="The ID of the planning model to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the plans to retrieve. Default is all plans.")] = 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, + ) -> PlanningPlansDTO: + """Retrieve a list of plans + + Retrieve all the plans you have access to for a planning model. + + :param model_id: The ID of the planning model to retrieve. (required) + :type model_id: str + :param id: The IDs of the plans to retrieve. Default is all plans. + :type id: List[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._planning_plans_serialize( + model_id=model_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PlanningPlansDTO", + } + response_data = self.api_client.call_api( + *_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 planning_plans_with_http_info( + self, + model_id: Annotated[StrictStr, Field(description="The ID of the planning model to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the plans to retrieve. Default is all plans.")] = 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[PlanningPlansDTO]: + """Retrieve a list of plans + + Retrieve all the plans you have access to for a planning model. + + :param model_id: The ID of the planning model to retrieve. (required) + :type model_id: str + :param id: The IDs of the plans to retrieve. Default is all plans. + :type id: List[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._planning_plans_serialize( + model_id=model_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PlanningPlansDTO", + } + response_data = self.api_client.call_api( + *_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 planning_plans_without_preload_content( + self, + model_id: Annotated[StrictStr, Field(description="The ID of the planning model to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the plans to retrieve. Default is all plans.")] = 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: + """Retrieve a list of plans + + Retrieve all the plans you have access to for a planning model. + + :param model_id: The ID of the planning model to retrieve. (required) + :type model_id: str + :param id: The IDs of the plans to retrieve. Default is all plans. + :type id: List[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._planning_plans_serialize( + model_id=model_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PlanningPlansDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _planning_plans_serialize( + self, + model_id, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'id': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if model_id is not None: + _path_params['modelId'] = model_id + # process the query parameters + if id is not None: + + _query_params.append(('id', 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/plan-models/{modelId}/plans', + 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 prediction( + self, + id: Annotated[StrictStr, Field(description="The ID of the prediction to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PredictionDTO: + """Retrieve a prediction by ID + + If you know the ID of a prediction, use this API to retrieve that prediction specifically. + + :param id: The ID of the prediction to retrieve. (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._prediction_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': "PredictionDTO", + } + response_data = self.api_client.call_api( + *_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 prediction_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The ID of the prediction to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[PredictionDTO]: + """Retrieve a prediction by ID + + If you know the ID of a prediction, use this API to retrieve that prediction specifically. + + :param id: The ID of the prediction to retrieve. (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._prediction_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': "PredictionDTO", + } + response_data = self.api_client.call_api( + *_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 prediction_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The ID of the prediction to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a prediction by ID + + If you know the ID of a prediction, use this API to retrieve that prediction specifically. + + :param id: The ID of the prediction to retrieve. (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._prediction_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': "PredictionDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _prediction_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/predictions/{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 predictions( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the predictions to retrieve. Default is all predictions.")] = 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, + ) -> PredictionsDTO: + """Retrieve a list of predictions + + Retrieve all the predictions in your Visier solution. + + :param id: The IDs of the predictions to retrieve. Default is all predictions. + :type id: List[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._predictions_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': "PredictionsDTO", + } + response_data = self.api_client.call_api( + *_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 predictions_with_http_info( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the predictions to retrieve. Default is all predictions.")] = 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[PredictionsDTO]: + """Retrieve a list of predictions + + Retrieve all the predictions in your Visier solution. + + :param id: The IDs of the predictions to retrieve. Default is all predictions. + :type id: List[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._predictions_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': "PredictionsDTO", + } + response_data = self.api_client.call_api( + *_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 predictions_without_preload_content( + self, + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the predictions to retrieve. Default is all predictions.")] = 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: + """Retrieve a list of predictions + + Retrieve all the predictions in your Visier solution. + + :param id: The IDs of the predictions to retrieve. Default is all predictions. + :type id: List[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._predictions_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': "PredictionsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _predictions_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'id': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if id is not None: + + _query_params.append(('id', 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/predictions', + 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 properties( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the properties to retrieve. Default is all properties.")] = 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, + ) -> PropertiesDTO: + """Retrieve a list of properties + + Retrieve a list of properties for a specific analytic object. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The IDs of the properties to retrieve. Default is all properties. + :type id: List[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._properties_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PropertiesDTO", + } + response_data = self.api_client.call_api( + *_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 properties_with_http_info( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the properties to retrieve. Default is all properties.")] = 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[PropertiesDTO]: + """Retrieve a list of properties + + Retrieve a list of properties for a specific analytic object. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The IDs of the properties to retrieve. Default is all properties. + :type id: List[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._properties_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PropertiesDTO", + } + response_data = self.api_client.call_api( + *_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 properties_without_preload_content( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the properties to retrieve. Default is all properties.")] = 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: + """Retrieve a list of properties + + Retrieve a list of properties for a specific analytic object. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The IDs of the properties to retrieve. Default is all properties. + :type id: List[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._properties_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PropertiesDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _properties_serialize( + self, + object_id, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'id': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + if id is not None: + + _query_params.append(('id', 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/analytic-objects/{objectId}/properties', + 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 selection_concept( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[StrictStr, Field(description="The ID of the selection concept to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SelectionConceptDTO: + """Retrieve an analytic object's selection concept by ID + + If you know the ID of a selection concept, use this API to retrieve that selection concept specifically. You must also know the analytic object's ID. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The ID of the selection concept to retrieve. (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._selection_concept_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptDTO", + } + response_data = self.api_client.call_api( + *_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 selection_concept_with_http_info( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[StrictStr, Field(description="The ID of the selection concept to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[SelectionConceptDTO]: + """Retrieve an analytic object's selection concept by ID + + If you know the ID of a selection concept, use this API to retrieve that selection concept specifically. You must also know the analytic object's ID. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The ID of the selection concept to retrieve. (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._selection_concept_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptDTO", + } + response_data = self.api_client.call_api( + *_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 selection_concept_without_preload_content( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[StrictStr, Field(description="The ID of the selection concept to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve an analytic object's selection concept by ID + + If you know the ID of a selection concept, use this API to retrieve that selection concept specifically. You must also know the analytic object's ID. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The ID of the selection concept to retrieve. (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._selection_concept_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _selection_concept_serialize( + self, + object_id, + 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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if object_id is not None: + _path_params['objectId'] = object_id + 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/analytic-objects/{objectId}/selection-concepts/{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 selection_concepts( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the selection concepts to retrieve. Default is all selection concepts.")] = 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, + ) -> SelectionConceptsDTO: + """Retrieve an analytic object's selection concepts + + Retrieve a list of selection concepts for a specific analytic object. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The IDs of the selection concepts to retrieve. Default is all selection concepts. + :type id: List[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._selection_concepts_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptsDTO", + } + response_data = self.api_client.call_api( + *_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 selection_concepts_with_http_info( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the selection concepts to retrieve. Default is all selection concepts.")] = 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[SelectionConceptsDTO]: + """Retrieve an analytic object's selection concepts + + Retrieve a list of selection concepts for a specific analytic object. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The IDs of the selection concepts to retrieve. Default is all selection concepts. + :type id: List[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._selection_concepts_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptsDTO", + } + response_data = self.api_client.call_api( + *_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 selection_concepts_without_preload_content( + self, + object_id: Annotated[StrictStr, Field(description="The ID of the analytic object to retrieve.")], + id: Annotated[Optional[List[StrictStr]], Field(description="The IDs of the selection concepts to retrieve. Default is all selection concepts.")] = 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: + """Retrieve an analytic object's selection concepts + + Retrieve a list of selection concepts for a specific analytic object. + + :param object_id: The ID of the analytic object to retrieve. (required) + :type object_id: str + :param id: The IDs of the selection concepts to retrieve. Default is all selection concepts. + :type id: List[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._selection_concepts_serialize( + object_id=object_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _selection_concepts_serialize( + self, + object_id, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'id': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + if id is not None: + + _query_params.append(('id', 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/model/analytic-objects/{objectId}/selection-concepts', + 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/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api/object_configuration_api.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api/object_configuration_api.py new file mode 100644 index 000000000..7e5aecbf7 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api/object_configuration_api.py @@ -0,0 +1,1648 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + 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 visier.sdk.api.analytic_model.models.calculation_concept_configuration_map_dto import CalculationConceptConfigurationMapDTO +from visier.sdk.api.analytic_model.models.calculation_concept_dto import CalculationConceptDTO +from visier.sdk.api.analytic_model.models.calculation_concept_list_dto import CalculationConceptListDTO +from visier.sdk.api.analytic_model.models.concept_configuration_result_dto import ConceptConfigurationResultDTO +from visier.sdk.api.analytic_model.models.selection_concept_configuration_map_dto import SelectionConceptConfigurationMapDTO +from visier.sdk.api.analytic_model.models.selection_concept_dto import SelectionConceptDTO +from visier.sdk.api.analytic_model.models.selection_concept_list_dto import SelectionConceptListDTO + +from visier.sdk.api.analytic_model.api_client import ApiClient, RequestSerialized +from visier.sdk.api.analytic_model.api_response import ApiResponse +from visier.sdk.api.analytic_model.rest import RESTResponseType + + +class ObjectConfigurationApi: + """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_calculation_concept( + self, + concept_id: Annotated[StrictStr, Field(description="The ID of the concept to retrieve the configuration for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CalculationConceptDTO: + """Retrieve the configuration of a calculation concept + + Retrieve the configuration details of a calculation concept in production. + + :param concept_id: The ID of the concept to retrieve the configuration for. (required) + :type concept_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_calculation_concept_serialize( + concept_id=concept_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CalculationConceptDTO", + } + response_data = self.api_client.call_api( + *_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_calculation_concept_with_http_info( + self, + concept_id: Annotated[StrictStr, Field(description="The ID of the concept to retrieve the configuration for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[CalculationConceptDTO]: + """Retrieve the configuration of a calculation concept + + Retrieve the configuration details of a calculation concept in production. + + :param concept_id: The ID of the concept to retrieve the configuration for. (required) + :type concept_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_calculation_concept_serialize( + concept_id=concept_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CalculationConceptDTO", + } + response_data = self.api_client.call_api( + *_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_calculation_concept_without_preload_content( + self, + concept_id: Annotated[StrictStr, Field(description="The ID of the concept to retrieve the configuration for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve the configuration of a calculation concept + + Retrieve the configuration details of a calculation concept in production. + + :param concept_id: The ID of the concept to retrieve the configuration for. (required) + :type concept_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_calculation_concept_serialize( + concept_id=concept_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CalculationConceptDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_calculation_concept_serialize( + self, + concept_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if concept_id is not None: + _path_params['conceptId'] = concept_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/calculation-concepts/{conceptId}', + 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_calculation_concepts( + 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, + ) -> CalculationConceptListDTO: + """Retrieve all calculation concepts + + Retrieve the calculation concepts available in production. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_calculation_concepts_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CalculationConceptListDTO", + } + response_data = self.api_client.call_api( + *_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_calculation_concepts_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[CalculationConceptListDTO]: + """Retrieve all calculation concepts + + Retrieve the calculation concepts available in production. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_calculation_concepts_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CalculationConceptListDTO", + } + response_data = self.api_client.call_api( + *_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_calculation_concepts_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: + """Retrieve all calculation concepts + + Retrieve the calculation concepts available in production. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_calculation_concepts_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CalculationConceptListDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_calculation_concepts_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/calculation-concepts', + 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_selection_concept( + self, + concept_id: Annotated[StrictStr, Field(description="The ID of the concept to retrieve the configuration for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SelectionConceptDTO: + """Retrieve the configuration of a selection concept + + Retrieve the configuration details of a selection concept in production. + + :param concept_id: The ID of the concept to retrieve the configuration for. (required) + :type concept_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_selection_concept_serialize( + concept_id=concept_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptDTO", + } + response_data = self.api_client.call_api( + *_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_selection_concept_with_http_info( + self, + concept_id: Annotated[StrictStr, Field(description="The ID of the concept to retrieve the configuration for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[SelectionConceptDTO]: + """Retrieve the configuration of a selection concept + + Retrieve the configuration details of a selection concept in production. + + :param concept_id: The ID of the concept to retrieve the configuration for. (required) + :type concept_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_selection_concept_serialize( + concept_id=concept_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptDTO", + } + response_data = self.api_client.call_api( + *_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_selection_concept_without_preload_content( + self, + concept_id: Annotated[StrictStr, Field(description="The ID of the concept to retrieve the configuration for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve the configuration of a selection concept + + Retrieve the configuration details of a selection concept in production. + + :param concept_id: The ID of the concept to retrieve the configuration for. (required) + :type concept_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_selection_concept_serialize( + concept_id=concept_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_selection_concept_serialize( + self, + concept_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if concept_id is not None: + _path_params['conceptId'] = concept_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/selection-concepts/{conceptId}', + 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_selection_concepts( + 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, + ) -> SelectionConceptListDTO: + """Retrieve all selection concepts + + Retrieve the selection concepts available in production. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_selection_concepts_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptListDTO", + } + response_data = self.api_client.call_api( + *_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_selection_concepts_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[SelectionConceptListDTO]: + """Retrieve all selection concepts + + Retrieve the selection concepts available in production. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_selection_concepts_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptListDTO", + } + response_data = self.api_client.call_api( + *_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_selection_concepts_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: + """Retrieve all selection concepts + + Retrieve the selection concepts available in production. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_selection_concepts_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SelectionConceptListDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_selection_concepts_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/admin/selection-concepts', + 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 map_calculation_concept( + self, + concept_id: Annotated[StrictStr, Field(description="The UUID of the concept to configure.")], + calculation_concept_configuration_map_dto: CalculationConceptConfigurationMapDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ConceptConfigurationResultDTO: + """Map dimension members to nodes in a calculation concept + + Map dimension members to nodes in a calculation concept. The changes are applied in a new project and published to production. The body of this API is the source of truth for dimension members mapped to the concept. For example, if a node in the body does not have any dimension members, all existing dimension members mapped to that node will be removed. + + :param concept_id: The UUID of the concept to configure. (required) + :type concept_id: str + :param calculation_concept_configuration_map_dto: (required) + :type calculation_concept_configuration_map_dto: CalculationConceptConfigurationMapDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._map_calculation_concept_serialize( + concept_id=concept_id, + calculation_concept_configuration_map_dto=calculation_concept_configuration_map_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConceptConfigurationResultDTO", + } + response_data = self.api_client.call_api( + *_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 map_calculation_concept_with_http_info( + self, + concept_id: Annotated[StrictStr, Field(description="The UUID of the concept to configure.")], + calculation_concept_configuration_map_dto: CalculationConceptConfigurationMapDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ConceptConfigurationResultDTO]: + """Map dimension members to nodes in a calculation concept + + Map dimension members to nodes in a calculation concept. The changes are applied in a new project and published to production. The body of this API is the source of truth for dimension members mapped to the concept. For example, if a node in the body does not have any dimension members, all existing dimension members mapped to that node will be removed. + + :param concept_id: The UUID of the concept to configure. (required) + :type concept_id: str + :param calculation_concept_configuration_map_dto: (required) + :type calculation_concept_configuration_map_dto: CalculationConceptConfigurationMapDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._map_calculation_concept_serialize( + concept_id=concept_id, + calculation_concept_configuration_map_dto=calculation_concept_configuration_map_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConceptConfigurationResultDTO", + } + response_data = self.api_client.call_api( + *_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 map_calculation_concept_without_preload_content( + self, + concept_id: Annotated[StrictStr, Field(description="The UUID of the concept to configure.")], + calculation_concept_configuration_map_dto: CalculationConceptConfigurationMapDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Map dimension members to nodes in a calculation concept + + Map dimension members to nodes in a calculation concept. The changes are applied in a new project and published to production. The body of this API is the source of truth for dimension members mapped to the concept. For example, if a node in the body does not have any dimension members, all existing dimension members mapped to that node will be removed. + + :param concept_id: The UUID of the concept to configure. (required) + :type concept_id: str + :param calculation_concept_configuration_map_dto: (required) + :type calculation_concept_configuration_map_dto: CalculationConceptConfigurationMapDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._map_calculation_concept_serialize( + concept_id=concept_id, + calculation_concept_configuration_map_dto=calculation_concept_configuration_map_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConceptConfigurationResultDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _map_calculation_concept_serialize( + self, + concept_id, + calculation_concept_configuration_map_dto, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if concept_id is not None: + _path_params['conceptId'] = concept_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if calculation_concept_configuration_map_dto is not None: + _body_params = calculation_concept_configuration_map_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/admin/calculation-concepts/{conceptId}/configure', + 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 map_selection_concept( + self, + concept_id: Annotated[StrictStr, Field(description="The UUID of the concept to configure.")], + selection_concept_configuration_map_dto: SelectionConceptConfigurationMapDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ConceptConfigurationResultDTO: + """Map dimension members to a selection concept + + Map dimension members to a selection concept. The changes are applied to a new project and published to production. The body of this API is the source of truth for dimension members mapped to the concept. For example, if a node in the body does not have any dimension members, all existing dimension members mapped to that node will be removed. + + :param concept_id: The UUID of the concept to configure. (required) + :type concept_id: str + :param selection_concept_configuration_map_dto: (required) + :type selection_concept_configuration_map_dto: SelectionConceptConfigurationMapDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._map_selection_concept_serialize( + concept_id=concept_id, + selection_concept_configuration_map_dto=selection_concept_configuration_map_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConceptConfigurationResultDTO", + } + response_data = self.api_client.call_api( + *_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 map_selection_concept_with_http_info( + self, + concept_id: Annotated[StrictStr, Field(description="The UUID of the concept to configure.")], + selection_concept_configuration_map_dto: SelectionConceptConfigurationMapDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ConceptConfigurationResultDTO]: + """Map dimension members to a selection concept + + Map dimension members to a selection concept. The changes are applied to a new project and published to production. The body of this API is the source of truth for dimension members mapped to the concept. For example, if a node in the body does not have any dimension members, all existing dimension members mapped to that node will be removed. + + :param concept_id: The UUID of the concept to configure. (required) + :type concept_id: str + :param selection_concept_configuration_map_dto: (required) + :type selection_concept_configuration_map_dto: SelectionConceptConfigurationMapDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._map_selection_concept_serialize( + concept_id=concept_id, + selection_concept_configuration_map_dto=selection_concept_configuration_map_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConceptConfigurationResultDTO", + } + response_data = self.api_client.call_api( + *_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 map_selection_concept_without_preload_content( + self, + concept_id: Annotated[StrictStr, Field(description="The UUID of the concept to configure.")], + selection_concept_configuration_map_dto: SelectionConceptConfigurationMapDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Map dimension members to a selection concept + + Map dimension members to a selection concept. The changes are applied to a new project and published to production. The body of this API is the source of truth for dimension members mapped to the concept. For example, if a node in the body does not have any dimension members, all existing dimension members mapped to that node will be removed. + + :param concept_id: The UUID of the concept to configure. (required) + :type concept_id: str + :param selection_concept_configuration_map_dto: (required) + :type selection_concept_configuration_map_dto: SelectionConceptConfigurationMapDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._map_selection_concept_serialize( + concept_id=concept_id, + selection_concept_configuration_map_dto=selection_concept_configuration_map_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConceptConfigurationResultDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _map_selection_concept_serialize( + self, + concept_id, + selection_concept_configuration_map_dto, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if concept_id is not None: + _path_params['conceptId'] = concept_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if selection_concept_configuration_map_dto is not None: + _body_params = selection_concept_configuration_map_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/admin/selection-concepts/{conceptId}/configure', + 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/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api_client.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api_client.py new file mode 100644 index 000000000..4cac315d7 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api_client.py @@ -0,0 +1,796 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + 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 json +import mimetypes +import os +import re +import tempfile + +from urllib.parse import quote +from typing import Tuple, Optional, List, Dict, Union +from pydantic import SecretStr + +from visier.sdk.api.analytic_model.configuration import Configuration +from visier.sdk.api.analytic_model.api_response import ApiResponse, T as ApiResponseT +import visier.sdk.api.analytic_model.models +from visier.sdk.api.analytic_model import rest +from visier.sdk.api.analytic_model.exceptions import ( + ApiValueError, + ApiException, + BadRequestException, + UnauthorizedException, + ForbiddenException, + NotFoundException, + ServiceException +) + +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, + 'object': object, + } + _pool = None + + def __init__( + self, + configuration=None, + header_name=None, + header_value=None, + cookie=None, + auth_retries=2 + ) -> 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 = 'OpenAPI-Generator/0.0.1/python' + self.client_side_validation = configuration.client_side_validation + self.auth_retries = auth_retries + + 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) + ) + + # 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 or self.configuration.ignore_operation_servers: + url = self.configuration.host + 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 + """ + + attempt = 0 + while attempt < self.auth_retries: + # 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 + ) + if response_data.status == 401: + if not self.configuration.refresh_config: + break + attempt += 1 + self.configuration.refresh_config(self.configuration, True) + self.update_params_for_auth(header_params, + post_params, + ['ApiKeyAuth', 'CookieAuth', 'OAuth2Auth'], + None, + None, + None + ) + continue + return response_data + + raise ApiException(f"Request failed after {self.auth_retries} retries") + + 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 = response_data.data + 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 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 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, 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("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(visier.sdk.api.analytic_model.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 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, 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]]): + """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 + 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, 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 + + for accept in accepts: + if re.search('json', accept, re.IGNORECASE): + return accept + + 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: + config_auth_settings = self.configuration.auth_settings() + for auth in auth_settings: + auth_setting = config_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/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api_response.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/api_response.py new file mode 100644 index 000000000..9bc7c11f6 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/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/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/configuration.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/configuration.py new file mode 100644 index 000000000..7dcc7d3b6 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/configuration.py @@ -0,0 +1,795 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import base64 +import copy +import hashlib +import http.client as httplib +import logging +import multiprocessing +import secrets +import sys +import threading +import time +import webbrowser +from http import HTTPStatus +from logging import FileHandler +from queue import Queue, Empty +from typing import Optional +from urllib.parse import urljoin, quote, urlparse, urlencode +from wsgiref.simple_server import make_server + +import urllib3 +from flask import Flask, request +from pydantic import BaseModel + +from visier.sdk.api.analytic_model.exceptions import ApiException + +import multiprocessing +import urllib3 + + +JSON_SCHEMA_VALIDATION_KEYWORDS = { + 'multipleOf', 'maximum', 'exclusiveMaximum', + 'minimum', 'exclusiveMinimum', 'maxLength', + 'minLength', 'pattern', 'maxItems', 'minItems' +} + +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: + + API Key Authentication Example. + Given the following security scheme in the OpenAPI specification: + components: + securitySchemes: + cookieAuth: # name for the security scheme + type: apiKey + in: cookie + name: JSESSIONID # cookie name + + You can programmatically set the cookie: + +conf = visier.sdk.api.analytic_model.Configuration( + api_key={'cookieAuth': 'abc123'} + api_key_prefix={'cookieAuth': 'JSESSIONID'} +) + + The following cookie will be added to the HTTP request: + Cookie: JSESSIONID abc123 + """ + + _default = None + + def __init__(self, + host=None, + api_key=None, + username=None, + password=None, + client_id=None, + client_secret=None, + redirect_uri=None, + vanity=None, + scope=None, + asid_token=None, + access_token=None, + refresh_token=None, + token_expiration_secs=3600, + server_index=None, + server_variables=None, + server_operation_index=None, + server_operation_variables=None, + ignore_operation_servers=False, + ssl_ca_cert=None, + retries=None, + *, + debug: Optional[bool] = None + ) -> None: + """Constructor + """ + self._base_path = "http://localhost" 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 = api_key + """API key is necessary for all types of authentication.""" + + # TODO remove api_key_prefix + self.api_key_prefix = {} + """dict to store API prefix (e.g. Bearer) + """ + self.refresh_config = default_refresh_config + """function hook to refresh config (e.g. asid_token, access_token, refresh_token) + """ + self.username = username + """Username for HTTP basic authentication + """ + self.password = password + """Password for HTTP basic authentication + """ + + # TODO add description + self.token_expiration_secs = token_expiration_secs + self._token_acquired_at = None + + self.client_id = client_id + self.client_secret = client_secret + self.redirect_uri = redirect_uri + self.vanity = vanity + self.scope = scope if scope else 'read' + self.asid_token = asid_token + self.access_token = access_token + """Access token + """ + self.refresh_token = refresh_token + + + self.logger = {} + """Logging Settings + """ + self.logger["package_logger"] = logging.getLogger("visier.sdk.api.analytic_model") + 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): + 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, value): + object.__setattr__(self, name, value) + + @classmethod + def set_default(cls, default): + """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): + """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): + """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 = Configuration() + return cls._default + + @property + def logger_file(self): + """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): + """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): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value): + """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): + """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): + """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, alias=None): + """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_config is not None: + self.refresh_config(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 + + def get_basic_auth_token(self): + """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): + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + + if self.refresh_config: + self.refresh_config(self, False) + + # Necessary apiKey for all auth types + auth = {'ApiKeyAuth': { + 'type': 'api_key', + 'in': 'header', + 'key': 'apikey', + 'value': self.api_key + }} + + if self.asid_token: + auth['CookieAuth'] = { + 'type': 'api_key', + 'in': 'cookie', + 'key': 'VisierASIDToken', + 'value': f'VisierASIDToken={self.asid_token}' + } + + if self.access_token: + auth['OAuth2Auth'] = { + 'type': 'bearer', + 'in': 'header', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + } + return auth + + def to_debug_report(self): + """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: 0.0.1\n"\ + "SDK Package Version: 0.0.1".\ + format(env=sys.platform, pyversion=sys.version) + + def get_host_settings(self): + """Gets an array of host settings + + :return: An array of host settings + """ + return [ + { + 'url': "", + 'description': "No description provided", + } + ] + + def get_host_from_settings(self, index, variables=None, servers=None): + """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): + """Return generated host.""" + return self.get_host_from_settings(self.server_index, variables=self.server_variables) + + @host.setter + def host(self, value): + """Fix base path.""" + self._base_path = value + self.server_index = None + + @property + def access_token(self): + return self._access_token + + @access_token.setter + def access_token(self, value): + self._access_token = value + self._token_acquired_at = time.time() + + @property + def asid_token(self): + return self._asid_token + + @asid_token.setter + def asid_token(self, value): + self._asid_token = value + self._token_acquired_at = time.time() + + def is_token_expired(self): + # Not using token expiration logic + if self.token_expiration_secs is None: + return False + + # Token has not been acquired yet + if not self._token_acquired_at: + return True + + return time.time() - self._token_acquired_at > self.token_expiration_secs + +# Additional logic to handle authentication +######################################################################################################################## +ACCESS_TOKEN = 'access_token' +API_KEY = "apikey" +AUTHORIZATION_CODE = "authorization_code" +CLIENT_ID = "client_id" +CODE = "code" +CODE_CHALLENGE = "code_challenge" +CODE_CHALLENGE_METHOD = "code_challenge_method" +CODE_VERIFIER = "code_verifier" +GRANT_TYPE = "grant_type" +PASSWORD = "password" +REDIRECT_URI = "redirect_uri" +REFRESH_TOKEN = "refresh_token" +RESPONSE_TYPE = "response_type" +SCOPE = "scope" +USERNAME = "username" + +# Disable werkzeug logging for the callback server +logging.getLogger('werkzeug').disabled = True + +class CallbackServer: + """Callback server that listens for the OAuth2 authorization code""" + + def __init__(self, provided_url: str) -> None: + parsed_uri = urlparse(provided_url) + self.host = parsed_uri.hostname or "localhost" + self.port = parsed_uri.port or 5000 + self.path = parsed_uri.path or "/oauth2/callback" + + self.server = None + self.flask_thread = None + self.app = Flask(__name__) + self.app.route(self.path, methods=["GET"])(self.callback) + self.queue = Queue() + + def callback(self): + """The handler for the OAuth2 callback providing the auth code""" + code = request.args.get(CODE) + self.queue.put(code) + return "

You can now close this window

" + + def start(self): + """Starts the callback server""" + self.server = make_server(self.host, self.port, self.app) + self.flask_thread = threading.Thread(target=self.server.serve_forever) + self.flask_thread.start() + + def stop(self): + """Stops the callback server""" + if self.server: + self.server.shutdown() + self.flask_thread.join() + self.server = None + self.flask_thread = None + + def __enter__(self): + self.start() + return self + + def __exit__(self, ex_type, ex_value, trace_back): + self.stop() + + +class TokenRequestDTO(BaseModel): + grant_type: str + client_id: str + scope: str + username: str = None + password: str = None + code: str = None + code_verifier: str = None + redirect_uri: str = None + refresh_token: str = None + + +class TokenResponseDTO(BaseModel): + access_token: str + refresh_token: str + id_token: str + token_type: str + expires_in: int + + +http = urllib3.PoolManager() + + +def _post_request(url: str, data: dict, additional_headers: dict = None, auth=None): + headers = { + 'Accept': 'application/jsonlines, application/json', + 'User-Agent': 'OpenAPI-python', + 'Content-Type': 'application/x-www-form-urlencoded' + } + if additional_headers: + headers.update(additional_headers) + + if auth: + username, password = auth + auth_header = base64.b64encode(f"{username}:{password}".encode('utf-8')).decode('ascii') + headers['Authorization'] = f'Basic {auth_header}' + + response = http.request( + 'POST', + url, + body=urlencode(data), + headers=headers, + retries=False + ) + if response.status != HTTPStatus.OK: + raise ApiException.from_response(response) + + return response + + +def _connect_asid(config): + url = urljoin(config.host, '/v1/admin/visierSecureToken') + data = { + USERNAME: config.username, + PASSWORD: config.password + } + if config.vanity: + data["vanityName"] = config.vanity + response = _post_request(url=url, data=data) + config.asid_token = response.data.decode(('utf-8')) + + +def _update_access_token(config, token_request: TokenRequestDTO): + url = config.host + "/v1/auth/oauth2/token" + body = token_request.dict() + if config.redirect_uri: + body[REDIRECT_URI] = config.redirect_uri + auth = (config.client_id, quote(config.client_secret, safe='')) + headers = { + API_KEY: config.api_key, + } + + response = _post_request(url=url, data=body, additional_headers=headers, auth=auth) + tokenResponse = TokenResponseDTO(**response.json()) + config.access_token = tokenResponse.access_token + config.refresh_token = tokenResponse.refresh_token + config.token_expiration_secs = tokenResponse.expires_in + + +def _refresh_token(config): + token_request = TokenRequestDTO( + grant_type=REFRESH_TOKEN, + client_id=config.client_id, + scope=config.scope, + refresh_token=config.refresh_token + ) + _update_access_token(config, token_request) + + +def _connect_oauth_password(config): + token_request = TokenRequestDTO( + grant_type=PASSWORD, + client_id=config.client_id, + scope=config.scope, + username=config.username, + password=config.password + ) + _update_access_token(config, token_request) + + +def _connect_oauth_code(config): + """Connect to Visier using (three-legged) OAuth2.""" + code_verifier = secrets.token_urlsafe(64) + code_challenge_digest = hashlib.sha256(code_verifier.encode()).digest() + code_challenge = base64.urlsafe_b64encode(code_challenge_digest).decode().rstrip("=") + + url_prefix = config.host + "/v1/auth/oauth2" + svr = CallbackServer(config.redirect_uri) + query_args = { + API_KEY: config.api_key, + RESPONSE_TYPE: CODE, + CLIENT_ID: config.client_id, + CODE_CHALLENGE_METHOD: "S256", + CODE_CHALLENGE: code_challenge + } + if config.redirect_uri: + query_args[REDIRECT_URI] = config.redirect_uri + + browser_url = f'{url_prefix}/authorize?{urlencode(query_args)}' + webbrowser.open(browser_url) + try: + svr.start() + code = svr.queue.get(block=True, timeout=120) + token_request = TokenRequestDTO( + grant_type=AUTHORIZATION_CODE, + client_id=config.client_id, + scope=config.scope, + code=code, + code_verifier=code_verifier + ) + _update_access_token(config, token_request) + except Empty as empty: + raise ApiException("Timed out waiting for OAuth2 auth code") from empty + finally: + svr.stop() + + +def _connect_oauth(config): + if config.refresh_token: + _refresh_token(config) + elif config.username and config.password: + _connect_oauth_password(config) + else: + _connect_oauth_code(config) + + +def _need_to_connect(config): + if config.client_id and config.client_secret: + return not config.access_token or config.is_token_expired() + + if config.username and config.password: + return not config.asid_token or config.is_token_expired() + + raise ValueError("No valid authentication method found") + + +def default_refresh_config(config, force_refresh: bool = False): + if not force_refresh and not _need_to_connect(config): + return + + if config.client_id and config.client_secret: + _connect_oauth(config) + elif config.username and config.password: + _connect_asid(config) diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/exceptions.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/exceptions.py new file mode 100644 index 000000000..889cd729b --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/exceptions.py @@ -0,0 +1,199 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + 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) + + 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.reason) + 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 + + +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/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/__init__.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/__init__.py new file mode 100644 index 000000000..d8872431c --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/__init__.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +# flake8: noqa +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +# import models into model package +from visier.sdk.api.analytic_model.models.aggregation_type_option_dto import AggregationTypeOptionDTO +from visier.sdk.api.analytic_model.models.aggregation_type_parameter_dto import AggregationTypeParameterDTO +from visier.sdk.api.analytic_model.models.analytic_object_dto import AnalyticObjectDTO +from visier.sdk.api.analytic_model.models.analytic_object_filter_dto import AnalyticObjectFilterDTO +from visier.sdk.api.analytic_model.models.analytic_objects_dto import AnalyticObjectsDTO +from visier.sdk.api.analytic_model.models.calculation_concept_configuration_dto import CalculationConceptConfigurationDTO +from visier.sdk.api.analytic_model.models.calculation_concept_configuration_map_dto import CalculationConceptConfigurationMapDTO +from visier.sdk.api.analytic_model.models.calculation_concept_dto import CalculationConceptDTO +from visier.sdk.api.analytic_model.models.calculation_concept_list_dto import CalculationConceptListDTO +from visier.sdk.api.analytic_model.models.concept_configuration_result_dto import ConceptConfigurationResultDTO +from visier.sdk.api.analytic_model.models.currencies_dto import CurrenciesDTO +from visier.sdk.api.analytic_model.models.currency_dto import CurrencyDTO +from visier.sdk.api.analytic_model.models.currency_rate_dto import CurrencyRateDTO +from visier.sdk.api.analytic_model.models.currency_rates_dto import CurrencyRatesDTO +from visier.sdk.api.analytic_model.models.dimension_dto import DimensionDTO +from visier.sdk.api.analytic_model.models.dimension_filter_dto import DimensionFilterDTO +from visier.sdk.api.analytic_model.models.dimension_mapping_validation_dto import DimensionMappingValidationDTO +from visier.sdk.api.analytic_model.models.dimension_mapping_validation_execution_dto import DimensionMappingValidationExecutionDTO +from visier.sdk.api.analytic_model.models.dimension_member_dto import DimensionMemberDTO +from visier.sdk.api.analytic_model.models.dimension_member_reference_dto import DimensionMemberReferenceDTO +from visier.sdk.api.analytic_model.models.dimension_reference_dto import DimensionReferenceDTO +from visier.sdk.api.analytic_model.models.dimensions_dto import DimensionsDTO +from visier.sdk.api.analytic_model.models.google_protobuf_any import GoogleProtobufAny +from visier.sdk.api.analytic_model.models.level_dto import LevelDTO +from visier.sdk.api.analytic_model.models.member_dto import MemberDTO +from visier.sdk.api.analytic_model.models.member_parameter_definition_dto import MemberParameterDefinitionDTO +from visier.sdk.api.analytic_model.models.member_values_dto import MemberValuesDTO +from visier.sdk.api.analytic_model.models.members_dto import MembersDTO +from visier.sdk.api.analytic_model.models.metric_dto import MetricDTO +from visier.sdk.api.analytic_model.models.metrics_dto import MetricsDTO +from visier.sdk.api.analytic_model.models.numeric_parameter_definition_dto import NumericParameterDefinitionDTO +from visier.sdk.api.analytic_model.models.object_reference_dto import ObjectReferenceDTO +from visier.sdk.api.analytic_model.models.parameter_definition_dto import ParameterDefinitionDTO +from visier.sdk.api.analytic_model.models.perspective_configuration_dto import PerspectiveConfigurationDTO +from visier.sdk.api.analytic_model.models.perspective_node_dto import PerspectiveNodeDTO +from visier.sdk.api.analytic_model.models.plan_parameter_definition_dto import PlanParameterDefinitionDTO +from visier.sdk.api.analytic_model.models.planning_concept_filter_context_dto import PlanningConceptFilterContextDTO +from visier.sdk.api.analytic_model.models.planning_hierarchy_filter_context_dto import PlanningHierarchyFilterContextDTO +from visier.sdk.api.analytic_model.models.planning_model_dto import PlanningModelDTO +from visier.sdk.api.analytic_model.models.planning_models_dto import PlanningModelsDTO +from visier.sdk.api.analytic_model.models.planning_plan_context_dto import PlanningPlanContextDTO +from visier.sdk.api.analytic_model.models.planning_plan_dto import PlanningPlanDTO +from visier.sdk.api.analytic_model.models.planning_plans_dto import PlanningPlansDTO +from visier.sdk.api.analytic_model.models.population_configuration_dto import PopulationConfigurationDTO +from visier.sdk.api.analytic_model.models.prediction_dto import PredictionDTO +from visier.sdk.api.analytic_model.models.predictions_dto import PredictionsDTO +from visier.sdk.api.analytic_model.models.properties_dto import PropertiesDTO +from visier.sdk.api.analytic_model.models.property_dto import PropertyDTO +from visier.sdk.api.analytic_model.models.property_reference_dto import PropertyReferenceDTO +from visier.sdk.api.analytic_model.models.scenario_or_snapshot_dto import ScenarioOrSnapshotDTO +from visier.sdk.api.analytic_model.models.selection_concept_configuration_map_dto import SelectionConceptConfigurationMapDTO +from visier.sdk.api.analytic_model.models.selection_concept_dto import SelectionConceptDTO +from visier.sdk.api.analytic_model.models.selection_concept_list_dto import SelectionConceptListDTO +from visier.sdk.api.analytic_model.models.selection_concepts_dto import SelectionConceptsDTO +from visier.sdk.api.analytic_model.models.status import Status +from visier.sdk.api.analytic_model.models.tag_map_element_dto import TagMapElementDTO +from visier.sdk.api.analytic_model.models.validity_range_dto import ValidityRangeDTO diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/aggregation_type_option_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/aggregation_type_option_dto.py new file mode 100644 index 000000000..1bfc3001d --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/aggregation_type_option_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 AggregationTypeOptionDTO(BaseModel): + """ + The definition of an aggregation option. + """ # noqa: E501 + aggregation_function: Optional[StrictStr] = Field(default=None, description="The aggregation function of the parameter option.", alias="aggregationFunction") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the parameter option.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the parameter option.") + is_default: Optional[StrictBool] = Field(default=None, description="`true` if the parameter option is the default one and `false` otherwise.", alias="isDefault") + property_name: Optional[StrictStr] = Field(default=None, description="The property name of the parameter option.", alias="propertyName") + __properties: ClassVar[List[str]] = ["aggregationFunction", "displayName", "id", "isDefault", "propertyName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AggregationTypeOptionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 AggregationTypeOptionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "aggregationFunction": obj.get("aggregationFunction"), + "displayName": obj.get("displayName"), + "id": obj.get("id"), + "isDefault": obj.get("isDefault"), + "propertyName": obj.get("propertyName") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/aggregation_type_parameter_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/aggregation_type_parameter_dto.py new file mode 100644 index 000000000..7d9541b92 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/aggregation_type_parameter_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.aggregation_type_option_dto import AggregationTypeOptionDTO +from typing import Optional, Set +from typing_extensions import Self + +class AggregationTypeParameterDTO(BaseModel): + """ + The definition of an aggregation parameter. These parameters resolve metrics that use aggregation parameters. For example, Visier Benchmarks metrics often use aggregation parameters to enable callers to aggregate metric values according to their average or different percentiles. + """ # noqa: E501 + description: Optional[StrictStr] = Field(default=None, description="The localized description of the parameter.") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the parameter.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the parameter.") + parameter_options: Optional[List[AggregationTypeOptionDTO]] = Field(default=None, description="The options defined for the parameter.", alias="parameterOptions") + __properties: ClassVar[List[str]] = ["description", "displayName", "id", "parameterOptions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AggregationTypeParameterDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 parameter_options (list) + _items = [] + if self.parameter_options: + for _item in self.parameter_options: + if _item: + _items.append(_item.to_dict()) + _dict['parameterOptions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AggregationTypeParameterDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "id": obj.get("id"), + "parameterOptions": [AggregationTypeOptionDTO.from_dict(_item) for _item in obj["parameterOptions"]] if obj.get("parameterOptions") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/analytic_object_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/analytic_object_dto.py new file mode 100644 index 000000000..8f0bd9939 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/analytic_object_dto.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.object_reference_dto import ObjectReferenceDTO +from visier.sdk.api.analytic_model.models.population_configuration_dto import PopulationConfigurationDTO +from typing import Optional, Set +from typing_extensions import Self + +class AnalyticObjectDTO(BaseModel): + """ + Analytic objects are the various items that users can analyze in Visier. Analytic objects include subjects, events, and overlays. + """ # noqa: E501 + data_end_date: Optional[StrictStr] = Field(default=None, description="The date from which data is no longer available for this analytic object. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers.", alias="dataEndDate") + data_start_date: Optional[StrictStr] = Field(default=None, description="The date from which data becomes available for this analytic object. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers.", alias="dataStartDate") + description: Optional[StrictStr] = Field(default=None, description="The localized description of the analytic object.") + dimension_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of strings representing IDs of the dimensions that belong to this analytic object.", alias="dimensionIds") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the analytic object.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the analytic object. Note: See `AnalyticObjects` to get the ID.") + object_references: Optional[List[ObjectReferenceDTO]] = Field(default=None, description="A list of references from this analytic object to other analytic objects. Note: If there are no references, this field is omitted.", alias="objectReferences") + population_configuration: Optional[PopulationConfigurationDTO] = Field(default=None, description="A set of property and dimension references configured by Visier or an administrator to tell the platform what properties and dimensions to use when doing population insight calculations. These are the distinguishing properties, change history properties, and grouping dimensions to use in AI insights. This field is optional and is only available for subjects.", alias="populationConfiguration") + property_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of strings representing IDs of the properties that belong to this analytic object.", alias="propertyIds") + selection_concept_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of strings representing IDs of the selection concepts that belong to this analytic object. Note: If there are no selection concepts, this field is omitted.", alias="selectionConceptIds") + type: Optional[StrictStr] = Field(default=None, description="The analytic object type: SUBJECT, EVENT, or OVERLAY.") + __properties: ClassVar[List[str]] = ["dataEndDate", "dataStartDate", "description", "dimensionIds", "displayName", "id", "objectReferences", "populationConfiguration", "propertyIds", "selectionConceptIds", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['SUBJECT', 'EVENT', 'OVERLAY']): + raise ValueError("must be one of enum values ('SUBJECT', 'EVENT', 'OVERLAY')") + 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 AnalyticObjectDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 object_references (list) + _items = [] + if self.object_references: + for _item in self.object_references: + if _item: + _items.append(_item.to_dict()) + _dict['objectReferences'] = _items + # override the default output from pydantic by calling `to_dict()` of population_configuration + if self.population_configuration: + _dict['populationConfiguration'] = self.population_configuration.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AnalyticObjectDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataEndDate": obj.get("dataEndDate"), + "dataStartDate": obj.get("dataStartDate"), + "description": obj.get("description"), + "dimensionIds": obj.get("dimensionIds"), + "displayName": obj.get("displayName"), + "id": obj.get("id"), + "objectReferences": [ObjectReferenceDTO.from_dict(_item) for _item in obj["objectReferences"]] if obj.get("objectReferences") is not None else None, + "populationConfiguration": PopulationConfigurationDTO.from_dict(obj["populationConfiguration"]) if obj.get("populationConfiguration") is not None else None, + "propertyIds": obj.get("propertyIds"), + "selectionConceptIds": obj.get("selectionConceptIds"), + "type": obj.get("type") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/analytic_object_filter_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/analytic_object_filter_dto.py new file mode 100644 index 000000000..580eded08 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/analytic_object_filter_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.dimension_filter_dto import DimensionFilterDTO +from typing import Optional, Set +from typing_extensions import Self + +class AnalyticObjectFilterDTO(BaseModel): + """ + AnalyticObjectFilterDTO + """ # noqa: E501 + analytic_object_uuid: Optional[StrictStr] = Field(default=None, description="The UUID of the analytic object used in the selection concept.", alias="analyticObjectUuid") + dimensions: Optional[List[DimensionFilterDTO]] = Field(default=None, description="A list of dimensions included in the concept.") + symbol_name: Optional[StrictStr] = Field(default=None, description="The symbol name of the analytic object.", alias="symbolName") + __properties: ClassVar[List[str]] = ["analyticObjectUuid", "dimensions", "symbolName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AnalyticObjectFilterDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dimensions (list) + _items = [] + if self.dimensions: + for _item in self.dimensions: + if _item: + _items.append(_item.to_dict()) + _dict['dimensions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AnalyticObjectFilterDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObjectUuid": obj.get("analyticObjectUuid"), + "dimensions": [DimensionFilterDTO.from_dict(_item) for _item in obj["dimensions"]] if obj.get("dimensions") is not None else None, + "symbolName": obj.get("symbolName") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/analytic_objects_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/analytic_objects_dto.py new file mode 100644 index 000000000..24dd00002 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/analytic_objects_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.analytic_object_dto import AnalyticObjectDTO +from typing import Optional, Set +from typing_extensions import Self + +class AnalyticObjectsDTO(BaseModel): + """ + A collection of analytic objects + """ # noqa: E501 + analytic_objects: Optional[List[AnalyticObjectDTO]] = Field(default=None, alias="analyticObjects") + __properties: ClassVar[List[str]] = ["analyticObjects"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AnalyticObjectsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 analytic_objects (list) + _items = [] + if self.analytic_objects: + for _item in self.analytic_objects: + if _item: + _items.append(_item.to_dict()) + _dict['analyticObjects'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AnalyticObjectsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObjects": [AnalyticObjectDTO.from_dict(_item) for _item in obj["analyticObjects"]] if obj.get("analyticObjects") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_configuration_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_configuration_dto.py new file mode 100644 index 000000000..ec110d483 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_configuration_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.perspective_configuration_dto import PerspectiveConfigurationDTO +from typing import Optional, Set +from typing_extensions import Self + +class CalculationConceptConfigurationDTO(BaseModel): + """ + CalculationConceptConfigurationDTO + """ # noqa: E501 + perspectives: Optional[List[PerspectiveConfigurationDTO]] = Field(default=None, description="A list of objects representing the perspectives in the calculation concept.") + __properties: ClassVar[List[str]] = ["perspectives"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CalculationConceptConfigurationDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 perspectives (list) + _items = [] + if self.perspectives: + for _item in self.perspectives: + if _item: + _items.append(_item.to_dict()) + _dict['perspectives'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CalculationConceptConfigurationDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "perspectives": [PerspectiveConfigurationDTO.from_dict(_item) for _item in obj["perspectives"]] if obj.get("perspectives") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_configuration_map_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_configuration_map_dto.py new file mode 100644 index 000000000..8d5e1b06e --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_configuration_map_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.perspective_configuration_dto import PerspectiveConfigurationDTO +from typing import Optional, Set +from typing_extensions import Self + +class CalculationConceptConfigurationMapDTO(BaseModel): + """ + The configuration to apply to the concept. + """ # noqa: E501 + perspectives_to_map: Optional[List[PerspectiveConfigurationDTO]] = Field(default=None, description="A list of objects representing the list of perspectives in the calculation concept.", alias="perspectivesToMap") + __properties: ClassVar[List[str]] = ["perspectivesToMap"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CalculationConceptConfigurationMapDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 perspectives_to_map (list) + _items = [] + if self.perspectives_to_map: + for _item in self.perspectives_to_map: + if _item: + _items.append(_item.to_dict()) + _dict['perspectivesToMap'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CalculationConceptConfigurationMapDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "perspectivesToMap": [PerspectiveConfigurationDTO.from_dict(_item) for _item in obj["perspectivesToMap"]] if obj.get("perspectivesToMap") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_dto.py new file mode 100644 index 000000000..fc8280393 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.calculation_concept_configuration_dto import CalculationConceptConfigurationDTO +from typing import Optional, Set +from typing_extensions import Self + +class CalculationConceptDTO(BaseModel): + """ + CalculationConceptDTO + """ # noqa: E501 + configuration: Optional[CalculationConceptConfigurationDTO] = Field(default=None, description="A list of objects representing the configuration for the calculation concept.") + name: Optional[StrictStr] = Field(default=None, description="The display name of the calculation concept.") + uuid: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the calculation concept.") + __properties: ClassVar[List[str]] = ["configuration", "name", "uuid"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CalculationConceptDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 + if self.configuration: + _dict['configuration'] = self.configuration.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CalculationConceptDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "configuration": CalculationConceptConfigurationDTO.from_dict(obj["configuration"]) if obj.get("configuration") is not None else None, + "name": obj.get("name"), + "uuid": obj.get("uuid") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_list_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_list_dto.py new file mode 100644 index 000000000..e4a8562eb --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/calculation_concept_list_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.calculation_concept_dto import CalculationConceptDTO +from typing import Optional, Set +from typing_extensions import Self + +class CalculationConceptListDTO(BaseModel): + """ + CalculationConceptListDTO + """ # noqa: E501 + concepts: Optional[List[CalculationConceptDTO]] = Field(default=None, description="A list of objects representing calculation concepts.") + __properties: ClassVar[List[str]] = ["concepts"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CalculationConceptListDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 concepts (list) + _items = [] + if self.concepts: + for _item in self.concepts: + if _item: + _items.append(_item.to_dict()) + _dict['concepts'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CalculationConceptListDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "concepts": [CalculationConceptDTO.from_dict(_item) for _item in obj["concepts"]] if obj.get("concepts") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/concept_configuration_result_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/concept_configuration_result_dto.py new file mode 100644 index 000000000..307abc8ed --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/concept_configuration_result_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ConceptConfigurationResultDTO(BaseModel): + """ + ConceptConfigurationResultDTO + """ # noqa: E501 + concept_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the configured concept.", alias="conceptId") + message: Optional[StrictStr] = Field(default=None, description="A meaningful message about the API result.") + project_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the system-generated project.", alias="projectId") + __properties: ClassVar[List[str]] = ["conceptId", "message", "projectId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConceptConfigurationResultDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ConceptConfigurationResultDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "conceptId": obj.get("conceptId"), + "message": obj.get("message"), + "projectId": obj.get("projectId") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currencies_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currencies_dto.py new file mode 100644 index 000000000..36142f575 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currencies_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.currency_dto import CurrencyDTO +from typing import Optional, Set +from typing_extensions import Self + +class CurrenciesDTO(BaseModel): + """ + A collection of currencies. + """ # noqa: E501 + currencies: Optional[List[CurrencyDTO]] = None + __properties: ClassVar[List[str]] = ["currencies"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CurrenciesDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 currencies (list) + _items = [] + if self.currencies: + for _item in self.currencies: + if _item: + _items.append(_item.to_dict()) + _dict['currencies'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CurrenciesDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "currencies": [CurrencyDTO.from_dict(_item) for _item in obj["currencies"]] if obj.get("currencies") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currency_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currency_dto.py new file mode 100644 index 000000000..afa4fef69 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currency_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 CurrencyDTO(BaseModel): + """ + Information about a currency type. + """ # noqa: E501 + currency_code: Optional[StrictStr] = Field(default=None, description="The ISO 4217 3-letter code for the currency.", alias="currencyCode") + display_name: Optional[StrictStr] = Field(default=None, description="The display name for the currency.", alias="displayName") + short_symbol: Optional[StrictStr] = Field(default=None, description="The shortened symbol name for the currency. Removes all alphabetic characters. If **symbol** only has alphabetic characters, **shortSymbol** is empty. If **symbol** contains only non-alphabetic characters, **shortSymbol** is the same as **symbol**. For example, if **symbol** is CA$, **shortSymbol** is $. If **symbol** is $, then **shortSymbol** is $.", alias="shortSymbol") + symbol: Optional[StrictStr] = Field(default=None, description="The symbol name for the currency.") + __properties: ClassVar[List[str]] = ["currencyCode", "displayName", "shortSymbol", "symbol"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CurrencyDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 CurrencyDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "currencyCode": obj.get("currencyCode"), + "displayName": obj.get("displayName"), + "shortSymbol": obj.get("shortSymbol"), + "symbol": obj.get("symbol") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currency_rate_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currency_rate_dto.py new file mode 100644 index 000000000..60c7f0977 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currency_rate_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class CurrencyRateDTO(BaseModel): + """ + Information about a currency exchange rate. + """ # noqa: E501 + end_time: Optional[StrictStr] = Field(default=None, description="The latest time instant to retrieve exchange rates from. **Note:** Format is the number of milliseconds since Jan 1, 1970 12:00 AM UTC.", alias="endTime") + from_currency_code: Optional[StrictStr] = Field(default=None, description="The currency to convert **from**. **Note:** If USD is the `fromCurrencyCode`, you are retrieving the exchange rates from USD to a different currency.", alias="fromCurrencyCode") + rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The numeric value of the exchange rate. **Note:** If **decimals** is specified, rate rounds to that value. If **decimals** is undefined, **rate** rounds to 2 significant figures after the decimal point.") + start_time: Optional[StrictStr] = Field(default=None, description="The earliest time instant to retrieve exchange rates from. **Note:** Format is the number of milliseconds since Jan 1, 1970 12:00 AM UTC.", alias="startTime") + to_currency_code: Optional[StrictStr] = Field(default=None, description="The currency to convert **to**. **Note:** If USD is the `toCurrencyCode`, you are retrieving the exchange rates from a different currency to USD.", alias="toCurrencyCode") + __properties: ClassVar[List[str]] = ["endTime", "fromCurrencyCode", "rate", "startTime", "toCurrencyCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CurrencyRateDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 CurrencyRateDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "endTime": obj.get("endTime"), + "fromCurrencyCode": obj.get("fromCurrencyCode"), + "rate": obj.get("rate"), + "startTime": obj.get("startTime"), + "toCurrencyCode": obj.get("toCurrencyCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currency_rates_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currency_rates_dto.py new file mode 100644 index 000000000..26478d1b9 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/currency_rates_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.currency_rate_dto import CurrencyRateDTO +from typing import Optional, Set +from typing_extensions import Self + +class CurrencyRatesDTO(BaseModel): + """ + A collection of currency exchange rates. Note: Currencies may have different exchange rates in different time intervals, depending what rate data is stored in Visier. For example, USD:CAD can be 1.2 between January 1 - March 1, while USD:EUR can be 0.92 between January 1 - February 1, but 0.88 between February 1 - March 1. + """ # noqa: E501 + currency_rates: Optional[List[CurrencyRateDTO]] = Field(default=None, alias="currencyRates") + __properties: ClassVar[List[str]] = ["currencyRates"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CurrencyRatesDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 currency_rates (list) + _items = [] + if self.currency_rates: + for _item in self.currency_rates: + if _item: + _items.append(_item.to_dict()) + _dict['currencyRates'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CurrencyRatesDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "currencyRates": [CurrencyRateDTO.from_dict(_item) for _item in obj["currencyRates"]] if obj.get("currencyRates") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_dto.py new file mode 100644 index 000000000..b4c142d73 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_dto.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.level_dto import LevelDTO +from visier.sdk.api.analytic_model.models.tag_map_element_dto import TagMapElementDTO +from typing import Optional, Set +from typing_extensions import Self + +class DimensionDTO(BaseModel): + """ + A dimension organizes unique values of an attribute into a list or a hierarchical structure for use as a filter or group-by in your solution. + """ # noqa: E501 + description: Optional[StrictStr] = Field(default=None, description="The localized description of the dimension.") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the dimension.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the dimension. Note: See `Dimensions` to get the ID`.") + levels: Optional[List[LevelDTO]] = Field(default=None, description="The levels defined for the dimension. Note: For parent-child dimensions, a level name is generated by Visier.") + member_count: Optional[StrictInt] = Field(default=None, description="The total number of members for the dimension, excluding the (All) member.", alias="memberCount") + tags: Optional[List[TagMapElementDTO]] = Field(default=None, description="The optional collection of tags defined for this element.") + unknown_member: Optional[List[StrictStr]] = Field(default=None, description="The optional path to the unknown member, if defined.", alias="unknownMember") + visible_in_app: Optional[StrictBool] = Field(default=None, description="`true` if this dimension is set to be visible in your solution.", alias="visibleInApp") + __properties: ClassVar[List[str]] = ["description", "displayName", "id", "levels", "memberCount", "tags", "unknownMember", "visibleInApp"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DimensionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 levels (list) + _items = [] + if self.levels: + for _item in self.levels: + if _item: + _items.append(_item.to_dict()) + _dict['levels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in tags (list) + _items = [] + if self.tags: + for _item in self.tags: + if _item: + _items.append(_item.to_dict()) + _dict['tags'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DimensionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "id": obj.get("id"), + "levels": [LevelDTO.from_dict(_item) for _item in obj["levels"]] if obj.get("levels") is not None else None, + "memberCount": obj.get("memberCount"), + "tags": [TagMapElementDTO.from_dict(_item) for _item in obj["tags"]] if obj.get("tags") is not None else None, + "unknownMember": obj.get("unknownMember"), + "visibleInApp": obj.get("visibleInApp") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_filter_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_filter_dto.py new file mode 100644 index 000000000..b88fd4ee8 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_filter_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.dimension_member_dto import DimensionMemberDTO +from typing import Optional, Set +from typing_extensions import Self + +class DimensionFilterDTO(BaseModel): + """ + DimensionFilterDTO + """ # noqa: E501 + dimension_id: Optional[StrictStr] = Field(default=None, description="The UUID of the dimension.", alias="dimensionId") + dimension_members: Optional[List[DimensionMemberDTO]] = Field(default=None, description="A list of dimension members to map to the perspective node. Note: If this array is empty, all dimension members will be removed for the node.", alias="dimensionMembers") + symbol_name: Optional[StrictStr] = Field(default=None, description="The symbol name of the dimension.", alias="symbolName") + __properties: ClassVar[List[str]] = ["dimensionId", "dimensionMembers", "symbolName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DimensionFilterDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dimension_members (list) + _items = [] + if self.dimension_members: + for _item in self.dimension_members: + if _item: + _items.append(_item.to_dict()) + _dict['dimensionMembers'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DimensionFilterDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimensionId": obj.get("dimensionId"), + "dimensionMembers": [DimensionMemberDTO.from_dict(_item) for _item in obj["dimensionMembers"]] if obj.get("dimensionMembers") is not None else None, + "symbolName": obj.get("symbolName") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_mapping_validation_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_mapping_validation_dto.py new file mode 100644 index 000000000..68b3ea07e --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_mapping_validation_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.dimension_member_reference_dto import DimensionMemberReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class DimensionMappingValidationDTO(BaseModel): + """ + DimensionMappingValidationDTO + """ # noqa: E501 + dimension_id: Optional[StrictStr] = Field(default=None, alias="dimensionId") + dimension_map_id: Optional[StrictStr] = Field(default=None, alias="dimensionMapId") + failures: Optional[List[StrictStr]] = None + unmapped_members: Optional[List[DimensionMemberReferenceDTO]] = Field(default=None, alias="unmappedMembers") + __properties: ClassVar[List[str]] = ["dimensionId", "dimensionMapId", "failures", "unmappedMembers"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DimensionMappingValidationDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 unmapped_members (list) + _items = [] + if self.unmapped_members: + for _item in self.unmapped_members: + if _item: + _items.append(_item.to_dict()) + _dict['unmappedMembers'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DimensionMappingValidationDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimensionId": obj.get("dimensionId"), + "dimensionMapId": obj.get("dimensionMapId"), + "failures": obj.get("failures"), + "unmappedMembers": [DimensionMemberReferenceDTO.from_dict(_item) for _item in obj["unmappedMembers"]] if obj.get("unmappedMembers") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_mapping_validation_execution_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_mapping_validation_execution_dto.py new file mode 100644 index 000000000..4a1c875ee --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_mapping_validation_execution_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DimensionMappingValidationExecutionDTO(BaseModel): + """ + Instruction to execute a mapping validation query + """ # noqa: E501 + analytic_object: Optional[StrictStr] = Field(default=None, description="the analytic object associated with the dimension map", alias="analyticObject") + member_map_id: Optional[StrictStr] = Field(default=None, description="memberMapId == dimensionMapId", alias="memberMapId") + __properties: ClassVar[List[str]] = ["analyticObject", "memberMapId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DimensionMappingValidationExecutionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DimensionMappingValidationExecutionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObject": obj.get("analyticObject"), + "memberMapId": obj.get("memberMapId") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_member_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_member_dto.py new file mode 100644 index 000000000..b776d37c7 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_member_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DimensionMemberDTO(BaseModel): + """ + DimensionMemberDTO + """ # noqa: E501 + dimension_member: Optional[List[StrictStr]] = Field(default=None, description="A list of strings representing the dimension members. Dimension members in a hierarchical dimension will have an array with multiple strings.", alias="dimensionMember") + __properties: ClassVar[List[str]] = ["dimensionMember"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DimensionMemberDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DimensionMemberDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimensionMember": obj.get("dimensionMember") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_member_reference_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_member_reference_dto.py new file mode 100644 index 000000000..2b8c219d3 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_member_reference_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DimensionMemberReferenceDTO(BaseModel): + """ + The members of a dimension. + """ # noqa: E501 + path: Optional[List[StrictStr]] = Field(default=None, description="A list of strings representing the members within a dimension path. For example, a dimension for Location may have the paths \"Canada, BC, Vancouver\" and \"US, California, San Francisco\".") + __properties: ClassVar[List[str]] = ["path"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DimensionMemberReferenceDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DimensionMemberReferenceDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "path": obj.get("path") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_reference_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_reference_dto.py new file mode 100644 index 000000000..2aff4a025 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimension_reference_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DimensionReferenceDTO(BaseModel): + """ + The name and qualifying path of a dimension to query. + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="The ID of the dimension. See `Dimensions` to get the ID.") + qualifying_path: Optional[StrictStr] = Field(default=None, description="The qualifying path to the dimension in Visier, such as the analytic object or event the dimension is associated with. If the path has multiple objects, each object is separated by a period.", alias="qualifyingPath") + __properties: ClassVar[List[str]] = ["name", "qualifyingPath"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DimensionReferenceDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DimensionReferenceDTO 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"), + "qualifyingPath": obj.get("qualifyingPath") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimensions_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimensions_dto.py new file mode 100644 index 000000000..184de51de --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/dimensions_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.dimension_dto import DimensionDTO +from typing import Optional, Set +from typing_extensions import Self + +class DimensionsDTO(BaseModel): + """ + A collection of dimensions. + """ # noqa: E501 + dimensions: Optional[List[DimensionDTO]] = None + __properties: ClassVar[List[str]] = ["dimensions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DimensionsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dimensions (list) + _items = [] + if self.dimensions: + for _item in self.dimensions: + if _item: + _items.append(_item.to_dict()) + _dict['dimensions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DimensionsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimensions": [DimensionDTO.from_dict(_item) for _item in obj["dimensions"]] if obj.get("dimensions") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/google_protobuf_any.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/google_protobuf_any.py new file mode 100644 index 000000000..ec5fd6b6e --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/google_protobuf_any.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 GoogleProtobufAny(BaseModel): + """ + Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, description="The type of the serialized message.", alias="@type") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["@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 GoogleProtobufAny from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GoogleProtobufAny 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") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/level_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/level_dto.py new file mode 100644 index 000000000..8a8128271 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/level_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 LevelDTO(BaseModel): + """ + Levels are the hierarchical structure of members within a dimension. + """ # noqa: E501 + depth: Optional[StrictInt] = Field(default=None, description="The level depth of the dimension.") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the dimension.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of a level within a dimension.") + __properties: ClassVar[List[str]] = ["depth", "displayName", "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 LevelDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 LevelDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "depth": obj.get("depth"), + "displayName": obj.get("displayName"), + "id": obj.get("id") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/member_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/member_dto.py new file mode 100644 index 000000000..19cba8d0a --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/member_dto.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.validity_range_dto import ValidityRangeDTO +from typing import Optional, Set +from typing_extensions import Self + +class MemberDTO(BaseModel): + """ + A member is an element of a dimension. Dimension members are organized hierarchically. For example, Argentina is a member of the Location dimension at the Country level of the hierarchy Region > Country > Province > City. + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the member.", alias="displayName") + display_name_path: Optional[List[StrictStr]] = Field(default=None, description="The display names for each level in the member's ancestral path.", alias="displayNamePath") + full_name: Optional[StrictStr] = Field(default=None, description="The fully qualified name of the member. This is the dimension's object name and the member's display name, separated by a period.", alias="fullName") + level: Optional[StrictInt] = Field(default=None, description="The numeric level of the hierarchy the member belongs to.") + path: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of identifiers that reference members on the query axis as part of dimensionMemberSelection.") + validity_ranges: Optional[List[ValidityRangeDTO]] = Field(default=None, description="The validity ranges that exist for this member.", alias="validityRanges") + __properties: ClassVar[List[str]] = ["displayName", "displayNamePath", "fullName", "level", "path", "validityRanges"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MemberDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 validity_ranges (list) + _items = [] + if self.validity_ranges: + for _item in self.validity_ranges: + if _item: + _items.append(_item.to_dict()) + _dict['validityRanges'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MemberDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "displayNamePath": obj.get("displayNamePath"), + "fullName": obj.get("fullName"), + "level": obj.get("level"), + "path": obj.get("path"), + "validityRanges": [ValidityRangeDTO.from_dict(_item) for _item in obj["validityRanges"]] if obj.get("validityRanges") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/member_parameter_definition_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/member_parameter_definition_dto.py new file mode 100644 index 000000000..a6889fc0b --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/member_parameter_definition_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.member_values_dto import MemberValuesDTO +from typing import Optional, Set +from typing_extensions import Self + +class MemberParameterDefinitionDTO(BaseModel): + """ + The definition of a filter parameter. These elements are returned as part of the definition for metrics that include parameters in their definition. + """ # noqa: E501 + default: Optional[MemberValuesDTO] = Field(default=None, description="The default value if the end user does not select a member at run time.") + description: Optional[StrictStr] = Field(default=None, description="The localized description of the member parameter.") + dimension_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the dimension on which the member parameter is based.", alias="dimensionId") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the member parameter.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the member parameter.") + reference_path: Optional[List[StrictStr]] = Field(default=None, description="The analytic object reference path from the metric to the dimension.", alias="referencePath") + __properties: ClassVar[List[str]] = ["default", "description", "dimensionId", "displayName", "id", "referencePath"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MemberParameterDefinitionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 default + if self.default: + _dict['default'] = self.default.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MemberParameterDefinitionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "default": MemberValuesDTO.from_dict(obj["default"]) if obj.get("default") is not None else None, + "description": obj.get("description"), + "dimensionId": obj.get("dimensionId"), + "displayName": obj.get("displayName"), + "id": obj.get("id"), + "referencePath": obj.get("referencePath") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/member_values_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/member_values_dto.py new file mode 100644 index 000000000..6f4928c8d --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/member_values_dto.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.dimension_member_reference_dto import DimensionMemberReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class MemberValuesDTO(BaseModel): + """ + Member filter values are discrete member references in a dimension filter. You can define included and excluded members simultaneously. This is typically done with filtering applied on dimensions with multiple levels. For example, a Location parameter may include “South America” and exclude “Brazil” which results in the metric being evaluated for all South American countries except Brazil. + """ # noqa: E501 + excluded: Optional[List[DimensionMemberReferenceDTO]] = Field(default=None, description="The unique IDs of members to exclude when evaluating the metric.") + included: Optional[List[DimensionMemberReferenceDTO]] = Field(default=None, description="The unique IDs of members to include when evaluating the metric.") + __properties: ClassVar[List[str]] = ["excluded", "included"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MemberValuesDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 excluded (list) + _items = [] + if self.excluded: + for _item in self.excluded: + if _item: + _items.append(_item.to_dict()) + _dict['excluded'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in included (list) + _items = [] + if self.included: + for _item in self.included: + if _item: + _items.append(_item.to_dict()) + _dict['included'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MemberValuesDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "excluded": [DimensionMemberReferenceDTO.from_dict(_item) for _item in obj["excluded"]] if obj.get("excluded") is not None else None, + "included": [DimensionMemberReferenceDTO.from_dict(_item) for _item in obj["included"]] if obj.get("included") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/members_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/members_dto.py new file mode 100644 index 000000000..2c00f9a3b --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/members_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.member_dto import MemberDTO +from typing import Optional, Set +from typing_extensions import Self + +class MembersDTO(BaseModel): + """ + A collection of members. + """ # noqa: E501 + members: Optional[List[MemberDTO]] = None + __properties: ClassVar[List[str]] = ["members"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MembersDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 members (list) + _items = [] + if self.members: + for _item in self.members: + if _item: + _items.append(_item.to_dict()) + _dict['members'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MembersDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "members": [MemberDTO.from_dict(_item) for _item in obj["members"]] if obj.get("members") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/metric_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/metric_dto.py new file mode 100644 index 000000000..891ba7aaa --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/metric_dto.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.parameter_definition_dto import ParameterDefinitionDTO +from typing import Optional, Set +from typing_extensions import Self + +class MetricDTO(BaseModel): + """ + A metric is a calculation based on one or more attribute values of analytic objects. + """ # noqa: E501 + analytic_object_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the analytic object.", alias="analyticObjectId") + category: Optional[StrictStr] = Field(default=None, description="The category of the metric. Will be one of: `REGULAR`, `DERIVED` or `PLANNING`.") + data_end_date: Optional[StrictStr] = Field(default=None, description="The date from which data is no longer available for this metric. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers.", alias="dataEndDate") + data_start_date: Optional[StrictStr] = Field(default=None, description="The date from which data becomes available for this metric. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers.", alias="dataStartDate") + description: Optional[StrictStr] = Field(default=None, description="The localized description of the metric.") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the metric.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the metric. Note: See `Metrics` to get the ID.") + parameters: Optional[List[ParameterDefinitionDTO]] = Field(default=None, description="The collection of parameters defined for the metric.") + visible_in_app: Optional[StrictBool] = Field(default=None, description="// `true` if this metric is set to be visible in your solution.", alias="visibleInApp") + __properties: ClassVar[List[str]] = ["analyticObjectId", "category", "dataEndDate", "dataStartDate", "description", "displayName", "id", "parameters", "visibleInApp"] + + @field_validator('category') + def category_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['REGULAR', 'DERIVED', 'PLANNING']): + raise ValueError("must be one of enum values ('REGULAR', 'DERIVED', 'PLANNING')") + 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 MetricDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 parameters (list) + _items = [] + if self.parameters: + for _item in self.parameters: + if _item: + _items.append(_item.to_dict()) + _dict['parameters'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MetricDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObjectId": obj.get("analyticObjectId"), + "category": obj.get("category"), + "dataEndDate": obj.get("dataEndDate"), + "dataStartDate": obj.get("dataStartDate"), + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "id": obj.get("id"), + "parameters": [ParameterDefinitionDTO.from_dict(_item) for _item in obj["parameters"]] if obj.get("parameters") is not None else None, + "visibleInApp": obj.get("visibleInApp") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/metrics_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/metrics_dto.py new file mode 100644 index 000000000..097dec037 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/metrics_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.metric_dto import MetricDTO +from typing import Optional, Set +from typing_extensions import Self + +class MetricsDTO(BaseModel): + """ + A collection of metrics. + """ # noqa: E501 + metrics: Optional[List[MetricDTO]] = None + __properties: ClassVar[List[str]] = ["metrics"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MetricsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 metrics (list) + _items = [] + if self.metrics: + for _item in self.metrics: + if _item: + _items.append(_item.to_dict()) + _dict['metrics'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MetricsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "metrics": [MetricDTO.from_dict(_item) for _item in obj["metrics"]] if obj.get("metrics") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/numeric_parameter_definition_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/numeric_parameter_definition_dto.py new file mode 100644 index 000000000..bf36a4c7f --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/numeric_parameter_definition_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class NumericParameterDefinitionDTO(BaseModel): + """ + The definition of a numeric parameter. These elements are returned as part of the query definition for metric parameter values. + """ # noqa: E501 + default: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The default value if the end user does not select a member at run time.") + description: Optional[StrictStr] = Field(default=None, description="The localized description of the numeric parameter.") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the numeric parameter.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the numeric parameter.") + lower_bound: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The lowest value for the numeric parameter.", alias="lowerBound") + upper_bound: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The highest value for the numeric parameter.", alias="upperBound") + __properties: ClassVar[List[str]] = ["default", "description", "displayName", "id", "lowerBound", "upperBound"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NumericParameterDefinitionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 NumericParameterDefinitionDTO 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"), + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "id": obj.get("id"), + "lowerBound": obj.get("lowerBound"), + "upperBound": obj.get("upperBound") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/object_reference_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/object_reference_dto.py new file mode 100644 index 000000000..534bae62d --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/object_reference_dto.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ObjectReferenceDTO(BaseModel): + """ + A link between one analytic object and another. An ObjectReference allows you to discover the relationships between analytic objects. In some queries, you may need to provide a qualifyingPath, which is built from ObjectReference information. + """ # noqa: E501 + description: Optional[StrictStr] = Field(default=None, description="The localized description of the object reference.") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the object reference.", alias="displayName") + from_object: Optional[StrictStr] = Field(default=None, description="The ID of the referencing analytic object.", alias="fromObject") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the object reference.") + is_strong_reference: Optional[StrictBool] = Field(default=None, description="True if this is a strong reference.", alias="isStrongReference") + to_object: Optional[StrictStr] = Field(default=None, description="The ID of the referenced analytic object.", alias="toObject") + type: Optional[StrictStr] = Field(default=None, description="The type of object reference.") + __properties: ClassVar[List[str]] = ["description", "displayName", "fromObject", "id", "isStrongReference", "toObject", "type"] + + @field_validator('type') + def type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['SUBJECT_REFERENCE', 'MULTI_VALUE_REFERENCE']): + raise ValueError("must be one of enum values ('SUBJECT_REFERENCE', 'MULTI_VALUE_REFERENCE')") + 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 ObjectReferenceDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ObjectReferenceDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "fromObject": obj.get("fromObject"), + "id": obj.get("id"), + "isStrongReference": obj.get("isStrongReference"), + "toObject": obj.get("toObject"), + "type": obj.get("type") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/parameter_definition_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/parameter_definition_dto.py new file mode 100644 index 000000000..d1df4649d --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/parameter_definition_dto.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.aggregation_type_parameter_dto import AggregationTypeParameterDTO +from visier.sdk.api.analytic_model.models.member_parameter_definition_dto import MemberParameterDefinitionDTO +from visier.sdk.api.analytic_model.models.numeric_parameter_definition_dto import NumericParameterDefinitionDTO +from visier.sdk.api.analytic_model.models.plan_parameter_definition_dto import PlanParameterDefinitionDTO +from typing import Optional, Set +from typing_extensions import Self + +class ParameterDefinitionDTO(BaseModel): + """ + Parameters generalize object definitions so that end users can provide values at query run time. + """ # noqa: E501 + aggregation_type_parameter: Optional[AggregationTypeParameterDTO] = Field(default=None, description="An aggregation parameter. Such parameters enable control over how applicable metrics aggregate their results.", alias="aggregationTypeParameter") + member_parameter: Optional[MemberParameterDefinitionDTO] = Field(default=None, description="A filter parameter that can be set with dimension members for the end user to select.", alias="memberParameter") + numeric_parameter: Optional[NumericParameterDefinitionDTO] = Field(default=None, description="A parameter with a numeric data type. A numeric parameter can be set with an optional default value and value range.", alias="numericParameter") + plan_parameter: Optional[PlanParameterDefinitionDTO] = Field(default=None, description="A parameter on a planning metric. Plan parameters resolve planning model metrics to a specific plan and scenario or snapshot.", alias="planParameter") + __properties: ClassVar[List[str]] = ["aggregationTypeParameter", "memberParameter", "numericParameter", "planParameter"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ParameterDefinitionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 aggregation_type_parameter + if self.aggregation_type_parameter: + _dict['aggregationTypeParameter'] = self.aggregation_type_parameter.to_dict() + # override the default output from pydantic by calling `to_dict()` of member_parameter + if self.member_parameter: + _dict['memberParameter'] = self.member_parameter.to_dict() + # override the default output from pydantic by calling `to_dict()` of numeric_parameter + if self.numeric_parameter: + _dict['numericParameter'] = self.numeric_parameter.to_dict() + # override the default output from pydantic by calling `to_dict()` of plan_parameter + if self.plan_parameter: + _dict['planParameter'] = self.plan_parameter.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ParameterDefinitionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "aggregationTypeParameter": AggregationTypeParameterDTO.from_dict(obj["aggregationTypeParameter"]) if obj.get("aggregationTypeParameter") is not None else None, + "memberParameter": MemberParameterDefinitionDTO.from_dict(obj["memberParameter"]) if obj.get("memberParameter") is not None else None, + "numericParameter": NumericParameterDefinitionDTO.from_dict(obj["numericParameter"]) if obj.get("numericParameter") is not None else None, + "planParameter": PlanParameterDefinitionDTO.from_dict(obj["planParameter"]) if obj.get("planParameter") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/perspective_configuration_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/perspective_configuration_dto.py new file mode 100644 index 000000000..ad7b5b236 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/perspective_configuration_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.perspective_node_dto import PerspectiveNodeDTO +from typing import Optional, Set +from typing_extensions import Self + +class PerspectiveConfigurationDTO(BaseModel): + """ + PerspectiveConfigurationDTO + """ # noqa: E501 + perspective_id: Optional[StrictStr] = Field(default=None, description="The UUID of the perspective.", alias="perspectiveId") + perspective_name: Optional[StrictStr] = Field(default=None, description="The display name of the perspective.", alias="perspectiveName") + perspective_nodes: Optional[List[PerspectiveNodeDTO]] = Field(default=None, description="A list of nodes in the perspective.", alias="perspectiveNodes") + __properties: ClassVar[List[str]] = ["perspectiveId", "perspectiveName", "perspectiveNodes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PerspectiveConfigurationDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 perspective_nodes (list) + _items = [] + if self.perspective_nodes: + for _item in self.perspective_nodes: + if _item: + _items.append(_item.to_dict()) + _dict['perspectiveNodes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PerspectiveConfigurationDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "perspectiveId": obj.get("perspectiveId"), + "perspectiveName": obj.get("perspectiveName"), + "perspectiveNodes": [PerspectiveNodeDTO.from_dict(_item) for _item in obj["perspectiveNodes"]] if obj.get("perspectiveNodes") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/perspective_node_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/perspective_node_dto.py new file mode 100644 index 000000000..1b72dd7fa --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/perspective_node_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.analytic_object_filter_dto import AnalyticObjectFilterDTO +from typing import Optional, Set +from typing_extensions import Self + +class PerspectiveNodeDTO(BaseModel): + """ + PerspectiveNodeDTO + """ # noqa: E501 + analytic_object_filters: Optional[List[AnalyticObjectFilterDTO]] = Field(default=None, description="A list of analytic object filters indicating the analytic object and dimensions used for the selection concept.", alias="analyticObjectFilters") + selection_concept_uuid: Optional[StrictStr] = Field(default=None, description="The UUID of the node's selection concept. Perspective nodes are generated as selection concepts to enable filtering.", alias="selectionConceptUuid") + symbol_name: Optional[StrictStr] = Field(default=None, description="The symbol name of the selection concept. For example, \"isExitActualSystemTermination\".", alias="symbolName") + __properties: ClassVar[List[str]] = ["analyticObjectFilters", "selectionConceptUuid", "symbolName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PerspectiveNodeDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 analytic_object_filters (list) + _items = [] + if self.analytic_object_filters: + for _item in self.analytic_object_filters: + if _item: + _items.append(_item.to_dict()) + _dict['analyticObjectFilters'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PerspectiveNodeDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObjectFilters": [AnalyticObjectFilterDTO.from_dict(_item) for _item in obj["analyticObjectFilters"]] if obj.get("analyticObjectFilters") is not None else None, + "selectionConceptUuid": obj.get("selectionConceptUuid"), + "symbolName": obj.get("symbolName") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/plan_parameter_definition_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/plan_parameter_definition_dto.py new file mode 100644 index 000000000..3545d9672 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/plan_parameter_definition_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PlanParameterDefinitionDTO(BaseModel): + """ + The definition of a plan parameter. These parameters resolve planning model metrics to a specific plan and scenario or snapshot values at query runtime. + """ # noqa: E501 + description: Optional[StrictStr] = Field(default=None, description="The localized description of the parameter.") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the parameter.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the parameter.") + model_name: Optional[StrictStr] = Field(default=None, description="The name of the planning model to which the parameter applies.", alias="modelName") + __properties: ClassVar[List[str]] = ["description", "displayName", "id", "modelName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PlanParameterDefinitionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PlanParameterDefinitionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "id": obj.get("id"), + "modelName": obj.get("modelName") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_concept_filter_context_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_concept_filter_context_dto.py new file mode 100644 index 000000000..a5d1493e7 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_concept_filter_context_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PlanningConceptFilterContextDTO(BaseModel): + """ + A plan context defined using a selection concept. + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="The object name of the selection concept.") + __properties: ClassVar[List[str]] = ["name"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PlanningConceptFilterContextDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PlanningConceptFilterContextDTO 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") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_hierarchy_filter_context_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_hierarchy_filter_context_dto.py new file mode 100644 index 000000000..d3830f96c --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_hierarchy_filter_context_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PlanningHierarchyFilterContextDTO(BaseModel): + """ + A plan context defined using hierarchy members + """ # noqa: E501 + excluded_members: Optional[List[StrictStr]] = Field(default=None, description="The unique IDs of excluded dimension members.", alias="excludedMembers") + hierarchy_name: Optional[StrictStr] = Field(default=None, description="The object name of the hierarchy.", alias="hierarchyName") + included_members: Optional[List[StrictStr]] = Field(default=None, description="The unique IDs of the included dimension members.", alias="includedMembers") + __properties: ClassVar[List[str]] = ["excludedMembers", "hierarchyName", "includedMembers"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PlanningHierarchyFilterContextDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PlanningHierarchyFilterContextDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "excludedMembers": obj.get("excludedMembers"), + "hierarchyName": obj.get("hierarchyName"), + "includedMembers": obj.get("includedMembers") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_model_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_model_dto.py new file mode 100644 index 000000000..8fb5cc838 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_model_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PlanningModelDTO(BaseModel): + """ + The basic information about the planning model. A planning model captures the planning intent, plan items, and the relationship between them. + """ # noqa: E501 + description: Optional[StrictStr] = Field(default=None, description="The localized description of the planning model.") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the planning model.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the planning model. Note: See `PlanningModels` to get the ID.") + __properties: ClassVar[List[str]] = ["description", "displayName", "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 PlanningModelDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PlanningModelDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "id": obj.get("id") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_models_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_models_dto.py new file mode 100644 index 000000000..6c7b4631a --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_models_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.planning_model_dto import PlanningModelDTO +from typing import Optional, Set +from typing_extensions import Self + +class PlanningModelsDTO(BaseModel): + """ + A collection of planning modules. + """ # noqa: E501 + models: Optional[List[PlanningModelDTO]] = None + __properties: ClassVar[List[str]] = ["models"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PlanningModelsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 models (list) + _items = [] + if self.models: + for _item in self.models: + if _item: + _items.append(_item.to_dict()) + _dict['models'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PlanningModelsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "models": [PlanningModelDTO.from_dict(_item) for _item in obj["models"]] if obj.get("models") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_plan_context_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_plan_context_dto.py new file mode 100644 index 000000000..b6ac73ae6 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_plan_context_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.planning_concept_filter_context_dto import PlanningConceptFilterContextDTO +from visier.sdk.api.analytic_model.models.planning_hierarchy_filter_context_dto import PlanningHierarchyFilterContextDTO +from typing import Optional, Set +from typing_extensions import Self + +class PlanningPlanContextDTO(BaseModel): + """ + The filter context for a plan. Plan contexts are defined using a set of hierarchy members or a concept. + """ # noqa: E501 + concept_filter_context: Optional[PlanningConceptFilterContextDTO] = Field(default=None, description="A plan context defined using a selection concept.", alias="conceptFilterContext") + hierarchy_filter_context: Optional[PlanningHierarchyFilterContextDTO] = Field(default=None, description="A plan context defined using hierarchy members.", alias="hierarchyFilterContext") + __properties: ClassVar[List[str]] = ["conceptFilterContext", "hierarchyFilterContext"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PlanningPlanContextDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 concept_filter_context + if self.concept_filter_context: + _dict['conceptFilterContext'] = self.concept_filter_context.to_dict() + # override the default output from pydantic by calling `to_dict()` of hierarchy_filter_context + if self.hierarchy_filter_context: + _dict['hierarchyFilterContext'] = self.hierarchy_filter_context.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PlanningPlanContextDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "conceptFilterContext": PlanningConceptFilterContextDTO.from_dict(obj["conceptFilterContext"]) if obj.get("conceptFilterContext") is not None else None, + "hierarchyFilterContext": PlanningHierarchyFilterContextDTO.from_dict(obj["hierarchyFilterContext"]) if obj.get("hierarchyFilterContext") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_plan_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_plan_dto.py new file mode 100644 index 000000000..b32cc436b --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_plan_dto.py @@ -0,0 +1,122 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.planning_plan_context_dto import PlanningPlanContextDTO +from visier.sdk.api.analytic_model.models.scenario_or_snapshot_dto import ScenarioOrSnapshotDTO +from typing import Optional, Set +from typing_extensions import Self + +class PlanningPlanDTO(BaseModel): + """ + The definition of a plan. Plans are defined on planning models, and each plan may define multiple scenarios or snapshots. + """ # noqa: E501 + default_contexts: Optional[List[PlanningPlanContextDTO]] = Field(default=None, description="The contexts defined for the plan.", alias="defaultContexts") + id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the plan. Note: See `PlanningPlans` to get the ID.") + name: Optional[StrictStr] = Field(default=None, description="The name of the plan.") + plan_dimension_ids: Optional[List[StrictStr]] = Field(default=None, description="The IDs of the dimensions defined for the plan.", alias="planDimensionIds") + scenarios: Optional[List[ScenarioOrSnapshotDTO]] = Field(default=None, description="The available scenarios for the plan.") + snapshots: Optional[List[ScenarioOrSnapshotDTO]] = Field(default=None, description="The available snapshots for the plan.") + subject_id: Optional[StrictStr] = Field(default=None, description="The ID of subject for the plan.", alias="subjectId") + __properties: ClassVar[List[str]] = ["defaultContexts", "id", "name", "planDimensionIds", "scenarios", "snapshots", "subjectId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PlanningPlanDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 default_contexts (list) + _items = [] + if self.default_contexts: + for _item in self.default_contexts: + if _item: + _items.append(_item.to_dict()) + _dict['defaultContexts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in scenarios (list) + _items = [] + if self.scenarios: + for _item in self.scenarios: + if _item: + _items.append(_item.to_dict()) + _dict['scenarios'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in snapshots (list) + _items = [] + if self.snapshots: + for _item in self.snapshots: + if _item: + _items.append(_item.to_dict()) + _dict['snapshots'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PlanningPlanDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "defaultContexts": [PlanningPlanContextDTO.from_dict(_item) for _item in obj["defaultContexts"]] if obj.get("defaultContexts") is not None else None, + "id": obj.get("id"), + "name": obj.get("name"), + "planDimensionIds": obj.get("planDimensionIds"), + "scenarios": [ScenarioOrSnapshotDTO.from_dict(_item) for _item in obj["scenarios"]] if obj.get("scenarios") is not None else None, + "snapshots": [ScenarioOrSnapshotDTO.from_dict(_item) for _item in obj["snapshots"]] if obj.get("snapshots") is not None else None, + "subjectId": obj.get("subjectId") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_plans_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_plans_dto.py new file mode 100644 index 000000000..cfa026d52 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/planning_plans_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.planning_plan_dto import PlanningPlanDTO +from typing import Optional, Set +from typing_extensions import Self + +class PlanningPlansDTO(BaseModel): + """ + A collection of plan definitions. + """ # noqa: E501 + plans: Optional[List[PlanningPlanDTO]] = None + __properties: ClassVar[List[str]] = ["plans"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PlanningPlansDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 plans (list) + _items = [] + if self.plans: + for _item in self.plans: + if _item: + _items.append(_item.to_dict()) + _dict['plans'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PlanningPlansDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "plans": [PlanningPlanDTO.from_dict(_item) for _item in obj["plans"]] if obj.get("plans") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/population_configuration_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/population_configuration_dto.py new file mode 100644 index 000000000..fef7e1b71 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/population_configuration_dto.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.dimension_reference_dto import DimensionReferenceDTO +from visier.sdk.api.analytic_model.models.property_reference_dto import PropertyReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class PopulationConfigurationDTO(BaseModel): + """ + A set of property and dimension references configured by Visier or an administrator to tell the platform what properties and dimensions to use when doing population insight calculations. These are the distinguishing properties, change history properties, and grouping dimensions to use in AI insights. + """ # noqa: E501 + change_history_properties: Optional[List[PropertyReferenceDTO]] = Field(default=None, description="Properties that are used by default to compare subject members over time.", alias="changeHistoryProperties") + distinguishing_properties: Optional[List[PropertyReferenceDTO]] = Field(default=None, description="Properties that are used by default to compare subject members.", alias="distinguishingProperties") + grouping_dimensions: Optional[List[DimensionReferenceDTO]] = Field(default=None, description="Dimensions to use for grouping and clustering the population.", alias="groupingDimensions") + __properties: ClassVar[List[str]] = ["changeHistoryProperties", "distinguishingProperties", "groupingDimensions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PopulationConfigurationDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 change_history_properties (list) + _items = [] + if self.change_history_properties: + for _item in self.change_history_properties: + if _item: + _items.append(_item.to_dict()) + _dict['changeHistoryProperties'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in distinguishing_properties (list) + _items = [] + if self.distinguishing_properties: + for _item in self.distinguishing_properties: + if _item: + _items.append(_item.to_dict()) + _dict['distinguishingProperties'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in grouping_dimensions (list) + _items = [] + if self.grouping_dimensions: + for _item in self.grouping_dimensions: + if _item: + _items.append(_item.to_dict()) + _dict['groupingDimensions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PopulationConfigurationDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "changeHistoryProperties": [PropertyReferenceDTO.from_dict(_item) for _item in obj["changeHistoryProperties"]] if obj.get("changeHistoryProperties") is not None else None, + "distinguishingProperties": [PropertyReferenceDTO.from_dict(_item) for _item in obj["distinguishingProperties"]] if obj.get("distinguishingProperties") is not None else None, + "groupingDimensions": [DimensionReferenceDTO.from_dict(_item) for _item in obj["groupingDimensions"]] if obj.get("groupingDimensions") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/prediction_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/prediction_dto.py new file mode 100644 index 000000000..a717c0be9 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/prediction_dto.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PredictionDTO(BaseModel): + """ + A prediction is a forecast of future events with advanced machine learning models. + """ # noqa: E501 + data_end_date: Optional[StrictStr] = Field(default=None, description="The date from which data is no longer available for this prediction. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers.", alias="dataEndDate") + data_start_date: Optional[StrictStr] = Field(default=None, description="The date from which data becomes available for this prediction. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers.", alias="dataStartDate") + description: Optional[StrictStr] = Field(default=None, description="The localized description of the prediction.") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the prediction.", alias="displayName") + event: Optional[StrictStr] = Field(default=None, description="The object name of the event to predict. The prediction's training data uses past occurrences of the event to make predictions. For example, the Predicted Risk of Resignation model uses the Employee_Exit event to estimate likelihood of exit from the organization.") + event_filter: Optional[StrictStr] = Field(default=None, description="The object name of a selection concept to filter event occurrences in the prediction's training data.", alias="eventFilter") + factor_concepts: Optional[List[StrictStr]] = Field(default=None, description="The list of unique IDs of the concepts used as prediction factors.", alias="factorConcepts") + factor_dimensions: Optional[List[StrictStr]] = Field(default=None, description="The list of unique IDs of the dimensions used as prediction factors.", alias="factorDimensions") + factor_properties: Optional[List[StrictStr]] = Field(default=None, description="The list of unique IDs of the properties used as prediction factors. Note: Factors are conditions used as part of a Visier prediction. For example, Compensation might be a factor in predicting an individual's risk of resignation. Factors are chosen based on: - Availability in tenants. - Prediction impact, such as salary. - Reducing bias.", alias="factorProperties") + factors_name: Optional[StrictStr] = Field(default=None, description="The unique name of the factor property. The prediction's formula references the factor property as an object. This is automatically generated.", alias="factorsName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the prediction. Note: See `Predictions` to get the ID.") + is_multi_tenant: Optional[StrictBool] = Field(default=None, description="If `true`, this prediction applies to more than one tenant. If \"false\", the prediction only applies to the current tenant.", alias="isMultiTenant") + label_property: Optional[StrictStr] = Field(default=None, description="The unique ID of the property label for the prediction. This is automatically generated.", alias="labelProperty") + minimum_training_months: Optional[StrictStr] = Field(default=None, description="The minimum amount of time, in months, to train the prediction model.", alias="minimumTrainingMonths") + score_name: Optional[StrictStr] = Field(default=None, description="The unique name of the score property. The prediction's formula references the score property as an object. This is automatically generated.", alias="scoreName") + subject: Optional[StrictStr] = Field(default=None, description="The object name of the subject that the prediction applies to. For example, Employee.") + subject_filter: Optional[StrictStr] = Field(default=None, description="The object name of a selection concept to filter the subject population. Filtering the population selects specific subject members in the prediction's training data. For example, using the isHighPerformer concept will filter the prediction to only high performing employees.", alias="subjectFilter") + subject_key: Optional[StrictStr] = Field(default=None, description="The unique ID of the subject's property that the prediction applies to. For example, Employee.EmployeeID.", alias="subjectKey") + subject_parent_key: Optional[StrictStr] = Field(default=None, description="The unique ID of the reference that connects a subject member to other members. For example, Employee.Direct_Manager. Note: The `subjectParentKey` defines parent, child, and peer relationships between subject members.", alias="subjectParentKey") + __properties: ClassVar[List[str]] = ["dataEndDate", "dataStartDate", "description", "displayName", "event", "eventFilter", "factorConcepts", "factorDimensions", "factorProperties", "factorsName", "id", "isMultiTenant", "labelProperty", "minimumTrainingMonths", "scoreName", "subject", "subjectFilter", "subjectKey", "subjectParentKey"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PredictionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PredictionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataEndDate": obj.get("dataEndDate"), + "dataStartDate": obj.get("dataStartDate"), + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "event": obj.get("event"), + "eventFilter": obj.get("eventFilter"), + "factorConcepts": obj.get("factorConcepts"), + "factorDimensions": obj.get("factorDimensions"), + "factorProperties": obj.get("factorProperties"), + "factorsName": obj.get("factorsName"), + "id": obj.get("id"), + "isMultiTenant": obj.get("isMultiTenant"), + "labelProperty": obj.get("labelProperty"), + "minimumTrainingMonths": obj.get("minimumTrainingMonths"), + "scoreName": obj.get("scoreName"), + "subject": obj.get("subject"), + "subjectFilter": obj.get("subjectFilter"), + "subjectKey": obj.get("subjectKey"), + "subjectParentKey": obj.get("subjectParentKey") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/predictions_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/predictions_dto.py new file mode 100644 index 000000000..5672dcedc --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/predictions_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.prediction_dto import PredictionDTO +from typing import Optional, Set +from typing_extensions import Self + +class PredictionsDTO(BaseModel): + """ + A collection of predictions. + """ # noqa: E501 + predictions: Optional[List[PredictionDTO]] = None + __properties: ClassVar[List[str]] = ["predictions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PredictionsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 predictions (list) + _items = [] + if self.predictions: + for _item in self.predictions: + if _item: + _items.append(_item.to_dict()) + _dict['predictions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PredictionsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "predictions": [PredictionDTO.from_dict(_item) for _item in obj["predictions"]] if obj.get("predictions") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/properties_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/properties_dto.py new file mode 100644 index 000000000..27b73ae65 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/properties_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.property_dto import PropertyDTO +from typing import Optional, Set +from typing_extensions import Self + +class PropertiesDTO(BaseModel): + """ + A collection of properties. + """ # noqa: E501 + properties: Optional[List[PropertyDTO]] = None + __properties: ClassVar[List[str]] = ["properties"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PropertiesDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 properties (list) + _items = [] + if self.properties: + for _item in self.properties: + if _item: + _items.append(_item.to_dict()) + _dict['properties'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PropertiesDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "properties": [PropertyDTO.from_dict(_item) for _item in obj["properties"]] if obj.get("properties") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/property_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/property_dto.py new file mode 100644 index 000000000..d991cec45 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/property_dto.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.parameter_definition_dto import ParameterDefinitionDTO +from visier.sdk.api.analytic_model.models.tag_map_element_dto import TagMapElementDTO +from typing import Optional, Set +from typing_extensions import Self + +class PropertyDTO(BaseModel): + """ + Properties are qualities of an analytic object. + """ # noqa: E501 + data_type: Optional[StrictStr] = Field(default=None, description="The data type of the property, such as Categorical, HourDuration, or Ratio.", alias="dataType") + description: Optional[StrictStr] = Field(default=None, description="The localized description of the property.") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the property.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the property. **Note:** See `Properties` to get the ID.") + parameters: Optional[List[ParameterDefinitionDTO]] = Field(default=None, description="The collection of parameters defined for the property.") + primitive_data_type: Optional[StrictStr] = Field(default=None, description="The primitive data type of the property, such as Number, String, or Boolean.", alias="primitiveDataType") + tags: Optional[List[TagMapElementDTO]] = Field(default=None, description="The optional collection of tags defined for this element.") + __properties: ClassVar[List[str]] = ["dataType", "description", "displayName", "id", "parameters", "primitiveDataType", "tags"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PropertyDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 parameters (list) + _items = [] + if self.parameters: + for _item in self.parameters: + if _item: + _items.append(_item.to_dict()) + _dict['parameters'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in tags (list) + _items = [] + if self.tags: + for _item in self.tags: + if _item: + _items.append(_item.to_dict()) + _dict['tags'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PropertyDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataType": obj.get("dataType"), + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "id": obj.get("id"), + "parameters": [ParameterDefinitionDTO.from_dict(_item) for _item in obj["parameters"]] if obj.get("parameters") is not None else None, + "primitiveDataType": obj.get("primitiveDataType"), + "tags": [TagMapElementDTO.from_dict(_item) for _item in obj["tags"]] if obj.get("tags") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/property_reference_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/property_reference_dto.py new file mode 100644 index 000000000..7f992ac58 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/property_reference_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PropertyReferenceDTO(BaseModel): + """ + The name and qualifying path of a property to query. + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="The ID of the property. See `Properties` to get the ID.") + qualifying_path: Optional[StrictStr] = Field(default=None, description="The qualifying path to the property in Visier, such as the analytic object or event the property is associated with. If the path has multiple objects, each object is separated by a period.", alias="qualifyingPath") + __properties: ClassVar[List[str]] = ["name", "qualifyingPath"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PropertyReferenceDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PropertyReferenceDTO 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"), + "qualifyingPath": obj.get("qualifyingPath") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/scenario_or_snapshot_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/scenario_or_snapshot_dto.py new file mode 100644 index 000000000..1709e9964 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/scenario_or_snapshot_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ScenarioOrSnapshotDTO(BaseModel): + """ + The unique identifier and display name for plan scenarios and snapshots. + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="The scenario or snapshot display name.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The identifier of the scenario or snapshot.") + __properties: ClassVar[List[str]] = ["displayName", "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 ScenarioOrSnapshotDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ScenarioOrSnapshotDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "id": obj.get("id") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concept_configuration_map_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concept_configuration_map_dto.py new file mode 100644 index 000000000..e14c047b3 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concept_configuration_map_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.analytic_object_filter_dto import AnalyticObjectFilterDTO +from typing import Optional, Set +from typing_extensions import Self + +class SelectionConceptConfigurationMapDTO(BaseModel): + """ + SelectionConceptConfigurationMapDTO + """ # noqa: E501 + analytic_object_filters_to_map: Optional[List[AnalyticObjectFilterDTO]] = Field(default=None, description="A list of analytic object filters indicating the analytic object and dimension members used for the selection concept. Note: If this array is empty, all filters will be removed for the concept.", alias="analyticObjectFiltersToMap") + __properties: ClassVar[List[str]] = ["analyticObjectFiltersToMap"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SelectionConceptConfigurationMapDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 analytic_object_filters_to_map (list) + _items = [] + if self.analytic_object_filters_to_map: + for _item in self.analytic_object_filters_to_map: + if _item: + _items.append(_item.to_dict()) + _dict['analyticObjectFiltersToMap'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SelectionConceptConfigurationMapDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObjectFiltersToMap": [AnalyticObjectFilterDTO.from_dict(_item) for _item in obj["analyticObjectFiltersToMap"]] if obj.get("analyticObjectFiltersToMap") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concept_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concept_dto.py new file mode 100644 index 000000000..7168cb703 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concept_dto.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.tag_map_element_dto import TagMapElementDTO +from typing import Optional, Set +from typing_extensions import Self + +class SelectionConceptDTO(BaseModel): + """ + Selection concepts select a population of subject members of a given subject or event. + """ # noqa: E501 + description: Optional[StrictStr] = Field(default=None, description="The localized description of the selection concept.") + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the selection concept.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the selection concept Note: See `SelectionConcepts` to get the ID.") + tags: Optional[List[TagMapElementDTO]] = Field(default=None, description="The optional collection of tags defined for this element.") + visible_in_app: Optional[StrictBool] = Field(default=None, description="`true` if this selection concept is set to be visible in your solution.", alias="visibleInApp") + __properties: ClassVar[List[str]] = ["description", "displayName", "id", "tags", "visibleInApp"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SelectionConceptDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tags (list) + _items = [] + if self.tags: + for _item in self.tags: + if _item: + _items.append(_item.to_dict()) + _dict['tags'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SelectionConceptDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "id": obj.get("id"), + "tags": [TagMapElementDTO.from_dict(_item) for _item in obj["tags"]] if obj.get("tags") is not None else None, + "visibleInApp": obj.get("visibleInApp") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concept_list_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concept_list_dto.py new file mode 100644 index 000000000..9a6e0386b --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concept_list_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.selection_concept_dto import SelectionConceptDTO +from typing import Optional, Set +from typing_extensions import Self + +class SelectionConceptListDTO(BaseModel): + """ + SelectionConceptListDTO + """ # noqa: E501 + concepts: Optional[List[SelectionConceptDTO]] = Field(default=None, description="A list of objects representing selection concepts.") + __properties: ClassVar[List[str]] = ["concepts"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SelectionConceptListDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 concepts (list) + _items = [] + if self.concepts: + for _item in self.concepts: + if _item: + _items.append(_item.to_dict()) + _dict['concepts'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SelectionConceptListDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "concepts": [SelectionConceptDTO.from_dict(_item) for _item in obj["concepts"]] if obj.get("concepts") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concepts_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concepts_dto.py new file mode 100644 index 000000000..5d03c9f65 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/selection_concepts_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.analytic_model.models.selection_concept_dto import SelectionConceptDTO +from typing import Optional, Set +from typing_extensions import Self + +class SelectionConceptsDTO(BaseModel): + """ + A collection of selection concepts + """ # noqa: E501 + selection_concepts: Optional[List[SelectionConceptDTO]] = Field(default=None, alias="selectionConcepts") + __properties: ClassVar[List[str]] = ["selectionConcepts"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SelectionConceptsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 selection_concepts (list) + _items = [] + if self.selection_concepts: + for _item in self.selection_concepts: + if _item: + _items.append(_item.to_dict()) + _dict['selectionConcepts'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SelectionConceptsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "selectionConcepts": [SelectionConceptDTO.from_dict(_item) for _item in obj["selectionConcepts"]] if obj.get("selectionConcepts") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/status.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/status.py new file mode 100644 index 000000000..faa963f6b --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/status.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 Status(BaseModel): + """ + The response structure for errors. + """ # noqa: E501 + error_code: Optional[StrictStr] = Field(default=None, description="Error classification.", alias="errorCode") + message: Optional[StrictStr] = Field(default=None, description="Error message describing the root cause of the error.") + rci: Optional[StrictStr] = Field(default=None, description="Optional root cause identifier.") + __properties: ClassVar[List[str]] = ["errorCode", "message", "rci"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Status from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 Status from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "errorCode": obj.get("errorCode"), + "message": obj.get("message"), + "rci": obj.get("rci") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/tag_map_element_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/tag_map_element_dto.py new file mode 100644 index 000000000..4f31183c7 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/tag_map_element_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 TagMapElementDTO(BaseModel): + """ + Tag identifier and display name pair. + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="The localized display name of the tag.", alias="displayName") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the tag.") + __properties: ClassVar[List[str]] = ["displayName", "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 TagMapElementDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 TagMapElementDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "id": obj.get("id") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/validity_range_dto.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/validity_range_dto.py new file mode 100644 index 000000000..ec7edb38f --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/models/validity_range_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ValidityRangeDTO(BaseModel): + """ + A pair of values that represent the time interval to which the data is valid. The validity range is defined in Unix epoch format and UTC timezone. Note: Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers. + """ # noqa: E501 + end: Optional[StrictStr] = Field(default=None, description="The date from which data is no longer available. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string.") + start: Optional[StrictStr] = Field(default=None, description="The date from which data becomes available. Note: Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string.") + __properties: ClassVar[List[str]] = ["end", "start"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ValidityRangeDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ValidityRangeDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "end": obj.get("end"), + "start": obj.get("start") + }) + return _obj + + diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/py.typed b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/py.typed new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/rest.py b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/rest.py new file mode 100644 index 000000000..1fe457c83 --- /dev/null +++ b/src/visier.sdk.api.analytic_model/visier/sdk/api/analytic_model/rest.py @@ -0,0 +1,257 @@ +# coding: utf-8 + +""" + Visier Analytic Model APIs + + Visier APIs for retrieving and configuring your analytic model in Visier. + + The version of the OpenAPI document: 0.0.1 + 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 visier.sdk.api.analytic_model.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'] == 'text/plain' 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/src/visier.sdk.api.data_in/.github/workflows/python.yml b/src/visier.sdk.api.data_in/.github/workflows/python.yml new file mode 100644 index 000000000..fcb365b87 --- /dev/null +++ b/src/visier.sdk.api.data_in/.github/workflows/python.yml @@ -0,0 +1,38 @@ +# NOTE: This file is auto generated by OpenAPI Generator. +# URL: https://openapi-generator.tech +# +# ref: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: visier.sdk.api.data_in Python package + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] + + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + if [ -f test-requirements.txt ]; then pip install -r test-requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest diff --git a/src/visier.sdk.api.data_in/.gitignore b/src/visier.sdk.api.data_in/.gitignore new file mode 100644 index 000000000..43995bd42 --- /dev/null +++ b/src/visier.sdk.api.data_in/.gitignore @@ -0,0 +1,66 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.venv/ +.python-version +.pytest_cache + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints diff --git a/src/visier.sdk.api.data_in/.gitlab-ci.yml b/src/visier.sdk.api.data_in/.gitlab-ci.yml new file mode 100644 index 000000000..bcbac8658 --- /dev/null +++ b/src/visier.sdk.api.data_in/.gitlab-ci.yml @@ -0,0 +1,31 @@ +# NOTE: This file is auto generated by OpenAPI Generator. +# URL: https://openapi-generator.tech +# +# ref: https://docs.gitlab.com/ee/ci/README.html +# ref: https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml + +stages: + - test + +.pytest: + stage: test + script: + - pip install -r requirements.txt + - pip install -r test-requirements.txt + - pytest --cov=visier.sdk.api.data_in + +pytest-3.7: + extends: .pytest + image: python:3.7-alpine +pytest-3.8: + extends: .pytest + image: python:3.8-alpine +pytest-3.9: + extends: .pytest + image: python:3.9-alpine +pytest-3.10: + extends: .pytest + image: python:3.10-alpine +pytest-3.11: + extends: .pytest + image: python:3.11-alpine diff --git a/src/visier.sdk.api.data_in/.openapi-generator-ignore b/src/visier.sdk.api.data_in/.openapi-generator-ignore new file mode 100644 index 000000000..7484ee590 --- /dev/null +++ b/src/visier.sdk.api.data_in/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/src/visier.sdk.api.data_in/.openapi-generator/FILES b/src/visier.sdk.api.data_in/.openapi-generator/FILES new file mode 100644 index 000000000..2d383c45c --- /dev/null +++ b/src/visier.sdk.api.data_in/.openapi-generator/FILES @@ -0,0 +1,395 @@ +.github/workflows/python.yml +.gitignore +.gitlab-ci.yml +.openapi-generator-ignore +.travis.yml +README.md +docs/AdpAuthParamsDTO.md +docs/AssignConnectorCredentialRequest.md +docs/AssignConnectorCredentialsByTenantResponseDTO.md +docs/AssignConnectorCredentialsResponseDTO.md +docs/AssignConnectorWithCredentialsResponseDTO.md +docs/AssignedCredentialInfoResponseDTO.md +docs/BambooAuthParamsDTO.md +docs/BasicS3AuthParamsDTO.md +docs/BigQueryAuthParamsDTO.md +docs/BigQueryServiceAccountParamsDTO.md +docs/CancelJobBatchFromJobIdDTO.md +docs/Connector.md +docs/ConnectorInfoResponseDTO.md +docs/CopyS3AuthParamsDTO.md +docs/CredentialCreationAPIResponseDTO.md +docs/DataAndJobHandlingApi.md +docs/DataCategoriesResponseDTO.md +docs/DataCategoryResponseDTO.md +docs/DataIntakeApi.md +docs/DataLoadRequest.md +docs/DataLoadRequestModel.md +docs/DataLoadResponse.md +docs/DataProviderAuthInformationDTO.md +docs/DataProviderAuthParamsDTO.md +docs/DataProviderBasicInformationDTO.md +docs/DataProviderBasicMetadataDTO.md +docs/DataTransferResultDetail.md +docs/DataUploadApi.md +docs/DataVersionAndDateDTO.md +docs/DataVersionObject.md +docs/DayforceV2AuthParamsDTO.md +docs/DimensionsAuthParamsDTO.md +docs/DirectDataIntakeApi.md +docs/DirectDataJobConfigDTO.md +docs/DirectDataJobStatusResponseDTO.md +docs/DirectDataLoadConfigDTO.md +docs/DirectDataSchemaFieldDTO.md +docs/DirectDataTransactionStartResponseDTO.md +docs/DirectDataUploadFileResponseDTO.md +docs/DisableDVModel.md +docs/DisableDVRequest.md +docs/DisableDVResponse.md +docs/DispatchingJobStatusResponse.md +docs/ExcludeDataUploadsRequest.md +docs/ExtractionJob.md +docs/ExtractionJobAndStatusResponse.md +docs/ExtractorCredentialAPIDTO.md +docs/ExtractorCredentialsAPIDTO.md +docs/FusionAuthParamsDTO.md +docs/GongAuthParamsDTO.md +docs/GoogleProtobufAny.md +docs/GoogleSheetsAuthParamsDTO.md +docs/GoogleWorkspaceAuthParamsDTO.md +docs/GreenhouseAuthParamsDTO.md +docs/IcimsAuthParamsDTO.md +docs/ImportDefinitionAPIDTO.md +docs/ImportDefinitionsAPIDTO.md +docs/IncludeDataUploadsRequest.md +docs/InternalS3AuthParamsDTO.md +docs/JdbcAuthParamsDTO.md +docs/JiraAuthParamsDTO.md +docs/JiraConnectParamsDTO.md +docs/JobCancellationResultDTO.md +docs/JobCancellationResultsDTO.md +docs/JobStatusListResponse.md +docs/JobStatusWithStartTime.md +docs/LeverAuthParamsDTO.md +docs/MedalliaAuthParamsDTO.md +docs/Microsoft365AuthParamsDTO.md +docs/MultipleTenantDataVersionsDetailsDTO.md +docs/MultipleTenantDataVersionsListDTO.md +docs/MySqlAuthParamsDTO.md +docs/NamelyAuthParamsDTO.md +docs/OracleDbAuthParamsDTO.md +docs/ProcessingJob.md +docs/ProcessingJobAndStatusResponse.md +docs/ProcessingJobStatusResponse.md +docs/PushDataCancelResponse.md +docs/PushDataColumnDefinitionDTO.md +docs/PushDataCompleteRequest.md +docs/PushDataCompleteResponse.md +docs/PushDataResponse.md +docs/PushDataSourceDefinitionDTO.md +docs/PushDataSourceDefinitionsDTO.md +docs/QualtricsAuthParamsDTO.md +docs/ReceivingJob.md +docs/ReceivingJobAndStatusResponse.md +docs/ReceivingJobStatusResponse.md +docs/RedshiftAuthParamsDTO.md +docs/Result.md +docs/SalesforceAuthParamsDTO.md +docs/SalesforceV2AuthParamsDTO.md +docs/ServiceNowAuthParamsDTO.md +docs/SlackAuthParamsDTO.md +docs/SnowflakeAuthParamsDTO.md +docs/Source.md +docs/SqlServerAuthParamsDTO.md +docs/StartExtractionModel.md +docs/StartExtractionRequest.md +docs/StartExtractionResponse.md +docs/StartTransferResponse.md +docs/Status.md +docs/SubjectMissingAccessDTO.md +docs/SuccessFactorsAuthParamsDTO.md +docs/SuccessFactorsOAuthParamsDTO.md +docs/Tenant.md +docs/TenantAndCredential.md +docs/TenantDataUploadStatusResponseDTO.md +docs/TenantDataUploadUpdateStatusResponseDTO.md +docs/TenantDataUploadsListResponseDTO.md +docs/TenantDataUploadsResponseDTO.md +docs/TenantDataUploadsUpdateResponseDTO.md +docs/UltimateAuthParamsDTO.md +docs/UploadToExclude.md +docs/UploadToExcludeModel.md +docs/UploadToInclude.md +docs/UploadToIncludeModel.md +docs/WillowAuthParamsDTO.md +docs/WorkdayAuthParamsDTO.md +docs/WorkdayOAuthParamsDTO.md +docs/WorkdayRaasAuthParamsDTO.md +docs/WorkdayRefreshTokenParamsDTO.md +docs/ZoomAuthParamsDTO.md +git_push.sh +pyproject.toml +requirements.txt +setup.cfg +setup.py +test-requirements.txt +test/__init__.py +test/test_adp_auth_params_dto.py +test/test_assign_connector_credential_request.py +test/test_assign_connector_credentials_by_tenant_response_dto.py +test/test_assign_connector_credentials_response_dto.py +test/test_assign_connector_with_credentials_response_dto.py +test/test_assigned_credential_info_response_dto.py +test/test_bamboo_auth_params_dto.py +test/test_basic_s3_auth_params_dto.py +test/test_big_query_auth_params_dto.py +test/test_big_query_service_account_params_dto.py +test/test_cancel_job_batch_from_job_id_dto.py +test/test_connector.py +test/test_connector_info_response_dto.py +test/test_copy_s3_auth_params_dto.py +test/test_credential_creation_api_response_dto.py +test/test_data_and_job_handling_api.py +test/test_data_categories_response_dto.py +test/test_data_category_response_dto.py +test/test_data_intake_api.py +test/test_data_load_request.py +test/test_data_load_request_model.py +test/test_data_load_response.py +test/test_data_provider_auth_information_dto.py +test/test_data_provider_auth_params_dto.py +test/test_data_provider_basic_information_dto.py +test/test_data_provider_basic_metadata_dto.py +test/test_data_transfer_result_detail.py +test/test_data_upload_api.py +test/test_data_version_and_date_dto.py +test/test_data_version_object.py +test/test_dayforce_v2_auth_params_dto.py +test/test_dimensions_auth_params_dto.py +test/test_direct_data_intake_api.py +test/test_direct_data_job_config_dto.py +test/test_direct_data_job_status_response_dto.py +test/test_direct_data_load_config_dto.py +test/test_direct_data_schema_field_dto.py +test/test_direct_data_transaction_start_response_dto.py +test/test_direct_data_upload_file_response_dto.py +test/test_disable_dv_model.py +test/test_disable_dv_request.py +test/test_disable_dv_response.py +test/test_dispatching_job_status_response.py +test/test_exclude_data_uploads_request.py +test/test_extraction_job.py +test/test_extraction_job_and_status_response.py +test/test_extractor_credential_apidto.py +test/test_extractor_credentials_apidto.py +test/test_fusion_auth_params_dto.py +test/test_gong_auth_params_dto.py +test/test_google_protobuf_any.py +test/test_google_sheets_auth_params_dto.py +test/test_google_workspace_auth_params_dto.py +test/test_greenhouse_auth_params_dto.py +test/test_icims_auth_params_dto.py +test/test_import_definition_apidto.py +test/test_import_definitions_apidto.py +test/test_include_data_uploads_request.py +test/test_internal_s3_auth_params_dto.py +test/test_jdbc_auth_params_dto.py +test/test_jira_auth_params_dto.py +test/test_jira_connect_params_dto.py +test/test_job_cancellation_result_dto.py +test/test_job_cancellation_results_dto.py +test/test_job_status_list_response.py +test/test_job_status_with_start_time.py +test/test_lever_auth_params_dto.py +test/test_medallia_auth_params_dto.py +test/test_microsoft365_auth_params_dto.py +test/test_multiple_tenant_data_versions_details_dto.py +test/test_multiple_tenant_data_versions_list_dto.py +test/test_my_sql_auth_params_dto.py +test/test_namely_auth_params_dto.py +test/test_oracle_db_auth_params_dto.py +test/test_processing_job.py +test/test_processing_job_and_status_response.py +test/test_processing_job_status_response.py +test/test_push_data_cancel_response.py +test/test_push_data_column_definition_dto.py +test/test_push_data_complete_request.py +test/test_push_data_complete_response.py +test/test_push_data_response.py +test/test_push_data_source_definition_dto.py +test/test_push_data_source_definitions_dto.py +test/test_qualtrics_auth_params_dto.py +test/test_receiving_job.py +test/test_receiving_job_and_status_response.py +test/test_receiving_job_status_response.py +test/test_redshift_auth_params_dto.py +test/test_result.py +test/test_salesforce_auth_params_dto.py +test/test_salesforce_v2_auth_params_dto.py +test/test_service_now_auth_params_dto.py +test/test_slack_auth_params_dto.py +test/test_snowflake_auth_params_dto.py +test/test_source.py +test/test_sql_server_auth_params_dto.py +test/test_start_extraction_model.py +test/test_start_extraction_request.py +test/test_start_extraction_response.py +test/test_start_transfer_response.py +test/test_status.py +test/test_subject_missing_access_dto.py +test/test_success_factors_auth_params_dto.py +test/test_success_factors_o_auth_params_dto.py +test/test_tenant.py +test/test_tenant_and_credential.py +test/test_tenant_data_upload_status_response_dto.py +test/test_tenant_data_upload_update_status_response_dto.py +test/test_tenant_data_uploads_list_response_dto.py +test/test_tenant_data_uploads_response_dto.py +test/test_tenant_data_uploads_update_response_dto.py +test/test_ultimate_auth_params_dto.py +test/test_upload_to_exclude.py +test/test_upload_to_exclude_model.py +test/test_upload_to_include.py +test/test_upload_to_include_model.py +test/test_willow_auth_params_dto.py +test/test_workday_auth_params_dto.py +test/test_workday_o_auth_params_dto.py +test/test_workday_raas_auth_params_dto.py +test/test_workday_refresh_token_params_dto.py +test/test_zoom_auth_params_dto.py +tox.ini +visier/__init__.py +visier/sdk/__init__.py +visier/sdk/api/__init__.py +visier/sdk/api/data_in/__init__.py +visier/sdk/api/data_in/api/__init__.py +visier/sdk/api/data_in/api/data_and_job_handling_api.py +visier/sdk/api/data_in/api/data_intake_api.py +visier/sdk/api/data_in/api/data_upload_api.py +visier/sdk/api/data_in/api/direct_data_intake_api.py +visier/sdk/api/data_in/api_client.py +visier/sdk/api/data_in/api_response.py +visier/sdk/api/data_in/configuration.py +visier/sdk/api/data_in/exceptions.py +visier/sdk/api/data_in/models/__init__.py +visier/sdk/api/data_in/models/adp_auth_params_dto.py +visier/sdk/api/data_in/models/assign_connector_credential_request.py +visier/sdk/api/data_in/models/assign_connector_credentials_by_tenant_response_dto.py +visier/sdk/api/data_in/models/assign_connector_credentials_response_dto.py +visier/sdk/api/data_in/models/assign_connector_with_credentials_response_dto.py +visier/sdk/api/data_in/models/assigned_credential_info_response_dto.py +visier/sdk/api/data_in/models/bamboo_auth_params_dto.py +visier/sdk/api/data_in/models/basic_s3_auth_params_dto.py +visier/sdk/api/data_in/models/big_query_auth_params_dto.py +visier/sdk/api/data_in/models/big_query_service_account_params_dto.py +visier/sdk/api/data_in/models/cancel_job_batch_from_job_id_dto.py +visier/sdk/api/data_in/models/connector.py +visier/sdk/api/data_in/models/connector_info_response_dto.py +visier/sdk/api/data_in/models/copy_s3_auth_params_dto.py +visier/sdk/api/data_in/models/credential_creation_api_response_dto.py +visier/sdk/api/data_in/models/data_categories_response_dto.py +visier/sdk/api/data_in/models/data_category_response_dto.py +visier/sdk/api/data_in/models/data_load_request.py +visier/sdk/api/data_in/models/data_load_request_model.py +visier/sdk/api/data_in/models/data_load_response.py +visier/sdk/api/data_in/models/data_provider_auth_information_dto.py +visier/sdk/api/data_in/models/data_provider_auth_params_dto.py +visier/sdk/api/data_in/models/data_provider_basic_information_dto.py +visier/sdk/api/data_in/models/data_provider_basic_metadata_dto.py +visier/sdk/api/data_in/models/data_transfer_result_detail.py +visier/sdk/api/data_in/models/data_version_and_date_dto.py +visier/sdk/api/data_in/models/data_version_object.py +visier/sdk/api/data_in/models/dayforce_v2_auth_params_dto.py +visier/sdk/api/data_in/models/dimensions_auth_params_dto.py +visier/sdk/api/data_in/models/direct_data_job_config_dto.py +visier/sdk/api/data_in/models/direct_data_job_status_response_dto.py +visier/sdk/api/data_in/models/direct_data_load_config_dto.py +visier/sdk/api/data_in/models/direct_data_schema_field_dto.py +visier/sdk/api/data_in/models/direct_data_transaction_start_response_dto.py +visier/sdk/api/data_in/models/direct_data_upload_file_response_dto.py +visier/sdk/api/data_in/models/disable_dv_model.py +visier/sdk/api/data_in/models/disable_dv_request.py +visier/sdk/api/data_in/models/disable_dv_response.py +visier/sdk/api/data_in/models/dispatching_job_status_response.py +visier/sdk/api/data_in/models/exclude_data_uploads_request.py +visier/sdk/api/data_in/models/extraction_job.py +visier/sdk/api/data_in/models/extraction_job_and_status_response.py +visier/sdk/api/data_in/models/extractor_credential_apidto.py +visier/sdk/api/data_in/models/extractor_credentials_apidto.py +visier/sdk/api/data_in/models/fusion_auth_params_dto.py +visier/sdk/api/data_in/models/gong_auth_params_dto.py +visier/sdk/api/data_in/models/google_protobuf_any.py +visier/sdk/api/data_in/models/google_sheets_auth_params_dto.py +visier/sdk/api/data_in/models/google_workspace_auth_params_dto.py +visier/sdk/api/data_in/models/greenhouse_auth_params_dto.py +visier/sdk/api/data_in/models/icims_auth_params_dto.py +visier/sdk/api/data_in/models/import_definition_apidto.py +visier/sdk/api/data_in/models/import_definitions_apidto.py +visier/sdk/api/data_in/models/include_data_uploads_request.py +visier/sdk/api/data_in/models/internal_s3_auth_params_dto.py +visier/sdk/api/data_in/models/jdbc_auth_params_dto.py +visier/sdk/api/data_in/models/jira_auth_params_dto.py +visier/sdk/api/data_in/models/jira_connect_params_dto.py +visier/sdk/api/data_in/models/job_cancellation_result_dto.py +visier/sdk/api/data_in/models/job_cancellation_results_dto.py +visier/sdk/api/data_in/models/job_status_list_response.py +visier/sdk/api/data_in/models/job_status_with_start_time.py +visier/sdk/api/data_in/models/lever_auth_params_dto.py +visier/sdk/api/data_in/models/medallia_auth_params_dto.py +visier/sdk/api/data_in/models/microsoft365_auth_params_dto.py +visier/sdk/api/data_in/models/multiple_tenant_data_versions_details_dto.py +visier/sdk/api/data_in/models/multiple_tenant_data_versions_list_dto.py +visier/sdk/api/data_in/models/my_sql_auth_params_dto.py +visier/sdk/api/data_in/models/namely_auth_params_dto.py +visier/sdk/api/data_in/models/oracle_db_auth_params_dto.py +visier/sdk/api/data_in/models/processing_job.py +visier/sdk/api/data_in/models/processing_job_and_status_response.py +visier/sdk/api/data_in/models/processing_job_status_response.py +visier/sdk/api/data_in/models/push_data_cancel_response.py +visier/sdk/api/data_in/models/push_data_column_definition_dto.py +visier/sdk/api/data_in/models/push_data_complete_request.py +visier/sdk/api/data_in/models/push_data_complete_response.py +visier/sdk/api/data_in/models/push_data_response.py +visier/sdk/api/data_in/models/push_data_source_definition_dto.py +visier/sdk/api/data_in/models/push_data_source_definitions_dto.py +visier/sdk/api/data_in/models/qualtrics_auth_params_dto.py +visier/sdk/api/data_in/models/receiving_job.py +visier/sdk/api/data_in/models/receiving_job_and_status_response.py +visier/sdk/api/data_in/models/receiving_job_status_response.py +visier/sdk/api/data_in/models/redshift_auth_params_dto.py +visier/sdk/api/data_in/models/result.py +visier/sdk/api/data_in/models/salesforce_auth_params_dto.py +visier/sdk/api/data_in/models/salesforce_v2_auth_params_dto.py +visier/sdk/api/data_in/models/service_now_auth_params_dto.py +visier/sdk/api/data_in/models/slack_auth_params_dto.py +visier/sdk/api/data_in/models/snowflake_auth_params_dto.py +visier/sdk/api/data_in/models/source.py +visier/sdk/api/data_in/models/sql_server_auth_params_dto.py +visier/sdk/api/data_in/models/start_extraction_model.py +visier/sdk/api/data_in/models/start_extraction_request.py +visier/sdk/api/data_in/models/start_extraction_response.py +visier/sdk/api/data_in/models/start_transfer_response.py +visier/sdk/api/data_in/models/status.py +visier/sdk/api/data_in/models/subject_missing_access_dto.py +visier/sdk/api/data_in/models/success_factors_auth_params_dto.py +visier/sdk/api/data_in/models/success_factors_o_auth_params_dto.py +visier/sdk/api/data_in/models/tenant.py +visier/sdk/api/data_in/models/tenant_and_credential.py +visier/sdk/api/data_in/models/tenant_data_upload_status_response_dto.py +visier/sdk/api/data_in/models/tenant_data_upload_update_status_response_dto.py +visier/sdk/api/data_in/models/tenant_data_uploads_list_response_dto.py +visier/sdk/api/data_in/models/tenant_data_uploads_response_dto.py +visier/sdk/api/data_in/models/tenant_data_uploads_update_response_dto.py +visier/sdk/api/data_in/models/ultimate_auth_params_dto.py +visier/sdk/api/data_in/models/upload_to_exclude.py +visier/sdk/api/data_in/models/upload_to_exclude_model.py +visier/sdk/api/data_in/models/upload_to_include.py +visier/sdk/api/data_in/models/upload_to_include_model.py +visier/sdk/api/data_in/models/willow_auth_params_dto.py +visier/sdk/api/data_in/models/workday_auth_params_dto.py +visier/sdk/api/data_in/models/workday_o_auth_params_dto.py +visier/sdk/api/data_in/models/workday_raas_auth_params_dto.py +visier/sdk/api/data_in/models/workday_refresh_token_params_dto.py +visier/sdk/api/data_in/models/zoom_auth_params_dto.py +visier/sdk/api/data_in/py.typed +visier/sdk/api/data_in/rest.py diff --git a/src/visier.sdk.api.data_in/.openapi-generator/VERSION b/src/visier.sdk.api.data_in/.openapi-generator/VERSION new file mode 100644 index 000000000..1985849fb --- /dev/null +++ b/src/visier.sdk.api.data_in/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.7.0 diff --git a/src/visier.sdk.api.data_in/.travis.yml b/src/visier.sdk.api.data_in/.travis.yml new file mode 100644 index 000000000..9bec85f34 --- /dev/null +++ b/src/visier.sdk.api.data_in/.travis.yml @@ -0,0 +1,17 @@ +# ref: https://docs.travis-ci.com/user/languages/python +language: python +python: + - "3.7" + - "3.8" + - "3.9" + - "3.10" + - "3.11" + # uncomment the following if needed + #- "3.11-dev" # 3.11 development branch + #- "nightly" # nightly build +# command to install dependencies +install: + - "pip install -r requirements.txt" + - "pip install -r test-requirements.txt" +# command to run tests +script: pytest --cov=visier.sdk.api.data_in diff --git a/src/visier.sdk.api.data_in/README.md b/src/visier.sdk.api.data_in/README.md new file mode 100644 index 000000000..a7acbae31 --- /dev/null +++ b/src/visier.sdk.api.data_in/README.md @@ -0,0 +1,324 @@ +# visier.sdk.api.data-in +Visier APIs for sending data to Visier and running data load jobs. + +This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: 0.0.1 +- Package version: 0.0.1 +- Generator version: 7.7.0 +- Build package: org.openapitools.codegen.languages.PythonClientCodegen + +## Requirements. + +Python 3.7+ + +## Installation & Usage +### pip install + +If the python package is hosted on a repository, you can install directly using: + +```sh +pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git +``` +(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`) + +Then import the package: +```python +import visier.sdk.api.data_in +``` + +### Setuptools + +Install via [Setuptools](http://pypi.python.org/pypi/setuptools). + +```sh +python setup.py install --user +``` +(or `sudo python setup.py install` to install the package for all users) + +Then import the package: +```python +import visier.sdk.api.data_in +``` + +### Tests + +Execute `pytest` to run the tests. + +## Getting Started + +Please follow the [installation procedure](#installation--usage) and then run the following: + +```python + +import visier.sdk.api.data_in +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + assign_connector_credential_request = visier.sdk.api.data_in.AssignConnectorCredentialRequest() # AssignConnectorCredentialRequest | + + try: + # Assign connector credentials to data connectors + api_response = api_instance.assign_connector_credential(assign_connector_credential_request) + print("The response of DataAndJobHandlingApi->assign_connector_credential:\n") + pprint(api_response) + except ApiException as e: + print("Exception when calling DataAndJobHandlingApi->assign_connector_credential: %s\n" % e) + +``` + +## Documentation for API Endpoints + +All URIs are relative to *http://localhost* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*DataAndJobHandlingApi* | [**assign_connector_credential**](docs/DataAndJobHandlingApi.md#assign_connector_credential) | **POST** /v1/op/data-connectors/assignCredentials | Assign connector credentials to data connectors +*DataAndJobHandlingApi* | [**cancel_jobs**](docs/DataAndJobHandlingApi.md#cancel_jobs) | **POST** /v1/op/jobs/cancel | Cancel a list of jobs +*DataAndJobHandlingApi* | [**create_connector_credential**](docs/DataAndJobHandlingApi.md#create_connector_credential) | **POST** /v1/op/data-connector-credentials | Create a connector credential +*DataAndJobHandlingApi* | [**data_connector_credentials**](docs/DataAndJobHandlingApi.md#data_connector_credentials) | **GET** /v1/op/data-connector-credentials | Retrieve a list of all data connector credentials +*DataAndJobHandlingApi* | [**data_connectors**](docs/DataAndJobHandlingApi.md#data_connectors) | **GET** /v1/op/data-connectors | Retrieve a list of all data connectors +*DataAndJobHandlingApi* | [**delete_connector_credential**](docs/DataAndJobHandlingApi.md#delete_connector_credential) | **DELETE** /v1/op/data-connector-credentials/{id} | Delete a connector credential +*DataAndJobHandlingApi* | [**disable_dv**](docs/DataAndJobHandlingApi.md#disable_dv) | **PUT** /v1/op/data-versions/disable | Disable data versions for a list of analytic tenants +*DataAndJobHandlingApi* | [**dispatching_job_status**](docs/DataAndJobHandlingApi.md#dispatching_job_status) | **GET** /v1/op/jobs/dispatching-jobs/{jobId} | Retrieve a dispatching job's status +*DataAndJobHandlingApi* | [**exclude_data_uplaods**](docs/DataAndJobHandlingApi.md#exclude_data_uplaods) | **PUT** /v1/op/data/uploads/exclude | Exclude data uploads +*DataAndJobHandlingApi* | [**extraction_job_and_status**](docs/DataAndJobHandlingApi.md#extraction_job_and_status) | **GET** /v1/op/jobs/dispatching-jobs/{jobId}/extraction-jobs | Retrieve a dispatching job's extraction jobs with their statuses +*DataAndJobHandlingApi* | [**include_data_uploads**](docs/DataAndJobHandlingApi.md#include_data_uploads) | **PUT** /v1/op/data/uploads/include | Include data uploads +*DataAndJobHandlingApi* | [**job_id_status**](docs/DataAndJobHandlingApi.md#job_id_status) | **GET** /v1/op/job-status/jobs/{jobId} | Retrieve a specific job's status +*DataAndJobHandlingApi* | [**job_status**](docs/DataAndJobHandlingApi.md#job_status) | **GET** /v1/op/job-status/jobs | Retrieve the statuses of all jobs +*DataAndJobHandlingApi* | [**latest_enabled_dv**](docs/DataAndJobHandlingApi.md#latest_enabled_dv) | **GET** /v1/op/data-versions | Retrieve the latest enabled data versions for all analytic tenants +*DataAndJobHandlingApi* | [**processing_job_and_status**](docs/DataAndJobHandlingApi.md#processing_job_and_status) | **GET** /v1/op/jobs/dispatching-jobs/{jobId}/processing-jobs | Retrieve a dispatching job's processing jobs with their statuses +*DataAndJobHandlingApi* | [**processing_job_status**](docs/DataAndJobHandlingApi.md#processing_job_status) | **GET** /v1/op/jobs/processing-jobs/{receivingJobId} | Retrieve processing job statuses by receiving job ID +*DataAndJobHandlingApi* | [**receiving_job_and_status**](docs/DataAndJobHandlingApi.md#receiving_job_and_status) | **GET** /v1/op/jobs/dispatching-jobs/{jobId}/receiving-jobs | Retrieve a dispatching job's receiving jobs with their statuses +*DataAndJobHandlingApi* | [**receiving_job_status**](docs/DataAndJobHandlingApi.md#receiving_job_status) | **GET** /v1/op/jobs/receiving-jobs/{receivingJobId} | Retrieve a receiving job's status +*DataAndJobHandlingApi* | [**retrieve_data_categories**](docs/DataAndJobHandlingApi.md#retrieve_data_categories) | **GET** /v1/op/data/categories | Retrieve a list of all data categories +*DataAndJobHandlingApi* | [**retrieve_data_uploads**](docs/DataAndJobHandlingApi.md#retrieve_data_uploads) | **GET** /v1/op/data/uploads | Retrieve data uploads +*DataAndJobHandlingApi* | [**start_extraction**](docs/DataAndJobHandlingApi.md#start_extraction) | **POST** /v1/op/data/startExtractAndLoad | Trigger extraction jobs +*DataAndJobHandlingApi* | [**start_load**](docs/DataAndJobHandlingApi.md#start_load) | **POST** /v1/op/data/startload | Start the data load for an analytic tenant +*DataIntakeApi* | [**get_sources**](docs/DataIntakeApi.md#get_sources) | **GET** /v1/op/data-sources | Retrieve a list of sources +*DataIntakeApi* | [**push_data**](docs/DataIntakeApi.md#push_data) | **PUT** /v1/op/data-transfer-sessions/{transferSessionId}/add | Transfer data to sources via JSON +*DataIntakeApi* | [**push_data_cancel**](docs/DataIntakeApi.md#push_data_cancel) | **PUT** /v1/op/data-transfer-sessions/{transferSessionId}/cancel | Cancel a transfer session +*DataIntakeApi* | [**push_data_complete**](docs/DataIntakeApi.md#push_data_complete) | **POST** /v1/op/jobs/receiving-jobs | Complete a transfer session +*DataIntakeApi* | [**start_transfer**](docs/DataIntakeApi.md#start_transfer) | **POST** /v1/op/data-transfer-sessions | Start a transfer session +*DataIntakeApi* | [**upload_data**](docs/DataIntakeApi.md#upload_data) | **PUT** /v1/op/data-transfer-sessions/{transferSessionId}/upload | Transfer data to sources via file upload +*DataUploadApi* | [**v1_data_upload_files_filename_put**](docs/DataUploadApi.md#v1_data_upload_files_filename_put) | **PUT** /v1/data/upload/files/{filename} | Upload a data file to Visier +*DirectDataIntakeApi* | [**commit_transaction**](docs/DirectDataIntakeApi.md#commit_transaction) | **POST** /v1/data/directloads/{draftId}/transactions/{transactionId} | Commit a transaction +*DirectDataIntakeApi* | [**get_config**](docs/DirectDataIntakeApi.md#get_config) | **GET** /v1/data/directloads/{draftId}/configs | Get the direct data intake configuration +*DirectDataIntakeApi* | [**job_status**](docs/DirectDataIntakeApi.md#job_status) | **GET** /v1/data/directloads/{draftId}/transactions/{transactionId} | Check transaction status +*DirectDataIntakeApi* | [**object_schema**](docs/DirectDataIntakeApi.md#object_schema) | **GET** /v1/data/directloads/{draftId}/schemas/{objectName} | Retrieve an object's data load schema +*DirectDataIntakeApi* | [**put_config**](docs/DirectDataIntakeApi.md#put_config) | **PUT** /v1/data/directloads/{draftId}/configs | Update the direct data intake configuration +*DirectDataIntakeApi* | [**rollback_transaction**](docs/DirectDataIntakeApi.md#rollback_transaction) | **DELETE** /v1/data/directloads/{draftId}/transactions/{transactionId} | Roll back a transaction +*DirectDataIntakeApi* | [**start_transaction**](docs/DirectDataIntakeApi.md#start_transaction) | **POST** /v1/data/directloads/{draftId}/transactions | Start a direct data intake transaction +*DirectDataIntakeApi* | [**upload_file**](docs/DirectDataIntakeApi.md#upload_file) | **PUT** /v1/data/directloads/{draftId}/transactions/{transactionId}/{objectName} | Upload files + + +## Documentation For Models + + - [AdpAuthParamsDTO](docs/AdpAuthParamsDTO.md) + - [AssignConnectorCredentialRequest](docs/AssignConnectorCredentialRequest.md) + - [AssignConnectorCredentialsByTenantResponseDTO](docs/AssignConnectorCredentialsByTenantResponseDTO.md) + - [AssignConnectorCredentialsResponseDTO](docs/AssignConnectorCredentialsResponseDTO.md) + - [AssignConnectorWithCredentialsResponseDTO](docs/AssignConnectorWithCredentialsResponseDTO.md) + - [AssignedCredentialInfoResponseDTO](docs/AssignedCredentialInfoResponseDTO.md) + - [BambooAuthParamsDTO](docs/BambooAuthParamsDTO.md) + - [BasicS3AuthParamsDTO](docs/BasicS3AuthParamsDTO.md) + - [BigQueryAuthParamsDTO](docs/BigQueryAuthParamsDTO.md) + - [BigQueryServiceAccountParamsDTO](docs/BigQueryServiceAccountParamsDTO.md) + - [CancelJobBatchFromJobIdDTO](docs/CancelJobBatchFromJobIdDTO.md) + - [Connector](docs/Connector.md) + - [ConnectorInfoResponseDTO](docs/ConnectorInfoResponseDTO.md) + - [CopyS3AuthParamsDTO](docs/CopyS3AuthParamsDTO.md) + - [CredentialCreationAPIResponseDTO](docs/CredentialCreationAPIResponseDTO.md) + - [DataCategoriesResponseDTO](docs/DataCategoriesResponseDTO.md) + - [DataCategoryResponseDTO](docs/DataCategoryResponseDTO.md) + - [DataLoadRequest](docs/DataLoadRequest.md) + - [DataLoadRequestModel](docs/DataLoadRequestModel.md) + - [DataLoadResponse](docs/DataLoadResponse.md) + - [DataProviderAuthInformationDTO](docs/DataProviderAuthInformationDTO.md) + - [DataProviderAuthParamsDTO](docs/DataProviderAuthParamsDTO.md) + - [DataProviderBasicInformationDTO](docs/DataProviderBasicInformationDTO.md) + - [DataProviderBasicMetadataDTO](docs/DataProviderBasicMetadataDTO.md) + - [DataTransferResultDetail](docs/DataTransferResultDetail.md) + - [DataVersionAndDateDTO](docs/DataVersionAndDateDTO.md) + - [DataVersionObject](docs/DataVersionObject.md) + - [DayforceV2AuthParamsDTO](docs/DayforceV2AuthParamsDTO.md) + - [DimensionsAuthParamsDTO](docs/DimensionsAuthParamsDTO.md) + - [DirectDataJobConfigDTO](docs/DirectDataJobConfigDTO.md) + - [DirectDataJobStatusResponseDTO](docs/DirectDataJobStatusResponseDTO.md) + - [DirectDataLoadConfigDTO](docs/DirectDataLoadConfigDTO.md) + - [DirectDataSchemaFieldDTO](docs/DirectDataSchemaFieldDTO.md) + - [DirectDataTransactionStartResponseDTO](docs/DirectDataTransactionStartResponseDTO.md) + - [DirectDataUploadFileResponseDTO](docs/DirectDataUploadFileResponseDTO.md) + - [DisableDVModel](docs/DisableDVModel.md) + - [DisableDVRequest](docs/DisableDVRequest.md) + - [DisableDVResponse](docs/DisableDVResponse.md) + - [DispatchingJobStatusResponse](docs/DispatchingJobStatusResponse.md) + - [ExcludeDataUploadsRequest](docs/ExcludeDataUploadsRequest.md) + - [ExtractionJob](docs/ExtractionJob.md) + - [ExtractionJobAndStatusResponse](docs/ExtractionJobAndStatusResponse.md) + - [ExtractorCredentialAPIDTO](docs/ExtractorCredentialAPIDTO.md) + - [ExtractorCredentialsAPIDTO](docs/ExtractorCredentialsAPIDTO.md) + - [FusionAuthParamsDTO](docs/FusionAuthParamsDTO.md) + - [GongAuthParamsDTO](docs/GongAuthParamsDTO.md) + - [GoogleProtobufAny](docs/GoogleProtobufAny.md) + - [GoogleSheetsAuthParamsDTO](docs/GoogleSheetsAuthParamsDTO.md) + - [GoogleWorkspaceAuthParamsDTO](docs/GoogleWorkspaceAuthParamsDTO.md) + - [GreenhouseAuthParamsDTO](docs/GreenhouseAuthParamsDTO.md) + - [IcimsAuthParamsDTO](docs/IcimsAuthParamsDTO.md) + - [ImportDefinitionAPIDTO](docs/ImportDefinitionAPIDTO.md) + - [ImportDefinitionsAPIDTO](docs/ImportDefinitionsAPIDTO.md) + - [IncludeDataUploadsRequest](docs/IncludeDataUploadsRequest.md) + - [InternalS3AuthParamsDTO](docs/InternalS3AuthParamsDTO.md) + - [JdbcAuthParamsDTO](docs/JdbcAuthParamsDTO.md) + - [JiraAuthParamsDTO](docs/JiraAuthParamsDTO.md) + - [JiraConnectParamsDTO](docs/JiraConnectParamsDTO.md) + - [JobCancellationResultDTO](docs/JobCancellationResultDTO.md) + - [JobCancellationResultsDTO](docs/JobCancellationResultsDTO.md) + - [JobStatusListResponse](docs/JobStatusListResponse.md) + - [JobStatusWithStartTime](docs/JobStatusWithStartTime.md) + - [LeverAuthParamsDTO](docs/LeverAuthParamsDTO.md) + - [MedalliaAuthParamsDTO](docs/MedalliaAuthParamsDTO.md) + - [Microsoft365AuthParamsDTO](docs/Microsoft365AuthParamsDTO.md) + - [MultipleTenantDataVersionsDetailsDTO](docs/MultipleTenantDataVersionsDetailsDTO.md) + - [MultipleTenantDataVersionsListDTO](docs/MultipleTenantDataVersionsListDTO.md) + - [MySqlAuthParamsDTO](docs/MySqlAuthParamsDTO.md) + - [NamelyAuthParamsDTO](docs/NamelyAuthParamsDTO.md) + - [OracleDbAuthParamsDTO](docs/OracleDbAuthParamsDTO.md) + - [ProcessingJob](docs/ProcessingJob.md) + - [ProcessingJobAndStatusResponse](docs/ProcessingJobAndStatusResponse.md) + - [ProcessingJobStatusResponse](docs/ProcessingJobStatusResponse.md) + - [PushDataCancelResponse](docs/PushDataCancelResponse.md) + - [PushDataColumnDefinitionDTO](docs/PushDataColumnDefinitionDTO.md) + - [PushDataCompleteRequest](docs/PushDataCompleteRequest.md) + - [PushDataCompleteResponse](docs/PushDataCompleteResponse.md) + - [PushDataResponse](docs/PushDataResponse.md) + - [PushDataSourceDefinitionDTO](docs/PushDataSourceDefinitionDTO.md) + - [PushDataSourceDefinitionsDTO](docs/PushDataSourceDefinitionsDTO.md) + - [QualtricsAuthParamsDTO](docs/QualtricsAuthParamsDTO.md) + - [ReceivingJob](docs/ReceivingJob.md) + - [ReceivingJobAndStatusResponse](docs/ReceivingJobAndStatusResponse.md) + - [ReceivingJobStatusResponse](docs/ReceivingJobStatusResponse.md) + - [RedshiftAuthParamsDTO](docs/RedshiftAuthParamsDTO.md) + - [Result](docs/Result.md) + - [SalesforceAuthParamsDTO](docs/SalesforceAuthParamsDTO.md) + - [SalesforceV2AuthParamsDTO](docs/SalesforceV2AuthParamsDTO.md) + - [ServiceNowAuthParamsDTO](docs/ServiceNowAuthParamsDTO.md) + - [SlackAuthParamsDTO](docs/SlackAuthParamsDTO.md) + - [SnowflakeAuthParamsDTO](docs/SnowflakeAuthParamsDTO.md) + - [Source](docs/Source.md) + - [SqlServerAuthParamsDTO](docs/SqlServerAuthParamsDTO.md) + - [StartExtractionModel](docs/StartExtractionModel.md) + - [StartExtractionRequest](docs/StartExtractionRequest.md) + - [StartExtractionResponse](docs/StartExtractionResponse.md) + - [StartTransferResponse](docs/StartTransferResponse.md) + - [Status](docs/Status.md) + - [SubjectMissingAccessDTO](docs/SubjectMissingAccessDTO.md) + - [SuccessFactorsAuthParamsDTO](docs/SuccessFactorsAuthParamsDTO.md) + - [SuccessFactorsOAuthParamsDTO](docs/SuccessFactorsOAuthParamsDTO.md) + - [Tenant](docs/Tenant.md) + - [TenantAndCredential](docs/TenantAndCredential.md) + - [TenantDataUploadStatusResponseDTO](docs/TenantDataUploadStatusResponseDTO.md) + - [TenantDataUploadUpdateStatusResponseDTO](docs/TenantDataUploadUpdateStatusResponseDTO.md) + - [TenantDataUploadsListResponseDTO](docs/TenantDataUploadsListResponseDTO.md) + - [TenantDataUploadsResponseDTO](docs/TenantDataUploadsResponseDTO.md) + - [TenantDataUploadsUpdateResponseDTO](docs/TenantDataUploadsUpdateResponseDTO.md) + - [UltimateAuthParamsDTO](docs/UltimateAuthParamsDTO.md) + - [UploadToExclude](docs/UploadToExclude.md) + - [UploadToExcludeModel](docs/UploadToExcludeModel.md) + - [UploadToInclude](docs/UploadToInclude.md) + - [UploadToIncludeModel](docs/UploadToIncludeModel.md) + - [WillowAuthParamsDTO](docs/WillowAuthParamsDTO.md) + - [WorkdayAuthParamsDTO](docs/WorkdayAuthParamsDTO.md) + - [WorkdayOAuthParamsDTO](docs/WorkdayOAuthParamsDTO.md) + - [WorkdayRaasAuthParamsDTO](docs/WorkdayRaasAuthParamsDTO.md) + - [WorkdayRefreshTokenParamsDTO](docs/WorkdayRefreshTokenParamsDTO.md) + - [ZoomAuthParamsDTO](docs/ZoomAuthParamsDTO.md) + + + +## Documentation For Authorization + + +Authentication schemes defined for the API: + +### ApiKeyAuth + +- **Type**: API key +- **API key parameter name**: apikey +- **Location**: HTTP header + + +### BearerAuth + +- **Type**: Bearer authentication + + +### CookieAuth + +- **Type**: API key +- **API key parameter name**: VisierASIDToken +- **Location**: + + +### OAuth2Auth + +- **Type**: OAuth +- **Flow**: password +- **Authorization URL**: +- **Scopes**: + - **read**: Grants read access + - **write**: Grants write access + + +### OAuth2Auth + +- **Type**: OAuth +- **Flow**: accessCode +- **Authorization URL**: /v1/auth/oauth2/authorize +- **Scopes**: + - **read**: Grants read access + - **write**: Grants write access + + +## Author + + + + diff --git a/src/visier.sdk.api.data_in/docs/AdpAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/AdpAuthParamsDTO.md new file mode 100644 index 000000000..2fe0bef6a --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/AdpAuthParamsDTO.md @@ -0,0 +1,29 @@ +# AdpAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auth_code** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.adp_auth_params_dto import AdpAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AdpAuthParamsDTO from a JSON string +adp_auth_params_dto_instance = AdpAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(AdpAuthParamsDTO.to_json()) + +# convert the object into a dict +adp_auth_params_dto_dict = adp_auth_params_dto_instance.to_dict() +# create an instance of AdpAuthParamsDTO from a dict +adp_auth_params_dto_from_dict = AdpAuthParamsDTO.from_dict(adp_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/AssignConnectorCredentialRequest.md b/src/visier.sdk.api.data_in/docs/AssignConnectorCredentialRequest.md new file mode 100644 index 000000000..1747376d6 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/AssignConnectorCredentialRequest.md @@ -0,0 +1,29 @@ +# AssignConnectorCredentialRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**connectors** | [**List[Connector]**](Connector.md) | A list of objects representing the data connectors to be assigned with credentials. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.assign_connector_credential_request import AssignConnectorCredentialRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of AssignConnectorCredentialRequest from a JSON string +assign_connector_credential_request_instance = AssignConnectorCredentialRequest.from_json(json) +# print the JSON string representation of the object +print(AssignConnectorCredentialRequest.to_json()) + +# convert the object into a dict +assign_connector_credential_request_dict = assign_connector_credential_request_instance.to_dict() +# create an instance of AssignConnectorCredentialRequest from a dict +assign_connector_credential_request_from_dict = AssignConnectorCredentialRequest.from_dict(assign_connector_credential_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/AssignConnectorCredentialsByTenantResponseDTO.md b/src/visier.sdk.api.data_in/docs/AssignConnectorCredentialsByTenantResponseDTO.md new file mode 100644 index 000000000..86a9420b5 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/AssignConnectorCredentialsByTenantResponseDTO.md @@ -0,0 +1,32 @@ +# AssignConnectorCredentialsByTenantResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**connectors** | [**List[AssignConnectorWithCredentialsResponseDTO]**](AssignConnectorWithCredentialsResponseDTO.md) | A list of objects representing the assigned credentials and connectors. | [optional] +**message** | **str** | | [optional] +**status** | **str** | The state of the credential assignment. Valid values are Succeed or Failed. | [optional] +**tenant_code** | **str** | The unique identifier associated with the tenant. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.assign_connector_credentials_by_tenant_response_dto import AssignConnectorCredentialsByTenantResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AssignConnectorCredentialsByTenantResponseDTO from a JSON string +assign_connector_credentials_by_tenant_response_dto_instance = AssignConnectorCredentialsByTenantResponseDTO.from_json(json) +# print the JSON string representation of the object +print(AssignConnectorCredentialsByTenantResponseDTO.to_json()) + +# convert the object into a dict +assign_connector_credentials_by_tenant_response_dto_dict = assign_connector_credentials_by_tenant_response_dto_instance.to_dict() +# create an instance of AssignConnectorCredentialsByTenantResponseDTO from a dict +assign_connector_credentials_by_tenant_response_dto_from_dict = AssignConnectorCredentialsByTenantResponseDTO.from_dict(assign_connector_credentials_by_tenant_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/AssignConnectorCredentialsResponseDTO.md b/src/visier.sdk.api.data_in/docs/AssignConnectorCredentialsResponseDTO.md new file mode 100644 index 000000000..090d0906d --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/AssignConnectorCredentialsResponseDTO.md @@ -0,0 +1,29 @@ +# AssignConnectorCredentialsResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tenants** | [**List[AssignConnectorCredentialsByTenantResponseDTO]**](AssignConnectorCredentialsByTenantResponseDTO.md) | A list of objects representing the tenants and data connectors that were assigned connector credentials. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.assign_connector_credentials_response_dto import AssignConnectorCredentialsResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AssignConnectorCredentialsResponseDTO from a JSON string +assign_connector_credentials_response_dto_instance = AssignConnectorCredentialsResponseDTO.from_json(json) +# print the JSON string representation of the object +print(AssignConnectorCredentialsResponseDTO.to_json()) + +# convert the object into a dict +assign_connector_credentials_response_dto_dict = assign_connector_credentials_response_dto_instance.to_dict() +# create an instance of AssignConnectorCredentialsResponseDTO from a dict +assign_connector_credentials_response_dto_from_dict = AssignConnectorCredentialsResponseDTO.from_dict(assign_connector_credentials_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/AssignConnectorWithCredentialsResponseDTO.md b/src/visier.sdk.api.data_in/docs/AssignConnectorWithCredentialsResponseDTO.md new file mode 100644 index 000000000..9f64951c0 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/AssignConnectorWithCredentialsResponseDTO.md @@ -0,0 +1,30 @@ +# AssignConnectorWithCredentialsResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**connector** | [**ConnectorInfoResponseDTO**](ConnectorInfoResponseDTO.md) | The data connector that was assigned a connector credential. | [optional] +**credential** | [**AssignedCredentialInfoResponseDTO**](AssignedCredentialInfoResponseDTO.md) | A connector credential that was assigned to a data connector | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.assign_connector_with_credentials_response_dto import AssignConnectorWithCredentialsResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AssignConnectorWithCredentialsResponseDTO from a JSON string +assign_connector_with_credentials_response_dto_instance = AssignConnectorWithCredentialsResponseDTO.from_json(json) +# print the JSON string representation of the object +print(AssignConnectorWithCredentialsResponseDTO.to_json()) + +# convert the object into a dict +assign_connector_with_credentials_response_dto_dict = assign_connector_with_credentials_response_dto_instance.to_dict() +# create an instance of AssignConnectorWithCredentialsResponseDTO from a dict +assign_connector_with_credentials_response_dto_from_dict = AssignConnectorWithCredentialsResponseDTO.from_dict(assign_connector_with_credentials_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/AssignedCredentialInfoResponseDTO.md b/src/visier.sdk.api.data_in/docs/AssignedCredentialInfoResponseDTO.md new file mode 100644 index 000000000..24b117e9a --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/AssignedCredentialInfoResponseDTO.md @@ -0,0 +1,31 @@ +# AssignedCredentialInfoResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**credential_id** | **str** | The unique identifier associated with the user. | [optional] +**display_name** | **str** | The user's username. This is typically the user's email, such as john@visier.com. | [optional] +**message** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.assigned_credential_info_response_dto import AssignedCredentialInfoResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AssignedCredentialInfoResponseDTO from a JSON string +assigned_credential_info_response_dto_instance = AssignedCredentialInfoResponseDTO.from_json(json) +# print the JSON string representation of the object +print(AssignedCredentialInfoResponseDTO.to_json()) + +# convert the object into a dict +assigned_credential_info_response_dto_dict = assigned_credential_info_response_dto_instance.to_dict() +# create an instance of AssignedCredentialInfoResponseDTO from a dict +assigned_credential_info_response_dto_from_dict = AssignedCredentialInfoResponseDTO.from_dict(assigned_credential_info_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/BambooAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/BambooAuthParamsDTO.md new file mode 100644 index 000000000..2364f7d26 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/BambooAuthParamsDTO.md @@ -0,0 +1,30 @@ +# BambooAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**access_key** | **str** | | [optional] +**tenant_domain_name** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.bamboo_auth_params_dto import BambooAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of BambooAuthParamsDTO from a JSON string +bamboo_auth_params_dto_instance = BambooAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(BambooAuthParamsDTO.to_json()) + +# convert the object into a dict +bamboo_auth_params_dto_dict = bamboo_auth_params_dto_instance.to_dict() +# create an instance of BambooAuthParamsDTO from a dict +bamboo_auth_params_dto_from_dict = BambooAuthParamsDTO.from_dict(bamboo_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/BasicS3AuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/BasicS3AuthParamsDTO.md new file mode 100644 index 000000000..0ab01ada5 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/BasicS3AuthParamsDTO.md @@ -0,0 +1,33 @@ +# BasicS3AuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**access_key** | **str** | | [optional] +**bucket_name** | **str** | | [optional] +**bucket_region** | **str** | | [optional] +**path** | **str** | | [optional] +**secret_key** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.basic_s3_auth_params_dto import BasicS3AuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of BasicS3AuthParamsDTO from a JSON string +basic_s3_auth_params_dto_instance = BasicS3AuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(BasicS3AuthParamsDTO.to_json()) + +# convert the object into a dict +basic_s3_auth_params_dto_dict = basic_s3_auth_params_dto_instance.to_dict() +# create an instance of BasicS3AuthParamsDTO from a dict +basic_s3_auth_params_dto_from_dict = BasicS3AuthParamsDTO.from_dict(basic_s3_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/BigQueryAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/BigQueryAuthParamsDTO.md new file mode 100644 index 000000000..417bdfd66 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/BigQueryAuthParamsDTO.md @@ -0,0 +1,35 @@ +# BigQueryAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**client_id** | **str** | | [optional] +**client_secret** | **str** | | [optional] +**dataset_location** | **str** | | [optional] +**default_dataset** | **str** | | [optional] +**project_id** | **str** | | [optional] +**refresh_token** | **str** | | [optional] +**service_account_params** | [**BigQueryServiceAccountParamsDTO**](BigQueryServiceAccountParamsDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.big_query_auth_params_dto import BigQueryAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of BigQueryAuthParamsDTO from a JSON string +big_query_auth_params_dto_instance = BigQueryAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(BigQueryAuthParamsDTO.to_json()) + +# convert the object into a dict +big_query_auth_params_dto_dict = big_query_auth_params_dto_instance.to_dict() +# create an instance of BigQueryAuthParamsDTO from a dict +big_query_auth_params_dto_from_dict = BigQueryAuthParamsDTO.from_dict(big_query_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/BigQueryServiceAccountParamsDTO.md b/src/visier.sdk.api.data_in/docs/BigQueryServiceAccountParamsDTO.md new file mode 100644 index 000000000..54d195923 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/BigQueryServiceAccountParamsDTO.md @@ -0,0 +1,30 @@ +# BigQueryServiceAccountParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**private_key** | **str** | | [optional] +**service_account_email** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.big_query_service_account_params_dto import BigQueryServiceAccountParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of BigQueryServiceAccountParamsDTO from a JSON string +big_query_service_account_params_dto_instance = BigQueryServiceAccountParamsDTO.from_json(json) +# print the JSON string representation of the object +print(BigQueryServiceAccountParamsDTO.to_json()) + +# convert the object into a dict +big_query_service_account_params_dto_dict = big_query_service_account_params_dto_instance.to_dict() +# create an instance of BigQueryServiceAccountParamsDTO from a dict +big_query_service_account_params_dto_from_dict = BigQueryServiceAccountParamsDTO.from_dict(big_query_service_account_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/CancelJobBatchFromJobIdDTO.md b/src/visier.sdk.api.data_in/docs/CancelJobBatchFromJobIdDTO.md new file mode 100644 index 000000000..c690c3e5e --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/CancelJobBatchFromJobIdDTO.md @@ -0,0 +1,29 @@ +# CancelJobBatchFromJobIdDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**job_ids** | **List[str]** | A list of jobs to cancel. The maximum number of jobs that can be cancelled is 500. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.cancel_job_batch_from_job_id_dto import CancelJobBatchFromJobIdDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CancelJobBatchFromJobIdDTO from a JSON string +cancel_job_batch_from_job_id_dto_instance = CancelJobBatchFromJobIdDTO.from_json(json) +# print the JSON string representation of the object +print(CancelJobBatchFromJobIdDTO.to_json()) + +# convert the object into a dict +cancel_job_batch_from_job_id_dto_dict = cancel_job_batch_from_job_id_dto_instance.to_dict() +# create an instance of CancelJobBatchFromJobIdDTO from a dict +cancel_job_batch_from_job_id_dto_from_dict = CancelJobBatchFromJobIdDTO.from_dict(cancel_job_batch_from_job_id_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/Connector.md b/src/visier.sdk.api.data_in/docs/Connector.md new file mode 100644 index 000000000..35997b3bc --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/Connector.md @@ -0,0 +1,30 @@ +# Connector + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**connector_id** | **str** | The unique identifier associated with the data connector. | [optional] +**tenants** | [**List[TenantAndCredential]**](TenantAndCredential.md) | A list of analytic tenants and credentials to be assigned to the connector. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.connector import Connector + +# TODO update the JSON string below +json = "{}" +# create an instance of Connector from a JSON string +connector_instance = Connector.from_json(json) +# print the JSON string representation of the object +print(Connector.to_json()) + +# convert the object into a dict +connector_dict = connector_instance.to_dict() +# create an instance of Connector from a dict +connector_from_dict = Connector.from_dict(connector_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ConnectorInfoResponseDTO.md b/src/visier.sdk.api.data_in/docs/ConnectorInfoResponseDTO.md new file mode 100644 index 000000000..84bd5bde5 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ConnectorInfoResponseDTO.md @@ -0,0 +1,31 @@ +# ConnectorInfoResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**connector_id** | **str** | The unique identifier associated with the data connector. | [optional] +**description** | **str** | | [optional] +**display_name** | **str** | An identifiable data connector name that is displayed within Visier. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.connector_info_response_dto import ConnectorInfoResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectorInfoResponseDTO from a JSON string +connector_info_response_dto_instance = ConnectorInfoResponseDTO.from_json(json) +# print the JSON string representation of the object +print(ConnectorInfoResponseDTO.to_json()) + +# convert the object into a dict +connector_info_response_dto_dict = connector_info_response_dto_instance.to_dict() +# create an instance of ConnectorInfoResponseDTO from a dict +connector_info_response_dto_from_dict = ConnectorInfoResponseDTO.from_dict(connector_info_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/CopyS3AuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/CopyS3AuthParamsDTO.md new file mode 100644 index 000000000..cbc9c2b7c --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/CopyS3AuthParamsDTO.md @@ -0,0 +1,29 @@ +# CopyS3AuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**iam_role** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.copy_s3_auth_params_dto import CopyS3AuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CopyS3AuthParamsDTO from a JSON string +copy_s3_auth_params_dto_instance = CopyS3AuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(CopyS3AuthParamsDTO.to_json()) + +# convert the object into a dict +copy_s3_auth_params_dto_dict = copy_s3_auth_params_dto_instance.to_dict() +# create an instance of CopyS3AuthParamsDTO from a dict +copy_s3_auth_params_dto_from_dict = CopyS3AuthParamsDTO.from_dict(copy_s3_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/CredentialCreationAPIResponseDTO.md b/src/visier.sdk.api.data_in/docs/CredentialCreationAPIResponseDTO.md new file mode 100644 index 000000000..e314fb8a0 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/CredentialCreationAPIResponseDTO.md @@ -0,0 +1,32 @@ +# CredentialCreationAPIResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**missing_connection_properties** | [**List[SubjectMissingAccessDTO]**](SubjectMissingAccessDTO.md) | The properties that the credential cannot access despite successful authentication. This is only returned for authentications that do not grant access to all data. | [optional] +**object_name** | **str** | The object name of the newly created credential. | [optional] +**symbol_name** | **str** | The symbol name of the newly created credential. | [optional] +**uuid** | **str** | The unique ID of the newly created credential. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.credential_creation_api_response_dto import CredentialCreationAPIResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CredentialCreationAPIResponseDTO from a JSON string +credential_creation_api_response_dto_instance = CredentialCreationAPIResponseDTO.from_json(json) +# print the JSON string representation of the object +print(CredentialCreationAPIResponseDTO.to_json()) + +# convert the object into a dict +credential_creation_api_response_dto_dict = credential_creation_api_response_dto_instance.to_dict() +# create an instance of CredentialCreationAPIResponseDTO from a dict +credential_creation_api_response_dto_from_dict = CredentialCreationAPIResponseDTO.from_dict(credential_creation_api_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DataAndJobHandlingApi.md b/src/visier.sdk.api.data_in/docs/DataAndJobHandlingApi.md new file mode 100644 index 000000000..f58435c88 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataAndJobHandlingApi.md @@ -0,0 +1,2279 @@ +# visier.sdk.api.data_in.DataAndJobHandlingApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**assign_connector_credential**](DataAndJobHandlingApi.md#assign_connector_credential) | **POST** /v1/op/data-connectors/assignCredentials | Assign connector credentials to data connectors +[**cancel_jobs**](DataAndJobHandlingApi.md#cancel_jobs) | **POST** /v1/op/jobs/cancel | Cancel a list of jobs +[**create_connector_credential**](DataAndJobHandlingApi.md#create_connector_credential) | **POST** /v1/op/data-connector-credentials | Create a connector credential +[**data_connector_credentials**](DataAndJobHandlingApi.md#data_connector_credentials) | **GET** /v1/op/data-connector-credentials | Retrieve a list of all data connector credentials +[**data_connectors**](DataAndJobHandlingApi.md#data_connectors) | **GET** /v1/op/data-connectors | Retrieve a list of all data connectors +[**delete_connector_credential**](DataAndJobHandlingApi.md#delete_connector_credential) | **DELETE** /v1/op/data-connector-credentials/{id} | Delete a connector credential +[**disable_dv**](DataAndJobHandlingApi.md#disable_dv) | **PUT** /v1/op/data-versions/disable | Disable data versions for a list of analytic tenants +[**dispatching_job_status**](DataAndJobHandlingApi.md#dispatching_job_status) | **GET** /v1/op/jobs/dispatching-jobs/{jobId} | Retrieve a dispatching job's status +[**exclude_data_uplaods**](DataAndJobHandlingApi.md#exclude_data_uplaods) | **PUT** /v1/op/data/uploads/exclude | Exclude data uploads +[**extraction_job_and_status**](DataAndJobHandlingApi.md#extraction_job_and_status) | **GET** /v1/op/jobs/dispatching-jobs/{jobId}/extraction-jobs | Retrieve a dispatching job's extraction jobs with their statuses +[**include_data_uploads**](DataAndJobHandlingApi.md#include_data_uploads) | **PUT** /v1/op/data/uploads/include | Include data uploads +[**job_id_status**](DataAndJobHandlingApi.md#job_id_status) | **GET** /v1/op/job-status/jobs/{jobId} | Retrieve a specific job's status +[**job_status**](DataAndJobHandlingApi.md#job_status) | **GET** /v1/op/job-status/jobs | Retrieve the statuses of all jobs +[**latest_enabled_dv**](DataAndJobHandlingApi.md#latest_enabled_dv) | **GET** /v1/op/data-versions | Retrieve the latest enabled data versions for all analytic tenants +[**processing_job_and_status**](DataAndJobHandlingApi.md#processing_job_and_status) | **GET** /v1/op/jobs/dispatching-jobs/{jobId}/processing-jobs | Retrieve a dispatching job's processing jobs with their statuses +[**processing_job_status**](DataAndJobHandlingApi.md#processing_job_status) | **GET** /v1/op/jobs/processing-jobs/{receivingJobId} | Retrieve processing job statuses by receiving job ID +[**receiving_job_and_status**](DataAndJobHandlingApi.md#receiving_job_and_status) | **GET** /v1/op/jobs/dispatching-jobs/{jobId}/receiving-jobs | Retrieve a dispatching job's receiving jobs with their statuses +[**receiving_job_status**](DataAndJobHandlingApi.md#receiving_job_status) | **GET** /v1/op/jobs/receiving-jobs/{receivingJobId} | Retrieve a receiving job's status +[**retrieve_data_categories**](DataAndJobHandlingApi.md#retrieve_data_categories) | **GET** /v1/op/data/categories | Retrieve a list of all data categories +[**retrieve_data_uploads**](DataAndJobHandlingApi.md#retrieve_data_uploads) | **GET** /v1/op/data/uploads | Retrieve data uploads +[**start_extraction**](DataAndJobHandlingApi.md#start_extraction) | **POST** /v1/op/data/startExtractAndLoad | Trigger extraction jobs +[**start_load**](DataAndJobHandlingApi.md#start_load) | **POST** /v1/op/data/startload | Start the data load for an analytic tenant + + +# **assign_connector_credential** +> AssignConnectorCredentialsResponseDTO assign_connector_credential(assign_connector_credential_request) + +Assign connector credentials to data connectors + +Assign a connector credential to a data connector. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.assign_connector_credential_request import AssignConnectorCredentialRequest +from visier.sdk.api.data_in.models.assign_connector_credentials_response_dto import AssignConnectorCredentialsResponseDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + assign_connector_credential_request = visier.sdk.api.data_in.AssignConnectorCredentialRequest() # AssignConnectorCredentialRequest | + + try: + # Assign connector credentials to data connectors + api_response = api_instance.assign_connector_credential(assign_connector_credential_request) + print("The response of DataAndJobHandlingApi->assign_connector_credential:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->assign_connector_credential: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **assign_connector_credential_request** | [**AssignConnectorCredentialRequest**](AssignConnectorCredentialRequest.md)| | + +### Return type + +[**AssignConnectorCredentialsResponseDTO**](AssignConnectorCredentialsResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **cancel_jobs** +> JobCancellationResultsDTO cancel_jobs(cancel_job_batch_from_job_id_dto) + +Cancel a list of jobs + +Cancel a list of processing jobs, upload jobs, receiving jobs, and extraction jobs. **Note:** Receiving jobs with the Running status cannot be cancelled. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.cancel_job_batch_from_job_id_dto import CancelJobBatchFromJobIdDTO +from visier.sdk.api.data_in.models.job_cancellation_results_dto import JobCancellationResultsDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + cancel_job_batch_from_job_id_dto = visier.sdk.api.data_in.CancelJobBatchFromJobIdDTO() # CancelJobBatchFromJobIdDTO | + + try: + # Cancel a list of jobs + api_response = api_instance.cancel_jobs(cancel_job_batch_from_job_id_dto) + print("The response of DataAndJobHandlingApi->cancel_jobs:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->cancel_jobs: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **cancel_job_batch_from_job_id_dto** | [**CancelJobBatchFromJobIdDTO**](CancelJobBatchFromJobIdDTO.md)| | + +### Return type + +[**JobCancellationResultsDTO**](JobCancellationResultsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **create_connector_credential** +> CredentialCreationAPIResponseDTO create_connector_credential(data_provider_auth_information_dto, tenant_code=tenant_code) + +Create a connector credential + +Create connector credentials for a specified tenant. Connector credentials allow Visier to retrieve data from your source systems through an integration user in the source system. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.credential_creation_api_response_dto import CredentialCreationAPIResponseDTO +from visier.sdk.api.data_in.models.data_provider_auth_information_dto import DataProviderAuthInformationDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + data_provider_auth_information_dto = visier.sdk.api.data_in.DataProviderAuthInformationDTO() # DataProviderAuthInformationDTO | + tenant_code = 'tenant_code_example' # str | The tenant code of a specific analytic tenant that you want to create the credential for. (optional) + + try: + # Create a connector credential + api_response = api_instance.create_connector_credential(data_provider_auth_information_dto, tenant_code=tenant_code) + print("The response of DataAndJobHandlingApi->create_connector_credential:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->create_connector_credential: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **data_provider_auth_information_dto** | [**DataProviderAuthInformationDTO**](DataProviderAuthInformationDTO.md)| | + **tenant_code** | **str**| The tenant code of a specific analytic tenant that you want to create the credential for. | [optional] + +### Return type + +[**CredentialCreationAPIResponseDTO**](CredentialCreationAPIResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **data_connector_credentials** +> ExtractorCredentialsAPIDTO data_connector_credentials(tenant_code=tenant_code, limit=limit, start=start) + +Retrieve a list of all data connector credentials + +Retrieve a list of the connector credentials in a specified tenant. Connector credentials allow Visier to retrieve data from your source systems through an integration user in the source system. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.extractor_credentials_apidto import ExtractorCredentialsAPIDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + tenant_code = 'tenant_code_example' # str | The tenant code of a specific analytic tenant that you want to retrieve for. (optional) + limit = 56 # int | The limit to retrieve. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + + try: + # Retrieve a list of all data connector credentials + api_response = api_instance.data_connector_credentials(tenant_code=tenant_code, limit=limit, start=start) + print("The response of DataAndJobHandlingApi->data_connector_credentials:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->data_connector_credentials: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_code** | **str**| The tenant code of a specific analytic tenant that you want to retrieve for. | [optional] + **limit** | **int**| The limit to retrieve. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + +### Return type + +[**ExtractorCredentialsAPIDTO**](ExtractorCredentialsAPIDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **data_connectors** +> ImportDefinitionsAPIDTO data_connectors(tenant_code=tenant_code, limit=limit, start=start) + +Retrieve a list of all data connectors + +Retrieve a list of the data connectors in a specified tenant. Data connectors are an alternative to generating flat files and transferring them to Visier via SFTP. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.import_definitions_apidto import ImportDefinitionsAPIDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + tenant_code = 'tenant_code_example' # str | The tenant code of a specific analytic tenant that you want to retrieve for. (optional) + limit = 56 # int | The limit to retrieve. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + + try: + # Retrieve a list of all data connectors + api_response = api_instance.data_connectors(tenant_code=tenant_code, limit=limit, start=start) + print("The response of DataAndJobHandlingApi->data_connectors:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->data_connectors: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_code** | **str**| The tenant code of a specific analytic tenant that you want to retrieve for. | [optional] + **limit** | **int**| The limit to retrieve. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + +### Return type + +[**ImportDefinitionsAPIDTO**](ImportDefinitionsAPIDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_connector_credential** +> str delete_connector_credential(id, tenant_code=tenant_code) + +Delete a connector credential + +Use this API to delete connector credentials from your tenants. Credentials that are no longer valid should be deleted. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + id = 'id_example' # str | The credentialId of the credential you want to delete. + tenant_code = 'tenant_code_example' # str | The tenant code of the analytic tenant in which the credential you're deleting. (optional) + + try: + # Delete a connector credential + api_response = api_instance.delete_connector_credential(id, tenant_code=tenant_code) + print("The response of DataAndJobHandlingApi->delete_connector_credential:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->delete_connector_credential: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The credentialId of the credential you want to delete. | + **tenant_code** | **str**| The tenant code of the analytic tenant in which the credential you're deleting. | [optional] + +### Return type + +**str** + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **disable_dv** +> DisableDVResponse disable_dv(disable_dv_request) + +Disable data versions for a list of analytic tenants + +If you discover that a data version is not what is expected after running metric value validation on a data load, you may want to disable the data version for that processing job. Disable the latest enabled data versions for affected analytic tenants or to disable a particular data version for each analytic tenant. **Note:** Disabling an older data version may not have an effect on the state of the solution. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.disable_dv_request import DisableDVRequest +from visier.sdk.api.data_in.models.disable_dv_response import DisableDVResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + disable_dv_request = visier.sdk.api.data_in.DisableDVRequest() # DisableDVRequest | + + try: + # Disable data versions for a list of analytic tenants + api_response = api_instance.disable_dv(disable_dv_request) + print("The response of DataAndJobHandlingApi->disable_dv:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->disable_dv: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **disable_dv_request** | [**DisableDVRequest**](DisableDVRequest.md)| | + +### Return type + +[**DisableDVResponse**](DisableDVResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **dispatching_job_status** +> DispatchingJobStatusResponse dispatching_job_status(job_id) + +Retrieve a dispatching job's status + +Retrieve the status of a dispatching job, including its job ID and the number of jobs it generated. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.dispatching_job_status_response import DispatchingJobStatusResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + job_id = 'job_id_example' # str | The ID of the job you want to retrieve. + + try: + # Retrieve a dispatching job's status + api_response = api_instance.dispatching_job_status(job_id) + print("The response of DataAndJobHandlingApi->dispatching_job_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->dispatching_job_status: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **job_id** | **str**| The ID of the job you want to retrieve. | + +### Return type + +[**DispatchingJobStatusResponse**](DispatchingJobStatusResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **exclude_data_uplaods** +> TenantDataUploadsUpdateResponseDTO exclude_data_uplaods(exclude_data_uploads_request) + +Exclude data uploads + +Exclude either a specified list of data uploads or all data uploads for each analytic tenant. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.exclude_data_uploads_request import ExcludeDataUploadsRequest +from visier.sdk.api.data_in.models.tenant_data_uploads_update_response_dto import TenantDataUploadsUpdateResponseDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + exclude_data_uploads_request = visier.sdk.api.data_in.ExcludeDataUploadsRequest() # ExcludeDataUploadsRequest | + + try: + # Exclude data uploads + api_response = api_instance.exclude_data_uplaods(exclude_data_uploads_request) + print("The response of DataAndJobHandlingApi->exclude_data_uplaods:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->exclude_data_uplaods: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **exclude_data_uploads_request** | [**ExcludeDataUploadsRequest**](ExcludeDataUploadsRequest.md)| | + +### Return type + +[**TenantDataUploadsUpdateResponseDTO**](TenantDataUploadsUpdateResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **extraction_job_and_status** +> ExtractionJobAndStatusResponse extraction_job_and_status(job_id, dispatching_job_id=dispatching_job_id, tenant_code=tenant_code, limit=limit, start=start) + +Retrieve a dispatching job's extraction jobs with their statuses + +Retrieve the statuses of extraction jobs associated with a dispatching job. The dispatching job is a \"parent\" to extraction jobs, which retrieve data from your source systems through data connectors. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.extraction_job_and_status_response import ExtractionJobAndStatusResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + job_id = 'job_id_example' # str | The ID of the dispatching job you want to retrieve. + dispatching_job_id = 'dispatching_job_id_example' # str | The ID of the dispatching job that generated the extraction jobs. (optional) + tenant_code = 'tenant_code_example' # str | The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. (optional) + limit = 56 # int | The limit of extraction job statuses to retrieve. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + + try: + # Retrieve a dispatching job's extraction jobs with their statuses + api_response = api_instance.extraction_job_and_status(job_id, dispatching_job_id=dispatching_job_id, tenant_code=tenant_code, limit=limit, start=start) + print("The response of DataAndJobHandlingApi->extraction_job_and_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->extraction_job_and_status: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **job_id** | **str**| The ID of the dispatching job you want to retrieve. | + **dispatching_job_id** | **str**| The ID of the dispatching job that generated the extraction jobs. | [optional] + **tenant_code** | **str**| The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. | [optional] + **limit** | **int**| The limit of extraction job statuses to retrieve. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + +### Return type + +[**ExtractionJobAndStatusResponse**](ExtractionJobAndStatusResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **include_data_uploads** +> TenantDataUploadsUpdateResponseDTO include_data_uploads(include_data_uploads_request) + +Include data uploads + +Include either the specified list of data uploads or all data uploads for each analytic tenant. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.include_data_uploads_request import IncludeDataUploadsRequest +from visier.sdk.api.data_in.models.tenant_data_uploads_update_response_dto import TenantDataUploadsUpdateResponseDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + include_data_uploads_request = visier.sdk.api.data_in.IncludeDataUploadsRequest() # IncludeDataUploadsRequest | + + try: + # Include data uploads + api_response = api_instance.include_data_uploads(include_data_uploads_request) + print("The response of DataAndJobHandlingApi->include_data_uploads:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->include_data_uploads: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **include_data_uploads_request** | [**IncludeDataUploadsRequest**](IncludeDataUploadsRequest.md)| | + +### Return type + +[**TenantDataUploadsUpdateResponseDTO**](TenantDataUploadsUpdateResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **job_id_status** +> ReceivingJobStatusResponse job_id_status(job_id) + +Retrieve a specific job's status + +Use this API to retrieve the list of statuses for a specific job with id `jobId`. You can retrieve all job statuses or specify a time period to retrieve statuses from. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.receiving_job_status_response import ReceivingJobStatusResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + job_id = 'job_id_example' # str | The unique ID of the job to retrieve the status for. + + try: + # Retrieve a specific job's status + api_response = api_instance.job_id_status(job_id) + print("The response of DataAndJobHandlingApi->job_id_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->job_id_status: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **job_id** | **str**| The unique ID of the job to retrieve the status for. | + +### Return type + +[**ReceivingJobStatusResponse**](ReceivingJobStatusResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **job_status** +> JobStatusListResponse job_status(start_time=start_time, end_time=end_time, status=status) + +Retrieve the statuses of all jobs + +Retrieve the list of statuses for all jobs. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.job_status_list_response import JobStatusListResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + start_time = 'start_time_example' # str | The start time from which to retrieve job statuses. (optional) + end_time = 'end_time_example' # str | The end time from which to retrieve job statuses. (optional) + status = 'status_example' # str | The specific status to restrict the list of jobs to. (optional) + + try: + # Retrieve the statuses of all jobs + api_response = api_instance.job_status(start_time=start_time, end_time=end_time, status=status) + print("The response of DataAndJobHandlingApi->job_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->job_status: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **start_time** | **str**| The start time from which to retrieve job statuses. | [optional] + **end_time** | **str**| The end time from which to retrieve job statuses. | [optional] + **status** | **str**| The specific status to restrict the list of jobs to. | [optional] + +### Return type + +[**JobStatusListResponse**](JobStatusListResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **latest_enabled_dv** +> MultipleTenantDataVersionsListDTO latest_enabled_dv(tenant_code=tenant_code, limit=limit, start=start, number_of_versions=number_of_versions) + +Retrieve the latest enabled data versions for all analytic tenants + +If you discover any inconsistencies after running metric value validation, you may want to find the data versions causing inconsistencies so you can later disable them. Retrieve up to five (5) of the latest enabled data versions for all your analytic tenants or a single specified analytic tenant. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.multiple_tenant_data_versions_list_dto import MultipleTenantDataVersionsListDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + tenant_code = 'tenant_code_example' # str | The tenant code of a specific analytic tenant that you want to retrieve data versions for. Use this if you are only interested in the results for one analytic tenant. (optional) + limit = 56 # int | The limit of analytic tenants to retrieve data versions for. This parameter is not used if the tenantCode parameter is specified. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + number_of_versions = 56 # int | The number of latest enabled data versions to retrieve. The maximum value is 5. (optional) + + try: + # Retrieve the latest enabled data versions for all analytic tenants + api_response = api_instance.latest_enabled_dv(tenant_code=tenant_code, limit=limit, start=start, number_of_versions=number_of_versions) + print("The response of DataAndJobHandlingApi->latest_enabled_dv:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->latest_enabled_dv: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tenant_code** | **str**| The tenant code of a specific analytic tenant that you want to retrieve data versions for. Use this if you are only interested in the results for one analytic tenant. | [optional] + **limit** | **int**| The limit of analytic tenants to retrieve data versions for. This parameter is not used if the tenantCode parameter is specified. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + **number_of_versions** | **int**| The number of latest enabled data versions to retrieve. The maximum value is 5. | [optional] + +### Return type + +[**MultipleTenantDataVersionsListDTO**](MultipleTenantDataVersionsListDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **processing_job_and_status** +> ProcessingJobAndStatusResponse processing_job_and_status(job_id, dispatching_job_id=dispatching_job_id, tenant_code=tenant_code, limit=limit, start=start) + +Retrieve a dispatching job's processing jobs with their statuses + +Retrieve the statuses of processing jobs associated with a dispatching job. The dispatching job is a \"parent\" to extraction jobs, which in turn generate processing jobs and receiving jobs. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.processing_job_and_status_response import ProcessingJobAndStatusResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + job_id = 'job_id_example' # str | The ID of the dispatching job you want to retrieve. + dispatching_job_id = 'dispatching_job_id_example' # str | The ID of the dispatching job that generated the extraction jobs. (optional) + tenant_code = 'tenant_code_example' # str | The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. (optional) + limit = 56 # int | The limit of extraction job statuses to retrieve. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + + try: + # Retrieve a dispatching job's processing jobs with their statuses + api_response = api_instance.processing_job_and_status(job_id, dispatching_job_id=dispatching_job_id, tenant_code=tenant_code, limit=limit, start=start) + print("The response of DataAndJobHandlingApi->processing_job_and_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->processing_job_and_status: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **job_id** | **str**| The ID of the dispatching job you want to retrieve. | + **dispatching_job_id** | **str**| The ID of the dispatching job that generated the extraction jobs. | [optional] + **tenant_code** | **str**| The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. | [optional] + **limit** | **int**| The limit of extraction job statuses to retrieve. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + +### Return type + +[**ProcessingJobAndStatusResponse**](ProcessingJobAndStatusResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **processing_job_status** +> ProcessingJobStatusResponse processing_job_status(receiving_job_id, tenant_code=tenant_code, limit=limit, start=start) + +Retrieve processing job statuses by receiving job ID + +Retrieve a list of statuses for all processing jobs associated with the given receiving job ID. Processing jobs deal with an individual analytic tenant's data load. A processing job is either triggered through the UI or is one of many processing jobs spawned from a receiving job. When a processing job is triggered as part of a set from an receiving job, it is associated to the receiving job through a Parent ID. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.processing_job_status_response import ProcessingJobStatusResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + receiving_job_id = 'receiving_job_id_example' # str | The receiving job ID + tenant_code = 'tenant_code_example' # str | The tenant code of the tenant you want to retrieve the processing jobs for. Use this if you are only interested in the results for one analytic tenant. (optional) + limit = 56 # int | The limit of processing jobs to retrieve per page. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + + try: + # Retrieve processing job statuses by receiving job ID + api_response = api_instance.processing_job_status(receiving_job_id, tenant_code=tenant_code, limit=limit, start=start) + print("The response of DataAndJobHandlingApi->processing_job_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->processing_job_status: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **receiving_job_id** | **str**| The receiving job ID | + **tenant_code** | **str**| The tenant code of the tenant you want to retrieve the processing jobs for. Use this if you are only interested in the results for one analytic tenant. | [optional] + **limit** | **int**| The limit of processing jobs to retrieve per page. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + +### Return type + +[**ProcessingJobStatusResponse**](ProcessingJobStatusResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **receiving_job_and_status** +> ReceivingJobAndStatusResponse receiving_job_and_status(job_id, dispatching_job_id=dispatching_job_id, tenant_code=tenant_code, limit=limit, start=start) + +Retrieve a dispatching job's receiving jobs with their statuses + +Retrieve the statuses of receiving jobs associated with a dispatching job. The dispatching job is a \"parent\" to extraction jobs, which in turn generate processing jobs and receiving jobs. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.receiving_job_and_status_response import ReceivingJobAndStatusResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + job_id = 'job_id_example' # str | The ID of the dispatching job you want to retrieve. + dispatching_job_id = 'dispatching_job_id_example' # str | The ID of the dispatching job that generated the extraction jobs. (optional) + tenant_code = 'tenant_code_example' # str | The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. (optional) + limit = 56 # int | The limit of extraction job statuses to retrieve. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + + try: + # Retrieve a dispatching job's receiving jobs with their statuses + api_response = api_instance.receiving_job_and_status(job_id, dispatching_job_id=dispatching_job_id, tenant_code=tenant_code, limit=limit, start=start) + print("The response of DataAndJobHandlingApi->receiving_job_and_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->receiving_job_and_status: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **job_id** | **str**| The ID of the dispatching job you want to retrieve. | + **dispatching_job_id** | **str**| The ID of the dispatching job that generated the extraction jobs. | [optional] + **tenant_code** | **str**| The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. | [optional] + **limit** | **int**| The limit of extraction job statuses to retrieve. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + +### Return type + +[**ReceivingJobAndStatusResponse**](ReceivingJobAndStatusResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **receiving_job_status** +> ReceivingJobStatusResponse receiving_job_status(receiving_job_id, jobs=jobs, tenant_code=tenant_code, start=start, limit=limit) + +Retrieve a receiving job's status + +After sending data to Visier, you may want to know the status of the receiving job and the associated tenant receiving jobs. A receiving job validates the transferred data and adds the transferred data to Visier's data store. Retrieve the receiving job status and summary of analytic tenant receiving jobs. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.receiving_job_status_response import ReceivingJobStatusResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + receiving_job_id = 'receiving_job_id_example' # str | The jobId provided after sending data to Visier. + jobs = True # bool | If `true`, returns the status of receiving jobs spawned by the receiving job specified by `jobId`. (optional) + tenant_code = 'tenant_code_example' # str | The tenant code of the tenant you want to retrieve the receiving jobs for. Use this if you are only interested in the results for one analytic tenant. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + limit = 56 # int | The number of job statuses to return per page. (optional) + + try: + # Retrieve a receiving job's status + api_response = api_instance.receiving_job_status(receiving_job_id, jobs=jobs, tenant_code=tenant_code, start=start, limit=limit) + print("The response of DataAndJobHandlingApi->receiving_job_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->receiving_job_status: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **receiving_job_id** | **str**| The jobId provided after sending data to Visier. | + **jobs** | **bool**| If `true`, returns the status of receiving jobs spawned by the receiving job specified by `jobId`. | [optional] + **tenant_code** | **str**| The tenant code of the tenant you want to retrieve the receiving jobs for. Use this if you are only interested in the results for one analytic tenant. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + **limit** | **int**| The number of job statuses to return per page. | [optional] + +### Return type + +[**ReceivingJobStatusResponse**](ReceivingJobStatusResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **retrieve_data_categories** +> DataCategoriesResponseDTO retrieve_data_categories() + +Retrieve a list of all data categories + +Retrieve a list of all available data categories. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.data_categories_response_dto import DataCategoriesResponseDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + + try: + # Retrieve a list of all data categories + api_response = api_instance.retrieve_data_categories() + print("The response of DataAndJobHandlingApi->retrieve_data_categories:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->retrieve_data_categories: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**DataCategoriesResponseDTO**](DataCategoriesResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **retrieve_data_uploads** +> TenantDataUploadsListResponseDTO retrieve_data_uploads(upload_job_id=upload_job_id, tenant_code=tenant_code, limit=limit, start=start, number_of_data_uploads=number_of_data_uploads) + +Retrieve data uploads + +Retrieve the data uploads and whether they're included in one of: - A list of analytic tenants managed by you. - A single specified analytic tenant. - An upload job. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.tenant_data_uploads_list_response_dto import TenantDataUploadsListResponseDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + upload_job_id = 'upload_job_id_example' # str | The job ID of an upload job. Use this if you are interested in the data uploads for a specific upload job. (optional) + tenant_code = 56 # int | The tenant code of a specific analytic tenant that you want to retrieve the data uploads for. (optional) + limit = 56 # int | The limit of analytic tenants to retrieve data uploads for. This parameter is not used if the tenantCode parameter is specified. (optional) + start = 56 # int | The index to start retrieving results from, also known as offset. The index begins at 0. (optional) + number_of_data_uploads = 56 # int | The maximum number of latest enabled data uploads to retrieve for each analytic tenant. The maximum value is 5. (optional) + + try: + # Retrieve data uploads + api_response = api_instance.retrieve_data_uploads(upload_job_id=upload_job_id, tenant_code=tenant_code, limit=limit, start=start, number_of_data_uploads=number_of_data_uploads) + print("The response of DataAndJobHandlingApi->retrieve_data_uploads:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->retrieve_data_uploads: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **upload_job_id** | **str**| The job ID of an upload job. Use this if you are interested in the data uploads for a specific upload job. | [optional] + **tenant_code** | **int**| The tenant code of a specific analytic tenant that you want to retrieve the data uploads for. | [optional] + **limit** | **int**| The limit of analytic tenants to retrieve data uploads for. This parameter is not used if the tenantCode parameter is specified. | [optional] + **start** | **int**| The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + **number_of_data_uploads** | **int**| The maximum number of latest enabled data uploads to retrieve for each analytic tenant. The maximum value is 5. | [optional] + +### Return type + +[**TenantDataUploadsListResponseDTO**](TenantDataUploadsListResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **start_extraction** +> StartExtractionResponse start_extraction(start_extraction_request) + +Trigger extraction jobs + +Generate extraction jobs for a list of analytic tenants or for the administrating tenant. This API creates a dispatching job that generates one extraction job per tenant. The extraction jobs retrieve data from your source systems through data connectors. The dispatching job is the \"parent\" of the extraction jobs and its job ID is returned in the response. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.start_extraction_request import StartExtractionRequest +from visier.sdk.api.data_in.models.start_extraction_response import StartExtractionResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + start_extraction_request = visier.sdk.api.data_in.StartExtractionRequest() # StartExtractionRequest | + + try: + # Trigger extraction jobs + api_response = api_instance.start_extraction(start_extraction_request) + print("The response of DataAndJobHandlingApi->start_extraction:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->start_extraction: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **start_extraction_request** | [**StartExtractionRequest**](StartExtractionRequest.md)| | + +### Return type + +[**StartExtractionResponse**](StartExtractionResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **start_load** +> DataLoadResponse start_load(data_load_request) + +Start the data load for an analytic tenant + +This API starts the data load process for all analytic tenants included in the specified data files uploaded to the Visier SFTP server. On success, you receive a job ID that can be filtered and searched for within the Jobs room in Visier. This job ID is associated with the receiving job, and related to all processing jobs that spawn for each analytic tenant. With the job ID, you can also call the next two APIs to retrieve the status of the receiving job and the status list of all related processing jobs. **Prerequisite:** You must first obtain Visier's public encryption key and upload the source data files to Visier's SFTP server. Files must have a .zip.gpg extension, meaning the files are encrypted using the PGP protocol and compressed. Visier provides SFTP server credentials and instructions. You can find the encryption key at https://www.visier.com/pgp/visier.public.pgp.asc. After downloading the file, open the file in a text editor or by dragging it into your browser. **Note:** - To see the full status of all analytic tenant data loads, navigate to the Jobs room in a project. - For performance and efficiency, Visier requires that the uncompressed batch file size is below 5 GB and that no more than 5000 tenants are included in a batch. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.data_load_request import DataLoadRequest +from visier.sdk.api.data_in.models.data_load_response import DataLoadResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataAndJobHandlingApi(api_client) + data_load_request = visier.sdk.api.data_in.DataLoadRequest() # DataLoadRequest | + + try: + # Start the data load for an analytic tenant + api_response = api_instance.start_load(data_load_request) + print("The response of DataAndJobHandlingApi->start_load:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataAndJobHandlingApi->start_load: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **data_load_request** | [**DataLoadRequest**](DataLoadRequest.md)| | + +### Return type + +[**DataLoadResponse**](DataLoadResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.data_in/docs/DataCategoriesResponseDTO.md b/src/visier.sdk.api.data_in/docs/DataCategoriesResponseDTO.md new file mode 100644 index 000000000..311518e6b --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataCategoriesResponseDTO.md @@ -0,0 +1,29 @@ +# DataCategoriesResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**categories** | [**List[DataCategoryResponseDTO]**](DataCategoryResponseDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.data_categories_response_dto import DataCategoriesResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataCategoriesResponseDTO from a JSON string +data_categories_response_dto_instance = DataCategoriesResponseDTO.from_json(json) +# print the JSON string representation of the object +print(DataCategoriesResponseDTO.to_json()) + +# convert the object into a dict +data_categories_response_dto_dict = data_categories_response_dto_instance.to_dict() +# create an instance of DataCategoriesResponseDTO from a dict +data_categories_response_dto_from_dict = DataCategoriesResponseDTO.from_dict(data_categories_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DataCategoryResponseDTO.md b/src/visier.sdk.api.data_in/docs/DataCategoryResponseDTO.md new file mode 100644 index 000000000..644a7fe4f --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataCategoryResponseDTO.md @@ -0,0 +1,30 @@ +# DataCategoryResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.data_category_response_dto import DataCategoryResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataCategoryResponseDTO from a JSON string +data_category_response_dto_instance = DataCategoryResponseDTO.from_json(json) +# print the JSON string representation of the object +print(DataCategoryResponseDTO.to_json()) + +# convert the object into a dict +data_category_response_dto_dict = data_category_response_dto_instance.to_dict() +# create an instance of DataCategoryResponseDTO from a dict +data_category_response_dto_from_dict = DataCategoryResponseDTO.from_dict(data_category_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DataIntakeApi.md b/src/visier.sdk.api.data_in/docs/DataIntakeApi.md new file mode 100644 index 000000000..c33c97db9 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataIntakeApi.md @@ -0,0 +1,615 @@ +# visier.sdk.api.data_in.DataIntakeApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_sources**](DataIntakeApi.md#get_sources) | **GET** /v1/op/data-sources | Retrieve a list of sources +[**push_data**](DataIntakeApi.md#push_data) | **PUT** /v1/op/data-transfer-sessions/{transferSessionId}/add | Transfer data to sources via JSON +[**push_data_cancel**](DataIntakeApi.md#push_data_cancel) | **PUT** /v1/op/data-transfer-sessions/{transferSessionId}/cancel | Cancel a transfer session +[**push_data_complete**](DataIntakeApi.md#push_data_complete) | **POST** /v1/op/jobs/receiving-jobs | Complete a transfer session +[**start_transfer**](DataIntakeApi.md#start_transfer) | **POST** /v1/op/data-transfer-sessions | Start a transfer session +[**upload_data**](DataIntakeApi.md#upload_data) | **PUT** /v1/op/data-transfer-sessions/{transferSessionId}/upload | Transfer data to sources via file upload + + +# **get_sources** +> PushDataSourceDefinitionsDTO get_sources() + +Retrieve a list of sources + +Prior to transferring data to Visier, you must identify the sources you want to target. Sources store data for the solution and are used to map data to Visier's data model. **Note:** To set up sources in your tenant, contact Visier Customer Success. This API allows you to query the list of available sources, and identify the source schema and required fields. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.push_data_source_definitions_dto import PushDataSourceDefinitionsDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataIntakeApi(api_client) + + try: + # Retrieve a list of sources + api_response = api_instance.get_sources() + print("The response of DataIntakeApi->get_sources:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataIntakeApi->get_sources: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**PushDataSourceDefinitionsDTO**](PushDataSourceDefinitionsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **push_data** +> PushDataResponse push_data(transfer_session_id, body, source_id=source_id, sequence=sequence, tenant_code=tenant_code) + +Transfer data to sources via JSON + +Transfer data to Visier in batches of records. Each request includes a batch of records formatted as a comma separated array with the first row containing the column headers in the request body. Each subsequent request should also include the first row as a header. Each request transfers a batch of records to a single source. Transfer sessions may include one or more batches before completion. Each batch is identified by a sequence number. Sequence numbers help identify any batches that were delivered incorrectly. Each batch is limited to the following request size: - Batch size limit: 10 MB - Record count limit: 300,000 rows + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.push_data_response import PushDataResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataIntakeApi(api_client) + transfer_session_id = 'transfer_session_id_example' # str | The transfer session ID returned after the data transfer session starts. + body = 'body_example' # str | + source_id = 'source_id_example' # str | The unique identifier associated with the source you want to transfer data to. (optional) + sequence = 56 # int | The unique sequence number associated with a batch of records. (optional) + tenant_code = 'tenant_code_example' # str | The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o. (optional) + + try: + # Transfer data to sources via JSON + api_response = api_instance.push_data(transfer_session_id, body, source_id=source_id, sequence=sequence, tenant_code=tenant_code) + print("The response of DataIntakeApi->push_data:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataIntakeApi->push_data: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **transfer_session_id** | **str**| The transfer session ID returned after the data transfer session starts. | + **body** | **str**| | + **source_id** | **str**| The unique identifier associated with the source you want to transfer data to. | [optional] + **sequence** | **int**| The unique sequence number associated with a batch of records. | [optional] + **tenant_code** | **str**| The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o. | [optional] + +### Return type + +[**PushDataResponse**](PushDataResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **push_data_cancel** +> PushDataCancelResponse push_data_cancel(transfer_session_id) + +Cancel a transfer session + +Cancel a transfer session after starting it. If a transfer session is cancelled, all records within the transfer session do not persist in Visier's data store. If you cancel a transfer session, please start a new transfer session and resend the complete data set. You might cancel a transfer session if: - A request to send a batch of records failed. - The original set of records is incomplete. - An infrastructure error occurs. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.push_data_cancel_response import PushDataCancelResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataIntakeApi(api_client) + transfer_session_id = 'transfer_session_id_example' # str | The transfer session ID to cancel. + + try: + # Cancel a transfer session + api_response = api_instance.push_data_cancel(transfer_session_id) + print("The response of DataIntakeApi->push_data_cancel:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataIntakeApi->push_data_cancel: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **transfer_session_id** | **str**| The transfer session ID to cancel. | + +### Return type + +[**PushDataCancelResponse**](PushDataCancelResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **push_data_complete** +> PushDataCompleteResponse push_data_complete(push_data_complete_request) + +Complete a transfer session + +Complete the specified transfer session by triggering a receiving job. A receiving job validates the transferred data and adds the transferred data to Visier's data store. You can set an optional parameter to generate a data version through a processing job immediately after the receiving job completes. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.push_data_complete_request import PushDataCompleteRequest +from visier.sdk.api.data_in.models.push_data_complete_response import PushDataCompleteResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataIntakeApi(api_client) + push_data_complete_request = visier.sdk.api.data_in.PushDataCompleteRequest() # PushDataCompleteRequest | + + try: + # Complete a transfer session + api_response = api_instance.push_data_complete(push_data_complete_request) + print("The response of DataIntakeApi->push_data_complete:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataIntakeApi->push_data_complete: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **push_data_complete_request** | [**PushDataCompleteRequest**](PushDataCompleteRequest.md)| | + +### Return type + +[**PushDataCompleteResponse**](PushDataCompleteResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **start_transfer** +> StartTransferResponse start_transfer() + +Start a transfer session + +Start a new transfer session. A transfer session can include one or more batches of records to be sent to Visier. Batches of records may be transferred as JSON or file payloads. Recommended: For optimal performance, please include all batches of records in a single transfer session. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.start_transfer_response import StartTransferResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataIntakeApi(api_client) + + try: + # Start a transfer session + api_response = api_instance.start_transfer() + print("The response of DataIntakeApi->start_transfer:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataIntakeApi->start_transfer: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**StartTransferResponse**](StartTransferResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **upload_data** +> PushDataResponse upload_data(transfer_session_id, source_id=source_id, sequence=sequence, tenant_code=tenant_code) + +Transfer data to sources via file upload + +Upload data to Visier as CSV or ZIP files. Each request transfers a single file. If the data intended for Visier is stored in multiple files, you may compress them into a single ZIP file or make multiple requests within the same transfer session. File size limit: 3 GB Each file is identified by a sequence number. Sequence numbers help identify any batches that were delivered incorrectly. If you define a specific source in the request, all files within the request will target the declared source. If a source is not defined, the filenames are matched against the source regex to correctly assign each file to a source. To find out the source regex, please contact Visier Customer Success. **Note:** If you include files that should target multiple sources in one ZIP file, do not define a source in the request. Analytic tenants: For optimal transfer speed, provide one ZIP file per source. Administrating tenants: For optimal transfer speed, provide one ZIP file containing all the required data files for your analytic tenants. In the ZIP file, use one folder per analytic tenant. The ZIP file must adhere to the following file structure: File1.zip - Folder1: WFF_tenantCode1 - Filename1.csv - Filename2.csv - Folder2: WFF_tenantCode2 - Filename3.csv - Filename4.csv + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.push_data_response import PushDataResponse +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataIntakeApi(api_client) + transfer_session_id = 'transfer_session_id_example' # str | The transfer session ID returned after the data transfer session starts. + source_id = 'source_id_example' # str | The unique identifier associated with the source you want to transfer data to. (optional) + sequence = 'sequence_example' # str | The unique sequence number associated with a batch of records. (optional) + tenant_code = 'tenant_code_example' # str | The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o. (optional) + + try: + # Transfer data to sources via file upload + api_response = api_instance.upload_data(transfer_session_id, source_id=source_id, sequence=sequence, tenant_code=tenant_code) + print("The response of DataIntakeApi->upload_data:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataIntakeApi->upload_data: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **transfer_session_id** | **str**| The transfer session ID returned after the data transfer session starts. | + **source_id** | **str**| The unique identifier associated with the source you want to transfer data to. | [optional] + **sequence** | **str**| The unique sequence number associated with a batch of records. | [optional] + **tenant_code** | **str**| The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o. | [optional] + +### Return type + +[**PushDataResponse**](PushDataResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.data_in/docs/DataLoadRequest.md b/src/visier.sdk.api.data_in/docs/DataLoadRequest.md new file mode 100644 index 000000000..c8d4c70d0 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataLoadRequest.md @@ -0,0 +1,29 @@ +# DataLoadRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**model** | [**DataLoadRequestModel**](DataLoadRequestModel.md) | A form body key that contains a collection of key-value pairs. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.data_load_request import DataLoadRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of DataLoadRequest from a JSON string +data_load_request_instance = DataLoadRequest.from_json(json) +# print the JSON string representation of the object +print(DataLoadRequest.to_json()) + +# convert the object into a dict +data_load_request_dict = data_load_request_instance.to_dict() +# create an instance of DataLoadRequest from a dict +data_load_request_from_dict = DataLoadRequest.from_dict(data_load_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DataLoadRequestModel.md b/src/visier.sdk.api.data_in/docs/DataLoadRequestModel.md new file mode 100644 index 000000000..5d8b026bc --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataLoadRequestModel.md @@ -0,0 +1,30 @@ +# DataLoadRequestModel + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**files** | **List[str]** | A comma-separated list of file names. Example: `\"files\": \"/path/to/file1.zip.gpg,/path/to/another/file.zip.gpg\"` | [optional] +**skip_data_load** | **bool** | If `true`, receives the files and skips data loading. Does not generate a data version. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.data_load_request_model import DataLoadRequestModel + +# TODO update the JSON string below +json = "{}" +# create an instance of DataLoadRequestModel from a JSON string +data_load_request_model_instance = DataLoadRequestModel.from_json(json) +# print the JSON string representation of the object +print(DataLoadRequestModel.to_json()) + +# convert the object into a dict +data_load_request_model_dict = data_load_request_model_instance.to_dict() +# create an instance of DataLoadRequestModel from a dict +data_load_request_model_from_dict = DataLoadRequestModel.from_dict(data_load_request_model_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DataLoadResponse.md b/src/visier.sdk.api.data_in/docs/DataLoadResponse.md new file mode 100644 index 000000000..ca611e26a --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataLoadResponse.md @@ -0,0 +1,29 @@ +# DataLoadResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**job_id** | **str** | The unique identifier associated with the receiving job. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.data_load_response import DataLoadResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of DataLoadResponse from a JSON string +data_load_response_instance = DataLoadResponse.from_json(json) +# print the JSON string representation of the object +print(DataLoadResponse.to_json()) + +# convert the object into a dict +data_load_response_dict = data_load_response_instance.to_dict() +# create an instance of DataLoadResponse from a dict +data_load_response_from_dict = DataLoadResponse.from_dict(data_load_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DataProviderAuthInformationDTO.md b/src/visier.sdk.api.data_in/docs/DataProviderAuthInformationDTO.md new file mode 100644 index 000000000..79c108124 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataProviderAuthInformationDTO.md @@ -0,0 +1,31 @@ +# DataProviderAuthInformationDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_provider_auth_params** | [**DataProviderAuthParamsDTO**](DataProviderAuthParamsDTO.md) | The authentication information for the credential. | [optional] +**data_provider_basic_information** | [**DataProviderBasicInformationDTO**](DataProviderBasicInformationDTO.md) | The display name and description for the credential. | [optional] +**data_provider_metadata** | [**DataProviderBasicMetadataDTO**](DataProviderBasicMetadataDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.data_provider_auth_information_dto import DataProviderAuthInformationDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataProviderAuthInformationDTO from a JSON string +data_provider_auth_information_dto_instance = DataProviderAuthInformationDTO.from_json(json) +# print the JSON string representation of the object +print(DataProviderAuthInformationDTO.to_json()) + +# convert the object into a dict +data_provider_auth_information_dto_dict = data_provider_auth_information_dto_instance.to_dict() +# create an instance of DataProviderAuthInformationDTO from a dict +data_provider_auth_information_dto_from_dict = DataProviderAuthInformationDTO.from_dict(data_provider_auth_information_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DataProviderAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/DataProviderAuthParamsDTO.md new file mode 100644 index 000000000..d02ffc21c --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataProviderAuthParamsDTO.md @@ -0,0 +1,69 @@ +# DataProviderAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**adp_auth_params** | [**AdpAuthParamsDTO**](AdpAuthParamsDTO.md) | | [optional] +**auth_context** | **str** | | [optional] +**bamboo_auth_params** | [**BambooAuthParamsDTO**](BambooAuthParamsDTO.md) | | [optional] +**big_query_auth_params** | [**BigQueryAuthParamsDTO**](BigQueryAuthParamsDTO.md) | | [optional] +**copy_s3_auth_params** | [**CopyS3AuthParamsDTO**](CopyS3AuthParamsDTO.md) | | [optional] +**dayforce_v2_auth_params** | [**DayforceV2AuthParamsDTO**](DayforceV2AuthParamsDTO.md) | | [optional] +**dimensions_auth_params** | [**DimensionsAuthParamsDTO**](DimensionsAuthParamsDTO.md) | | [optional] +**empty_auth_params** | **object** | | [optional] +**fusion_auth_params** | [**FusionAuthParamsDTO**](FusionAuthParamsDTO.md) | | [optional] +**gong_auth_params** | [**GongAuthParamsDTO**](GongAuthParamsDTO.md) | | [optional] +**google_sheets_auth_params** | [**GoogleSheetsAuthParamsDTO**](GoogleSheetsAuthParamsDTO.md) | | [optional] +**google_workspace_auth_params** | [**GoogleWorkspaceAuthParamsDTO**](GoogleWorkspaceAuthParamsDTO.md) | | [optional] +**greenhouse_auth_params** | [**GreenhouseAuthParamsDTO**](GreenhouseAuthParamsDTO.md) | | [optional] +**has_updates** | **bool** | | [optional] +**icims_auth_params** | [**IcimsAuthParamsDTO**](IcimsAuthParamsDTO.md) | | [optional] +**internal_s3_auth_params** | [**InternalS3AuthParamsDTO**](InternalS3AuthParamsDTO.md) | | [optional] +**jdbc_auth_params** | [**JdbcAuthParamsDTO**](JdbcAuthParamsDTO.md) | | [optional] +**jira_auth_params** | [**JiraAuthParamsDTO**](JiraAuthParamsDTO.md) | | [optional] +**lever_auth_params** | [**LeverAuthParamsDTO**](LeverAuthParamsDTO.md) | | [optional] +**medallia_auth_params** | [**MedalliaAuthParamsDTO**](MedalliaAuthParamsDTO.md) | | [optional] +**ms365_auth_params** | [**Microsoft365AuthParamsDTO**](Microsoft365AuthParamsDTO.md) | | [optional] +**my_sql_auth_params** | [**MySqlAuthParamsDTO**](MySqlAuthParamsDTO.md) | | [optional] +**namely_auth_params** | [**NamelyAuthParamsDTO**](NamelyAuthParamsDTO.md) | | [optional] +**oracle_db_auth_params** | [**OracleDbAuthParamsDTO**](OracleDbAuthParamsDTO.md) | | [optional] +**provider** | **str** | The data provider associated with the credential. - Valid values: UKG, Dimensions, Workday, Redshift, BasicS3, CopyS3, SqlServer, Snowflake | [optional] +**qualtrics_auth_params** | [**QualtricsAuthParamsDTO**](QualtricsAuthParamsDTO.md) | | [optional] +**redshift_auth_params** | [**RedshiftAuthParamsDTO**](RedshiftAuthParamsDTO.md) | | [optional] +**s3_auth_params** | [**BasicS3AuthParamsDTO**](BasicS3AuthParamsDTO.md) | | [optional] +**salesforce_auth_params** | [**SalesforceAuthParamsDTO**](SalesforceAuthParamsDTO.md) | | [optional] +**salesforce_v2_auth_params** | [**SalesforceV2AuthParamsDTO**](SalesforceV2AuthParamsDTO.md) | | [optional] +**service_now_auth_params** | [**ServiceNowAuthParamsDTO**](ServiceNowAuthParamsDTO.md) | | [optional] +**slack_auth_params** | [**SlackAuthParamsDTO**](SlackAuthParamsDTO.md) | | [optional] +**snowflake_auth_params** | [**SnowflakeAuthParamsDTO**](SnowflakeAuthParamsDTO.md) | | [optional] +**sql_server_auth_params** | [**SqlServerAuthParamsDTO**](SqlServerAuthParamsDTO.md) | | [optional] +**success_factors_auth_params** | [**SuccessFactorsAuthParamsDTO**](SuccessFactorsAuthParamsDTO.md) | | [optional] +**tenant_domain_name** | **str** | | [optional] +**ultimate_auth_params** | [**UltimateAuthParamsDTO**](UltimateAuthParamsDTO.md) | | [optional] +**willow_auth_params** | [**WillowAuthParamsDTO**](WillowAuthParamsDTO.md) | | [optional] +**workday_auth_params** | [**WorkdayAuthParamsDTO**](WorkdayAuthParamsDTO.md) | | [optional] +**workday_raas_auth_params** | [**WorkdayRaasAuthParamsDTO**](WorkdayRaasAuthParamsDTO.md) | | [optional] +**zoom_auth_params** | [**ZoomAuthParamsDTO**](ZoomAuthParamsDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.data_provider_auth_params_dto import DataProviderAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataProviderAuthParamsDTO from a JSON string +data_provider_auth_params_dto_instance = DataProviderAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(DataProviderAuthParamsDTO.to_json()) + +# convert the object into a dict +data_provider_auth_params_dto_dict = data_provider_auth_params_dto_instance.to_dict() +# create an instance of DataProviderAuthParamsDTO from a dict +data_provider_auth_params_dto_from_dict = DataProviderAuthParamsDTO.from_dict(data_provider_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DataProviderBasicInformationDTO.md b/src/visier.sdk.api.data_in/docs/DataProviderBasicInformationDTO.md new file mode 100644 index 000000000..904f710de --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataProviderBasicInformationDTO.md @@ -0,0 +1,30 @@ +# DataProviderBasicInformationDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | | [optional] +**display_name** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.data_provider_basic_information_dto import DataProviderBasicInformationDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataProviderBasicInformationDTO from a JSON string +data_provider_basic_information_dto_instance = DataProviderBasicInformationDTO.from_json(json) +# print the JSON string representation of the object +print(DataProviderBasicInformationDTO.to_json()) + +# convert the object into a dict +data_provider_basic_information_dto_dict = data_provider_basic_information_dto_instance.to_dict() +# create an instance of DataProviderBasicInformationDTO from a dict +data_provider_basic_information_dto_from_dict = DataProviderBasicInformationDTO.from_dict(data_provider_basic_information_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DataProviderBasicMetadataDTO.md b/src/visier.sdk.api.data_in/docs/DataProviderBasicMetadataDTO.md new file mode 100644 index 000000000..b0b53135f --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataProviderBasicMetadataDTO.md @@ -0,0 +1,29 @@ +# DataProviderBasicMetadataDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**can_children_inherit** | **bool** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.data_provider_basic_metadata_dto import DataProviderBasicMetadataDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataProviderBasicMetadataDTO from a JSON string +data_provider_basic_metadata_dto_instance = DataProviderBasicMetadataDTO.from_json(json) +# print the JSON string representation of the object +print(DataProviderBasicMetadataDTO.to_json()) + +# convert the object into a dict +data_provider_basic_metadata_dto_dict = data_provider_basic_metadata_dto_instance.to_dict() +# create an instance of DataProviderBasicMetadataDTO from a dict +data_provider_basic_metadata_dto_from_dict = DataProviderBasicMetadataDTO.from_dict(data_provider_basic_metadata_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DataTransferResultDetail.md b/src/visier.sdk.api.data_in/docs/DataTransferResultDetail.md new file mode 100644 index 000000000..847eac127 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataTransferResultDetail.md @@ -0,0 +1,32 @@ +# DataTransferResultDetail + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_size** | **str** | The total size of the transfer session in bytes. | [optional] +**rows** | **str** | The total number of rows transferred during the transfer session. | [optional] +**source_names** | **List[str]** | A list of strings representing the sources that received a data transfer. | [optional] +**tenant_code** | **str** | The code of the tenant that data was transferred to. For example, WFF_j1r or WFF_j1r~c7o. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.data_transfer_result_detail import DataTransferResultDetail + +# TODO update the JSON string below +json = "{}" +# create an instance of DataTransferResultDetail from a JSON string +data_transfer_result_detail_instance = DataTransferResultDetail.from_json(json) +# print the JSON string representation of the object +print(DataTransferResultDetail.to_json()) + +# convert the object into a dict +data_transfer_result_detail_dict = data_transfer_result_detail_instance.to_dict() +# create an instance of DataTransferResultDetail from a dict +data_transfer_result_detail_from_dict = DataTransferResultDetail.from_dict(data_transfer_result_detail_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DataUploadApi.md b/src/visier.sdk.api.data_in/docs/DataUploadApi.md new file mode 100644 index 000000000..893accc12 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataUploadApi.md @@ -0,0 +1,110 @@ +# visier.sdk.api.data_in.DataUploadApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**v1_data_upload_files_filename_put**](DataUploadApi.md#v1_data_upload_files_filename_put) | **PUT** /v1/data/upload/files/{filename} | Upload a data file to Visier + + +# **v1_data_upload_files_filename_put** +> Status v1_data_upload_files_filename_put(filename, body=body) + +Upload a data file to Visier + +Use this API to upload data files to Visier. You can upload ZIP, CSV, XLS, and XLSX filetypes in plaintext or encrypted with Visier's PGP key. Use of this API requires client redirect. This API redirects requests directly to Visier's upload infrastructure to support long-running uploads. To ensure efficient uploading, we recommend that you use an HTTP client that supports the 100 Continue status code. The maximum file upload size is 500 MB. We recommend using SFTP for larger file sizes. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.status import Status +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DataUploadApi(api_client) + filename = 'filename_example' # str | The filename of the data file to upload, including the file extension (such as .zip or .csv). + body = None # bytearray | (optional) + + try: + # Upload a data file to Visier + api_response = api_instance.v1_data_upload_files_filename_put(filename, body=body) + print("The response of DataUploadApi->v1_data_upload_files_filename_put:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataUploadApi->v1_data_upload_files_filename_put: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **filename** | **str**| The filename of the data file to upload, including the file extension (such as .zip or .csv). | + **body** | **bytearray**| | [optional] + +### Return type + +[**Status**](Status.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**307** | Redirect to Visier's upload infrastructure. | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.data_in/docs/DataVersionAndDateDTO.md b/src/visier.sdk.api.data_in/docs/DataVersionAndDateDTO.md new file mode 100644 index 000000000..e2cc0a294 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataVersionAndDateDTO.md @@ -0,0 +1,30 @@ +# DataVersionAndDateDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_version** | **str** | The data version ID. | [optional] +**data_version_date** | **str** | The date that the data version was created. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.data_version_and_date_dto import DataVersionAndDateDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataVersionAndDateDTO from a JSON string +data_version_and_date_dto_instance = DataVersionAndDateDTO.from_json(json) +# print the JSON string representation of the object +print(DataVersionAndDateDTO.to_json()) + +# convert the object into a dict +data_version_and_date_dto_dict = data_version_and_date_dto_instance.to_dict() +# create an instance of DataVersionAndDateDTO from a dict +data_version_and_date_dto_from_dict = DataVersionAndDateDTO.from_dict(data_version_and_date_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DataVersionObject.md b/src/visier.sdk.api.data_in/docs/DataVersionObject.md new file mode 100644 index 000000000..b6467fc4a --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DataVersionObject.md @@ -0,0 +1,30 @@ +# DataVersionObject + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_versions** | **str** | The data version to disable for a particular analytic tenant. | [optional] +**tenant_code** | **str** | The tenant code for the analytic tenant that you are disabling a data version. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.data_version_object import DataVersionObject + +# TODO update the JSON string below +json = "{}" +# create an instance of DataVersionObject from a JSON string +data_version_object_instance = DataVersionObject.from_json(json) +# print the JSON string representation of the object +print(DataVersionObject.to_json()) + +# convert the object into a dict +data_version_object_dict = data_version_object_instance.to_dict() +# create an instance of DataVersionObject from a dict +data_version_object_from_dict = DataVersionObject.from_dict(data_version_object_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DayforceV2AuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/DayforceV2AuthParamsDTO.md new file mode 100644 index 000000000..f7fb09c06 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DayforceV2AuthParamsDTO.md @@ -0,0 +1,33 @@ +# DayforceV2AuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**company_id** | **str** | | [optional] +**host_domain_name** | **str** | | [optional] +**password** | **str** | | [optional] +**token_host** | **str** | | [optional] +**username** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.dayforce_v2_auth_params_dto import DayforceV2AuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DayforceV2AuthParamsDTO from a JSON string +dayforce_v2_auth_params_dto_instance = DayforceV2AuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(DayforceV2AuthParamsDTO.to_json()) + +# convert the object into a dict +dayforce_v2_auth_params_dto_dict = dayforce_v2_auth_params_dto_instance.to_dict() +# create an instance of DayforceV2AuthParamsDTO from a dict +dayforce_v2_auth_params_dto_from_dict = DayforceV2AuthParamsDTO.from_dict(dayforce_v2_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DimensionsAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/DimensionsAuthParamsDTO.md new file mode 100644 index 000000000..f0c524dcc --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DimensionsAuthParamsDTO.md @@ -0,0 +1,34 @@ +# DimensionsAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app_key** | **str** | | [optional] +**client_id** | **str** | | [optional] +**client_secret** | **str** | | [optional] +**password** | **str** | | [optional] +**username** | **str** | | [optional] +**vanity_url** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.dimensions_auth_params_dto import DimensionsAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DimensionsAuthParamsDTO from a JSON string +dimensions_auth_params_dto_instance = DimensionsAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(DimensionsAuthParamsDTO.to_json()) + +# convert the object into a dict +dimensions_auth_params_dto_dict = dimensions_auth_params_dto_instance.to_dict() +# create an instance of DimensionsAuthParamsDTO from a dict +dimensions_auth_params_dto_from_dict = DimensionsAuthParamsDTO.from_dict(dimensions_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DirectDataIntakeApi.md b/src/visier.sdk.api.data_in/docs/DirectDataIntakeApi.md new file mode 100644 index 000000000..21d53348e --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DirectDataIntakeApi.md @@ -0,0 +1,824 @@ +# visier.sdk.api.data_in.DirectDataIntakeApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**commit_transaction**](DirectDataIntakeApi.md#commit_transaction) | **POST** /v1/data/directloads/{draftId}/transactions/{transactionId} | Commit a transaction +[**get_config**](DirectDataIntakeApi.md#get_config) | **GET** /v1/data/directloads/{draftId}/configs | Get the direct data intake configuration +[**job_status**](DirectDataIntakeApi.md#job_status) | **GET** /v1/data/directloads/{draftId}/transactions/{transactionId} | Check transaction status +[**object_schema**](DirectDataIntakeApi.md#object_schema) | **GET** /v1/data/directloads/{draftId}/schemas/{objectName} | Retrieve an object's data load schema +[**put_config**](DirectDataIntakeApi.md#put_config) | **PUT** /v1/data/directloads/{draftId}/configs | Update the direct data intake configuration +[**rollback_transaction**](DirectDataIntakeApi.md#rollback_transaction) | **DELETE** /v1/data/directloads/{draftId}/transactions/{transactionId} | Roll back a transaction +[**start_transaction**](DirectDataIntakeApi.md#start_transaction) | **POST** /v1/data/directloads/{draftId}/transactions | Start a direct data intake transaction +[**upload_file**](DirectDataIntakeApi.md#upload_file) | **PUT** /v1/data/directloads/{draftId}/transactions/{transactionId}/{objectName} | Upload files + + +# **commit_transaction** +> DirectDataUploadFileResponseDTO commit_transaction(draft_id, transaction_id) + +Commit a transaction + +Process a transaction and its uploaded data files. This starts a processing job to load the data files into Visier. After committing a transaction, you cannot upload additional files to the transaction. Use the `Check transaction status` endpoint to monitor the progress of the processing job. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.direct_data_upload_file_response_dto import DirectDataUploadFileResponseDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DirectDataIntakeApi(api_client) + draft_id = 'draft_id_example' # str | The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. + transaction_id = 'transaction_id_example' # str | The unique identifier of the transaction. + + try: + # Commit a transaction + api_response = api_instance.commit_transaction(draft_id, transaction_id) + print("The response of DirectDataIntakeApi->commit_transaction:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DirectDataIntakeApi->commit_transaction: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **draft_id** | **str**| The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. | + **transaction_id** | **str**| The unique identifier of the transaction. | + +### Return type + +[**DirectDataUploadFileResponseDTO**](DirectDataUploadFileResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_config** +> DirectDataLoadConfigDTO get_config(draft_id) + +Get the direct data intake configuration + +Get the direct data intake configuration. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.direct_data_load_config_dto import DirectDataLoadConfigDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DirectDataIntakeApi(api_client) + draft_id = 'draft_id_example' # str | The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. + + try: + # Get the direct data intake configuration + api_response = api_instance.get_config(draft_id) + print("The response of DirectDataIntakeApi->get_config:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DirectDataIntakeApi->get_config: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **draft_id** | **str**| The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. | + +### Return type + +[**DirectDataLoadConfigDTO**](DirectDataLoadConfigDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **job_status** +> DirectDataJobStatusResponseDTO job_status(draft_id, transaction_id) + +Check transaction status + +Retrieve the status of a committed transaction's processing job. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.direct_data_job_status_response_dto import DirectDataJobStatusResponseDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DirectDataIntakeApi(api_client) + draft_id = 'draft_id_example' # str | The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. + transaction_id = 'transaction_id_example' # str | The unique identifier of the transaction. + + try: + # Check transaction status + api_response = api_instance.job_status(draft_id, transaction_id) + print("The response of DirectDataIntakeApi->job_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DirectDataIntakeApi->job_status: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **draft_id** | **str**| The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. | + **transaction_id** | **str**| The unique identifier of the transaction. | + +### Return type + +[**DirectDataJobStatusResponseDTO**](DirectDataJobStatusResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **object_schema** +> DirectDataSchemaFieldDTO object_schema(draft_id, object_name) + +Retrieve an object's data load schema + +Gets the load schema for a specified object. The object's load schema represents the structure that the data upload file must follow to upload data to the object. In the load schema, the listed columns must be present in the data file as column headers and exactly match the load schema (case sensitive), however, only the columns whose `isMandatory` field is `true` must contain values in the data file. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.direct_data_schema_field_dto import DirectDataSchemaFieldDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DirectDataIntakeApi(api_client) + draft_id = 'draft_id_example' # str | The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. + object_name = 'object_name_example' # str | The name of the object to return the load schema for. + + try: + # Retrieve an object's data load schema + api_response = api_instance.object_schema(draft_id, object_name) + print("The response of DirectDataIntakeApi->object_schema:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DirectDataIntakeApi->object_schema: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **draft_id** | **str**| The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. | + **object_name** | **str**| The name of the object to return the load schema for. | + +### Return type + +[**DirectDataSchemaFieldDTO**](DirectDataSchemaFieldDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **put_config** +> DirectDataLoadConfigDTO put_config(draft_id, direct_data_load_config_dto) + +Update the direct data intake configuration + +Configure the data intake settings, such as the direct data intake job type. Only provide values for the configuration options that should change. Configuration options that are not present in the PUT request are ignored and left unchanged. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.direct_data_load_config_dto import DirectDataLoadConfigDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DirectDataIntakeApi(api_client) + draft_id = 'draft_id_example' # str | The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. + direct_data_load_config_dto = visier.sdk.api.data_in.DirectDataLoadConfigDTO() # DirectDataLoadConfigDTO | + + try: + # Update the direct data intake configuration + api_response = api_instance.put_config(draft_id, direct_data_load_config_dto) + print("The response of DirectDataIntakeApi->put_config:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DirectDataIntakeApi->put_config: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **draft_id** | **str**| The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. | + **direct_data_load_config_dto** | [**DirectDataLoadConfigDTO**](DirectDataLoadConfigDTO.md)| | + +### Return type + +[**DirectDataLoadConfigDTO**](DirectDataLoadConfigDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **rollback_transaction** +> DirectDataUploadFileResponseDTO rollback_transaction(draft_id, transaction_id) + +Roll back a transaction + +Rolls back the specified transaction. This discards all files uploaded within the transaction and deletes the transaction. After rolling back a transaction, you cannot use the transaction to upload data files. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.direct_data_upload_file_response_dto import DirectDataUploadFileResponseDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DirectDataIntakeApi(api_client) + draft_id = 'draft_id_example' # str | The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. + transaction_id = 'transaction_id_example' # str | The unique identifier of the transaction. + + try: + # Roll back a transaction + api_response = api_instance.rollback_transaction(draft_id, transaction_id) + print("The response of DirectDataIntakeApi->rollback_transaction:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DirectDataIntakeApi->rollback_transaction: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **draft_id** | **str**| The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. | + **transaction_id** | **str**| The unique identifier of the transaction. | + +### Return type + +[**DirectDataUploadFileResponseDTO**](DirectDataUploadFileResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **start_transaction** +> DirectDataTransactionStartResponseDTO start_transaction(draft_id) + +Start a direct data intake transaction + +Create a transaction to contain your data files. To upload files to objects in Visier, you must first start a transaction. After starting a transaction and uploading files to the transaction, you can commit the transaction to process the uploaded files or roll back the transaction to discard the uploaded files. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.direct_data_transaction_start_response_dto import DirectDataTransactionStartResponseDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DirectDataIntakeApi(api_client) + draft_id = 'draft_id_example' # str | The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. + + try: + # Start a direct data intake transaction + api_response = api_instance.start_transaction(draft_id) + print("The response of DirectDataIntakeApi->start_transaction:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DirectDataIntakeApi->start_transaction: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **draft_id** | **str**| The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. | + +### Return type + +[**DirectDataTransactionStartResponseDTO**](DirectDataTransactionStartResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **upload_file** +> DirectDataUploadFileResponseDTO upload_file(draft_id, transaction_id, object_name, body=body) + +Upload files + +Send upload files to a previously-created transaction. Each upload file is associated with a target object in Visier. The files are not processed in Visier until you commit the transaction. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_in +from visier.sdk.api.data_in.models.direct_data_upload_file_response_dto import DirectDataUploadFileResponseDTO +from visier.sdk.api.data_in.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_in.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_in.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_in.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_in.DirectDataIntakeApi(api_client) + draft_id = 'draft_id_example' # str | The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. + transaction_id = 'transaction_id_example' # str | The unique identifier of the transaction to load data files into. + object_name = 'object_name_example' # str | The name of the object to upload the data to. If uploading data to a multi-value property (MVP), specify the property in `{object}--{property}` format; for example, `Employee--Employee_Budgeted_Compensation`. + body = None # bytearray | (optional) + + try: + # Upload files + api_response = api_instance.upload_file(draft_id, transaction_id, object_name, body=body) + print("The response of DirectDataIntakeApi->upload_file:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DirectDataIntakeApi->upload_file: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **draft_id** | **str**| The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. | + **transaction_id** | **str**| The unique identifier of the transaction to load data files into. | + **object_name** | **str**| The name of the object to upload the data to. If uploading data to a multi-value property (MVP), specify the property in `{object}--{property}` format; for example, `Employee--Employee_Budgeted_Compensation`. | + **body** | **bytearray**| | [optional] + +### Return type + +[**DirectDataUploadFileResponseDTO**](DirectDataUploadFileResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/octetstream + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.data_in/docs/DirectDataJobConfigDTO.md b/src/visier.sdk.api.data_in/docs/DirectDataJobConfigDTO.md new file mode 100644 index 000000000..782163f65 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DirectDataJobConfigDTO.md @@ -0,0 +1,31 @@ +# DirectDataJobConfigDTO + +Whether the direct data intake job is a primary job or a supplemental job. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**extend_objects** | **List[str]** | The target analytic objects to load using extension tables. You can extend objects if the job type is supplemental and the target objects already contain data from a previous data version. This allows you to load data for objects that already contain data in Visier. | [optional] +**supplemental_mode** | **str** | The configuration for the processing job as a primary job (default) or a supplemental job. If a primary job is already defined, the direct data intake job must be supplemental. The valid values are `IS_PRIMARY`, `IS_SUPPLEMENTAL`, and `UNCHANGED`. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.direct_data_job_config_dto import DirectDataJobConfigDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DirectDataJobConfigDTO from a JSON string +direct_data_job_config_dto_instance = DirectDataJobConfigDTO.from_json(json) +# print the JSON string representation of the object +print(DirectDataJobConfigDTO.to_json()) + +# convert the object into a dict +direct_data_job_config_dto_dict = direct_data_job_config_dto_instance.to_dict() +# create an instance of DirectDataJobConfigDTO from a dict +direct_data_job_config_dto_from_dict = DirectDataJobConfigDTO.from_dict(direct_data_job_config_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DirectDataJobStatusResponseDTO.md b/src/visier.sdk.api.data_in/docs/DirectDataJobStatusResponseDTO.md new file mode 100644 index 000000000..c2357d8d1 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DirectDataJobStatusResponseDTO.md @@ -0,0 +1,34 @@ +# DirectDataJobStatusResponseDTO + +The job status information for a committed transaction. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**job_id** | **str** | The unique identifier of the processing job. | [optional] +**message** | **str** | If the processing job fails, this field contains details specific to the failure. | [optional] +**status** | **str** | The status of the processing job. | [optional] +**tenant_code** | **str** | The tenant for the data load. | [optional] +**transaction_id** | **str** | The unique identifier of the committed transaction. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.direct_data_job_status_response_dto import DirectDataJobStatusResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DirectDataJobStatusResponseDTO from a JSON string +direct_data_job_status_response_dto_instance = DirectDataJobStatusResponseDTO.from_json(json) +# print the JSON string representation of the object +print(DirectDataJobStatusResponseDTO.to_json()) + +# convert the object into a dict +direct_data_job_status_response_dto_dict = direct_data_job_status_response_dto_instance.to_dict() +# create an instance of DirectDataJobStatusResponseDTO from a dict +direct_data_job_status_response_dto_from_dict = DirectDataJobStatusResponseDTO.from_dict(direct_data_job_status_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DirectDataLoadConfigDTO.md b/src/visier.sdk.api.data_in/docs/DirectDataLoadConfigDTO.md new file mode 100644 index 000000000..c45e1a81a --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DirectDataLoadConfigDTO.md @@ -0,0 +1,30 @@ +# DirectDataLoadConfigDTO + +The configuration for the direct data intake, such as the direct data intake job type. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**job** | [**DirectDataJobConfigDTO**](DirectDataJobConfigDTO.md) | The direct data intake job configuration. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.direct_data_load_config_dto import DirectDataLoadConfigDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DirectDataLoadConfigDTO from a JSON string +direct_data_load_config_dto_instance = DirectDataLoadConfigDTO.from_json(json) +# print the JSON string representation of the object +print(DirectDataLoadConfigDTO.to_json()) + +# convert the object into a dict +direct_data_load_config_dto_dict = direct_data_load_config_dto_instance.to_dict() +# create an instance of DirectDataLoadConfigDTO from a dict +direct_data_load_config_dto_from_dict = DirectDataLoadConfigDTO.from_dict(direct_data_load_config_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DirectDataSchemaFieldDTO.md b/src/visier.sdk.api.data_in/docs/DirectDataSchemaFieldDTO.md new file mode 100644 index 000000000..1a5bdf04c --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DirectDataSchemaFieldDTO.md @@ -0,0 +1,34 @@ +# DirectDataSchemaFieldDTO + +The definition of each field in an object's schema. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_type** | **str** | The column's data type. | [optional] +**empty_values_allowed** | **bool** | If true, the value may be empty. | [optional] +**formats** | **List[str]** | The column's accepted formats, such as date formats like \"yyyy-MM-dd\". | [optional] +**is_mandatory** | **bool** | If true, the field must contain a value to successfully load data into the object. | [optional] +**name** | **str** | The field's column name. Column names are case sensitive. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.direct_data_schema_field_dto import DirectDataSchemaFieldDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DirectDataSchemaFieldDTO from a JSON string +direct_data_schema_field_dto_instance = DirectDataSchemaFieldDTO.from_json(json) +# print the JSON string representation of the object +print(DirectDataSchemaFieldDTO.to_json()) + +# convert the object into a dict +direct_data_schema_field_dto_dict = direct_data_schema_field_dto_instance.to_dict() +# create an instance of DirectDataSchemaFieldDTO from a dict +direct_data_schema_field_dto_from_dict = DirectDataSchemaFieldDTO.from_dict(direct_data_schema_field_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DirectDataTransactionStartResponseDTO.md b/src/visier.sdk.api.data_in/docs/DirectDataTransactionStartResponseDTO.md new file mode 100644 index 000000000..55f270576 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DirectDataTransactionStartResponseDTO.md @@ -0,0 +1,30 @@ +# DirectDataTransactionStartResponseDTO + +The response after successfully creating a transaction. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**transaction_id** | **str** | The transaction's unique identifier. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.direct_data_transaction_start_response_dto import DirectDataTransactionStartResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DirectDataTransactionStartResponseDTO from a JSON string +direct_data_transaction_start_response_dto_instance = DirectDataTransactionStartResponseDTO.from_json(json) +# print the JSON string representation of the object +print(DirectDataTransactionStartResponseDTO.to_json()) + +# convert the object into a dict +direct_data_transaction_start_response_dto_dict = direct_data_transaction_start_response_dto_instance.to_dict() +# create an instance of DirectDataTransactionStartResponseDTO from a dict +direct_data_transaction_start_response_dto_from_dict = DirectDataTransactionStartResponseDTO.from_dict(direct_data_transaction_start_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DirectDataUploadFileResponseDTO.md b/src/visier.sdk.api.data_in/docs/DirectDataUploadFileResponseDTO.md new file mode 100644 index 000000000..6a4a8af70 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DirectDataUploadFileResponseDTO.md @@ -0,0 +1,32 @@ +# DirectDataUploadFileResponseDTO + +The transaction results. If uploading a file, a success response means the upload was successful and doesn't always mean the file was successfully loaded into its target object. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **str** | The upload response message from the provisioning service. | [optional] +**status** | **str** | The status of the request. | [optional] +**transaction_id** | **str** | The unique transaction identifier. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.direct_data_upload_file_response_dto import DirectDataUploadFileResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DirectDataUploadFileResponseDTO from a JSON string +direct_data_upload_file_response_dto_instance = DirectDataUploadFileResponseDTO.from_json(json) +# print the JSON string representation of the object +print(DirectDataUploadFileResponseDTO.to_json()) + +# convert the object into a dict +direct_data_upload_file_response_dto_dict = direct_data_upload_file_response_dto_instance.to_dict() +# create an instance of DirectDataUploadFileResponseDTO from a dict +direct_data_upload_file_response_dto_from_dict = DirectDataUploadFileResponseDTO.from_dict(direct_data_upload_file_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DisableDVModel.md b/src/visier.sdk.api.data_in/docs/DisableDVModel.md new file mode 100644 index 000000000..d1fd988c0 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DisableDVModel.md @@ -0,0 +1,29 @@ +# DisableDVModel + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_version_objects** | [**List[DataVersionObject]**](DataVersionObject.md) | A list of objects representing the data version to disable for a particular analytic tenant. The limit of objects to include per request is 1000. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.disable_dv_model import DisableDVModel + +# TODO update the JSON string below +json = "{}" +# create an instance of DisableDVModel from a JSON string +disable_dv_model_instance = DisableDVModel.from_json(json) +# print the JSON string representation of the object +print(DisableDVModel.to_json()) + +# convert the object into a dict +disable_dv_model_dict = disable_dv_model_instance.to_dict() +# create an instance of DisableDVModel from a dict +disable_dv_model_from_dict = DisableDVModel.from_dict(disable_dv_model_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DisableDVRequest.md b/src/visier.sdk.api.data_in/docs/DisableDVRequest.md new file mode 100644 index 000000000..c7662b4f8 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DisableDVRequest.md @@ -0,0 +1,29 @@ +# DisableDVRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**model** | [**DisableDVModel**](DisableDVModel.md) | A form body key that contains a collection of key-value pairs. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.disable_dv_request import DisableDVRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of DisableDVRequest from a JSON string +disable_dv_request_instance = DisableDVRequest.from_json(json) +# print the JSON string representation of the object +print(DisableDVRequest.to_json()) + +# convert the object into a dict +disable_dv_request_dict = disable_dv_request_instance.to_dict() +# create an instance of DisableDVRequest from a dict +disable_dv_request_from_dict = DisableDVRequest.from_dict(disable_dv_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DisableDVResponse.md b/src/visier.sdk.api.data_in/docs/DisableDVResponse.md new file mode 100644 index 000000000..66b2e3bd7 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DisableDVResponse.md @@ -0,0 +1,31 @@ +# DisableDVResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**results** | [**List[Result]**](Result.md) | A list of objects representing the disabling process. | [optional] +**total_failures** | **int** | The number of data versions that failed during the disabling process. | [optional] +**total_success** | **int** | The number of data versions that were disabled successfully. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.disable_dv_response import DisableDVResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of DisableDVResponse from a JSON string +disable_dv_response_instance = DisableDVResponse.from_json(json) +# print the JSON string representation of the object +print(DisableDVResponse.to_json()) + +# convert the object into a dict +disable_dv_response_dict = disable_dv_response_instance.to_dict() +# create an instance of DisableDVResponse from a dict +disable_dv_response_from_dict = DisableDVResponse.from_dict(disable_dv_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/DispatchingJobStatusResponse.md b/src/visier.sdk.api.data_in/docs/DispatchingJobStatusResponse.md new file mode 100644 index 000000000..482565ec9 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/DispatchingJobStatusResponse.md @@ -0,0 +1,32 @@ +# DispatchingJobStatusResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**job_id** | **str** | The ID of the dispatching job that generated the extraction jobs. | [optional] +**status** | **str** | The current state of the job. | [optional] +**tenant_code** | **str** | The tenant that owns the dispatching job. This is usually the administrating tenant. | [optional] +**total_jobs_dispatched** | **int** | The number of extraction jobs that were generated by the dispatching job. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.dispatching_job_status_response import DispatchingJobStatusResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of DispatchingJobStatusResponse from a JSON string +dispatching_job_status_response_instance = DispatchingJobStatusResponse.from_json(json) +# print the JSON string representation of the object +print(DispatchingJobStatusResponse.to_json()) + +# convert the object into a dict +dispatching_job_status_response_dict = dispatching_job_status_response_instance.to_dict() +# create an instance of DispatchingJobStatusResponse from a dict +dispatching_job_status_response_from_dict = DispatchingJobStatusResponse.from_dict(dispatching_job_status_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ExcludeDataUploadsRequest.md b/src/visier.sdk.api.data_in/docs/ExcludeDataUploadsRequest.md new file mode 100644 index 000000000..395f86640 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ExcludeDataUploadsRequest.md @@ -0,0 +1,29 @@ +# ExcludeDataUploadsRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**model** | [**UploadToExcludeModel**](UploadToExcludeModel.md) | A form body key that contains a collection of key-value pairs. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.exclude_data_uploads_request import ExcludeDataUploadsRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of ExcludeDataUploadsRequest from a JSON string +exclude_data_uploads_request_instance = ExcludeDataUploadsRequest.from_json(json) +# print the JSON string representation of the object +print(ExcludeDataUploadsRequest.to_json()) + +# convert the object into a dict +exclude_data_uploads_request_dict = exclude_data_uploads_request_instance.to_dict() +# create an instance of ExcludeDataUploadsRequest from a dict +exclude_data_uploads_request_from_dict = ExcludeDataUploadsRequest.from_dict(exclude_data_uploads_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ExtractionJob.md b/src/visier.sdk.api.data_in/docs/ExtractionJob.md new file mode 100644 index 000000000..8c498c592 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ExtractionJob.md @@ -0,0 +1,32 @@ +# ExtractionJob + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**current_stage** | **str** | The current stage of the job. This is not returned if the stage is \"Completed\". - Valid values: Initialize, Retrieve Main Subject, Retrieve Secondary Subjects, Retrieve Custom Subjects, Process Records, Publish Artifacts, Publish Records, Completed. | [optional] +**extraction_job_id** | **str** | The ID of the extraction job. | [optional] +**status** | **str** | The current state of the job. - Valid values: Pending, Running, Succeeded, Failed, Error, Cancelling, Cancelled, RolledBack, Rescheduling, Rescheduled. | [optional] +**tenant_code** | **str** | The tenant code of the analytic tenant for the extraction job. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.extraction_job import ExtractionJob + +# TODO update the JSON string below +json = "{}" +# create an instance of ExtractionJob from a JSON string +extraction_job_instance = ExtractionJob.from_json(json) +# print the JSON string representation of the object +print(ExtractionJob.to_json()) + +# convert the object into a dict +extraction_job_dict = extraction_job_instance.to_dict() +# create an instance of ExtractionJob from a dict +extraction_job_from_dict = ExtractionJob.from_dict(extraction_job_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ExtractionJobAndStatusResponse.md b/src/visier.sdk.api.data_in/docs/ExtractionJobAndStatusResponse.md new file mode 100644 index 000000000..c95463e03 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ExtractionJobAndStatusResponse.md @@ -0,0 +1,33 @@ +# ExtractionJobAndStatusResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**extraction_jobs** | [**List[ExtractionJob]**](ExtractionJob.md) | A list of extraction job information. | [optional] +**limit** | **int** | The number of extraction jobs to return. The maximum number of jobs to return is 1000. | [optional] +**parent_job_id** | **str** | The ID of the dispatching job that generated the extraction jobs. | [optional] +**parent_tenant_code** | **str** | The tenant that owns the dispatching job. This is usually the administrating tenant. | [optional] +**start** | **int** | The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.extraction_job_and_status_response import ExtractionJobAndStatusResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of ExtractionJobAndStatusResponse from a JSON string +extraction_job_and_status_response_instance = ExtractionJobAndStatusResponse.from_json(json) +# print the JSON string representation of the object +print(ExtractionJobAndStatusResponse.to_json()) + +# convert the object into a dict +extraction_job_and_status_response_dict = extraction_job_and_status_response_instance.to_dict() +# create an instance of ExtractionJobAndStatusResponse from a dict +extraction_job_and_status_response_from_dict = ExtractionJobAndStatusResponse.from_dict(extraction_job_and_status_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ExtractorCredentialAPIDTO.md b/src/visier.sdk.api.data_in/docs/ExtractorCredentialAPIDTO.md new file mode 100644 index 000000000..e17673629 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ExtractorCredentialAPIDTO.md @@ -0,0 +1,33 @@ +# ExtractorCredentialAPIDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auth_context** | **str** | | [optional] +**credential_id** | **str** | The ID associated with the connector credential. | [optional] +**data_provider** | **str** | The data provider associated with the credential. | [optional] +**display_name** | **str** | An identifiable connector credential name that is displayed within Visier. | [optional] +**is_inherited** | **bool** | Whether this credential is inherited from another tenant. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.extractor_credential_apidto import ExtractorCredentialAPIDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ExtractorCredentialAPIDTO from a JSON string +extractor_credential_apidto_instance = ExtractorCredentialAPIDTO.from_json(json) +# print the JSON string representation of the object +print(ExtractorCredentialAPIDTO.to_json()) + +# convert the object into a dict +extractor_credential_apidto_dict = extractor_credential_apidto_instance.to_dict() +# create an instance of ExtractorCredentialAPIDTO from a dict +extractor_credential_apidto_from_dict = ExtractorCredentialAPIDTO.from_dict(extractor_credential_apidto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ExtractorCredentialsAPIDTO.md b/src/visier.sdk.api.data_in/docs/ExtractorCredentialsAPIDTO.md new file mode 100644 index 000000000..e57dffd45 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ExtractorCredentialsAPIDTO.md @@ -0,0 +1,31 @@ +# ExtractorCredentialsAPIDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**connector_credentials** | [**List[ExtractorCredentialAPIDTO]**](ExtractorCredentialAPIDTO.md) | A list of objects representing all the available connector credentials in Production. | [optional] +**limit** | **int** | The number of connector credentials to return. The maximum number of data connector credentials to return is 1000. | [optional] +**start** | **int** | The index to start retrieving values from, also known as offset. The index begins at 0. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.extractor_credentials_apidto import ExtractorCredentialsAPIDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ExtractorCredentialsAPIDTO from a JSON string +extractor_credentials_apidto_instance = ExtractorCredentialsAPIDTO.from_json(json) +# print the JSON string representation of the object +print(ExtractorCredentialsAPIDTO.to_json()) + +# convert the object into a dict +extractor_credentials_apidto_dict = extractor_credentials_apidto_instance.to_dict() +# create an instance of ExtractorCredentialsAPIDTO from a dict +extractor_credentials_apidto_from_dict = ExtractorCredentialsAPIDTO.from_dict(extractor_credentials_apidto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/FusionAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/FusionAuthParamsDTO.md new file mode 100644 index 000000000..61a84e666 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/FusionAuthParamsDTO.md @@ -0,0 +1,31 @@ +# FusionAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**host_domain_name** | **str** | | [optional] +**password** | **str** | | [optional] +**username** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.fusion_auth_params_dto import FusionAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of FusionAuthParamsDTO from a JSON string +fusion_auth_params_dto_instance = FusionAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(FusionAuthParamsDTO.to_json()) + +# convert the object into a dict +fusion_auth_params_dto_dict = fusion_auth_params_dto_instance.to_dict() +# create an instance of FusionAuthParamsDTO from a dict +fusion_auth_params_dto_from_dict = FusionAuthParamsDTO.from_dict(fusion_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/GongAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/GongAuthParamsDTO.md new file mode 100644 index 000000000..ed262ec1f --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/GongAuthParamsDTO.md @@ -0,0 +1,30 @@ +# GongAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**client_id** | **str** | | [optional] +**client_secret** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.gong_auth_params_dto import GongAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of GongAuthParamsDTO from a JSON string +gong_auth_params_dto_instance = GongAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(GongAuthParamsDTO.to_json()) + +# convert the object into a dict +gong_auth_params_dto_dict = gong_auth_params_dto_instance.to_dict() +# create an instance of GongAuthParamsDTO from a dict +gong_auth_params_dto_from_dict = GongAuthParamsDTO.from_dict(gong_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/GoogleProtobufAny.md b/src/visier.sdk.api.data_in/docs/GoogleProtobufAny.md new file mode 100644 index 000000000..e97d4153c --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/GoogleProtobufAny.md @@ -0,0 +1,30 @@ +# GoogleProtobufAny + +Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | The type of the serialized message. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.google_protobuf_any import GoogleProtobufAny + +# TODO update the JSON string below +json = "{}" +# create an instance of GoogleProtobufAny from a JSON string +google_protobuf_any_instance = GoogleProtobufAny.from_json(json) +# print the JSON string representation of the object +print(GoogleProtobufAny.to_json()) + +# convert the object into a dict +google_protobuf_any_dict = google_protobuf_any_instance.to_dict() +# create an instance of GoogleProtobufAny from a dict +google_protobuf_any_from_dict = GoogleProtobufAny.from_dict(google_protobuf_any_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/GoogleSheetsAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/GoogleSheetsAuthParamsDTO.md new file mode 100644 index 000000000..54e3133a8 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/GoogleSheetsAuthParamsDTO.md @@ -0,0 +1,32 @@ +# GoogleSheetsAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auth_code** | **str** | | [optional] +**client_id** | **str** | | [optional] +**client_secret** | **str** | | [optional] +**configuration** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.google_sheets_auth_params_dto import GoogleSheetsAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of GoogleSheetsAuthParamsDTO from a JSON string +google_sheets_auth_params_dto_instance = GoogleSheetsAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(GoogleSheetsAuthParamsDTO.to_json()) + +# convert the object into a dict +google_sheets_auth_params_dto_dict = google_sheets_auth_params_dto_instance.to_dict() +# create an instance of GoogleSheetsAuthParamsDTO from a dict +google_sheets_auth_params_dto_from_dict = GoogleSheetsAuthParamsDTO.from_dict(google_sheets_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/GoogleWorkspaceAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/GoogleWorkspaceAuthParamsDTO.md new file mode 100644 index 000000000..d9a355186 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/GoogleWorkspaceAuthParamsDTO.md @@ -0,0 +1,31 @@ +# GoogleWorkspaceAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auth_code** | **str** | | [optional] +**client_id** | **str** | | [optional] +**client_secret** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.google_workspace_auth_params_dto import GoogleWorkspaceAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of GoogleWorkspaceAuthParamsDTO from a JSON string +google_workspace_auth_params_dto_instance = GoogleWorkspaceAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(GoogleWorkspaceAuthParamsDTO.to_json()) + +# convert the object into a dict +google_workspace_auth_params_dto_dict = google_workspace_auth_params_dto_instance.to_dict() +# create an instance of GoogleWorkspaceAuthParamsDTO from a dict +google_workspace_auth_params_dto_from_dict = GoogleWorkspaceAuthParamsDTO.from_dict(google_workspace_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/GreenhouseAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/GreenhouseAuthParamsDTO.md new file mode 100644 index 000000000..50a46351b --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/GreenhouseAuthParamsDTO.md @@ -0,0 +1,29 @@ +# GreenhouseAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_key** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.greenhouse_auth_params_dto import GreenhouseAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of GreenhouseAuthParamsDTO from a JSON string +greenhouse_auth_params_dto_instance = GreenhouseAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(GreenhouseAuthParamsDTO.to_json()) + +# convert the object into a dict +greenhouse_auth_params_dto_dict = greenhouse_auth_params_dto_instance.to_dict() +# create an instance of GreenhouseAuthParamsDTO from a dict +greenhouse_auth_params_dto_from_dict = GreenhouseAuthParamsDTO.from_dict(greenhouse_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/IcimsAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/IcimsAuthParamsDTO.md new file mode 100644 index 000000000..ac332c36b --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/IcimsAuthParamsDTO.md @@ -0,0 +1,31 @@ +# IcimsAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**customer_id** | **str** | | [optional] +**password** | **str** | | [optional] +**username** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.icims_auth_params_dto import IcimsAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of IcimsAuthParamsDTO from a JSON string +icims_auth_params_dto_instance = IcimsAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(IcimsAuthParamsDTO.to_json()) + +# convert the object into a dict +icims_auth_params_dto_dict = icims_auth_params_dto_instance.to_dict() +# create an instance of IcimsAuthParamsDTO from a dict +icims_auth_params_dto_from_dict = IcimsAuthParamsDTO.from_dict(icims_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ImportDefinitionAPIDTO.md b/src/visier.sdk.api.data_in/docs/ImportDefinitionAPIDTO.md new file mode 100644 index 000000000..95c54be75 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ImportDefinitionAPIDTO.md @@ -0,0 +1,31 @@ +# ImportDefinitionAPIDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**connector_id** | **str** | The ID associated with the data connector. | [optional] +**credential_id** | **str** | The ID associated with the connector credentials currently assigned to this data connector. | [optional] +**display_name** | **str** | An identifiable data connector name that is displayed within Visier. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.import_definition_apidto import ImportDefinitionAPIDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ImportDefinitionAPIDTO from a JSON string +import_definition_apidto_instance = ImportDefinitionAPIDTO.from_json(json) +# print the JSON string representation of the object +print(ImportDefinitionAPIDTO.to_json()) + +# convert the object into a dict +import_definition_apidto_dict = import_definition_apidto_instance.to_dict() +# create an instance of ImportDefinitionAPIDTO from a dict +import_definition_apidto_from_dict = ImportDefinitionAPIDTO.from_dict(import_definition_apidto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ImportDefinitionsAPIDTO.md b/src/visier.sdk.api.data_in/docs/ImportDefinitionsAPIDTO.md new file mode 100644 index 000000000..17d828a88 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ImportDefinitionsAPIDTO.md @@ -0,0 +1,31 @@ +# ImportDefinitionsAPIDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_connectors** | [**List[ImportDefinitionAPIDTO]**](ImportDefinitionAPIDTO.md) | A list of objects representing all the available data connectors in Production. | [optional] +**limit** | **int** | The number of data connectors to return. The maximum number of data connectors to return is 1000. | [optional] +**start** | **int** | The index to start retrieving values from, also known as offset. The index begins at 0. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.import_definitions_apidto import ImportDefinitionsAPIDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ImportDefinitionsAPIDTO from a JSON string +import_definitions_apidto_instance = ImportDefinitionsAPIDTO.from_json(json) +# print the JSON string representation of the object +print(ImportDefinitionsAPIDTO.to_json()) + +# convert the object into a dict +import_definitions_apidto_dict = import_definitions_apidto_instance.to_dict() +# create an instance of ImportDefinitionsAPIDTO from a dict +import_definitions_apidto_from_dict = ImportDefinitionsAPIDTO.from_dict(import_definitions_apidto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/IncludeDataUploadsRequest.md b/src/visier.sdk.api.data_in/docs/IncludeDataUploadsRequest.md new file mode 100644 index 000000000..4b1765096 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/IncludeDataUploadsRequest.md @@ -0,0 +1,29 @@ +# IncludeDataUploadsRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**model** | [**UploadToIncludeModel**](UploadToIncludeModel.md) | A form body key that contains a collection of key-value pairs. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.include_data_uploads_request import IncludeDataUploadsRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of IncludeDataUploadsRequest from a JSON string +include_data_uploads_request_instance = IncludeDataUploadsRequest.from_json(json) +# print the JSON string representation of the object +print(IncludeDataUploadsRequest.to_json()) + +# convert the object into a dict +include_data_uploads_request_dict = include_data_uploads_request_instance.to_dict() +# create an instance of IncludeDataUploadsRequest from a dict +include_data_uploads_request_from_dict = IncludeDataUploadsRequest.from_dict(include_data_uploads_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/InternalS3AuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/InternalS3AuthParamsDTO.md new file mode 100644 index 000000000..f6f99fb63 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/InternalS3AuthParamsDTO.md @@ -0,0 +1,30 @@ +# InternalS3AuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bucket_name** | **str** | | [optional] +**path** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.internal_s3_auth_params_dto import InternalS3AuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of InternalS3AuthParamsDTO from a JSON string +internal_s3_auth_params_dto_instance = InternalS3AuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(InternalS3AuthParamsDTO.to_json()) + +# convert the object into a dict +internal_s3_auth_params_dto_dict = internal_s3_auth_params_dto_instance.to_dict() +# create an instance of InternalS3AuthParamsDTO from a dict +internal_s3_auth_params_dto_from_dict = InternalS3AuthParamsDTO.from_dict(internal_s3_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/JdbcAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/JdbcAuthParamsDTO.md new file mode 100644 index 000000000..1b0e40367 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/JdbcAuthParamsDTO.md @@ -0,0 +1,31 @@ +# JdbcAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**jdbc_connect_string** | **str** | | [optional] +**password** | **str** | | [optional] +**username** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.jdbc_auth_params_dto import JdbcAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of JdbcAuthParamsDTO from a JSON string +jdbc_auth_params_dto_instance = JdbcAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(JdbcAuthParamsDTO.to_json()) + +# convert the object into a dict +jdbc_auth_params_dto_dict = jdbc_auth_params_dto_instance.to_dict() +# create an instance of JdbcAuthParamsDTO from a dict +jdbc_auth_params_dto_from_dict = JdbcAuthParamsDTO.from_dict(jdbc_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/JiraAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/JiraAuthParamsDTO.md new file mode 100644 index 000000000..2f585ec53 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/JiraAuthParamsDTO.md @@ -0,0 +1,31 @@ +# JiraAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_token** | **str** | | [optional] +**connect_params** | [**JiraConnectParamsDTO**](JiraConnectParamsDTO.md) | | [optional] +**host_name** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.jira_auth_params_dto import JiraAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of JiraAuthParamsDTO from a JSON string +jira_auth_params_dto_instance = JiraAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(JiraAuthParamsDTO.to_json()) + +# convert the object into a dict +jira_auth_params_dto_dict = jira_auth_params_dto_instance.to_dict() +# create an instance of JiraAuthParamsDTO from a dict +jira_auth_params_dto_from_dict = JiraAuthParamsDTO.from_dict(jira_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/JiraConnectParamsDTO.md b/src/visier.sdk.api.data_in/docs/JiraConnectParamsDTO.md new file mode 100644 index 000000000..5836e8899 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/JiraConnectParamsDTO.md @@ -0,0 +1,31 @@ +# JiraConnectParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app_key** | **str** | | [optional] +**client_key** | **str** | | [optional] +**shared_secret** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.jira_connect_params_dto import JiraConnectParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of JiraConnectParamsDTO from a JSON string +jira_connect_params_dto_instance = JiraConnectParamsDTO.from_json(json) +# print the JSON string representation of the object +print(JiraConnectParamsDTO.to_json()) + +# convert the object into a dict +jira_connect_params_dto_dict = jira_connect_params_dto_instance.to_dict() +# create an instance of JiraConnectParamsDTO from a dict +jira_connect_params_dto_from_dict = JiraConnectParamsDTO.from_dict(jira_connect_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/JobCancellationResultDTO.md b/src/visier.sdk.api.data_in/docs/JobCancellationResultDTO.md new file mode 100644 index 000000000..d7b420662 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/JobCancellationResultDTO.md @@ -0,0 +1,35 @@ +# JobCancellationResultDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cancel_status** | **str** | The status of the cancellation. | [optional] +**job_id** | **str** | The job ID of the job that the cancel operation was conducted for. | [optional] +**job_status** | **str** | The job status after the cancel operation. If successful, the status is either Cancelled or Cancelling. | [optional] +**job_type** | **str** | The job type associated with the job ID. | [optional] +**message** | **str** | If applicable, the message explains what errors occurred while cancelling the jobs. | [optional] +**parent_job_id** | **str** | If applicable, the job ID of the job that spawned the given job. | [optional] +**tenant_code** | **str** | The analytic tenant whose job the cancel operation was conducted for. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.job_cancellation_result_dto import JobCancellationResultDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of JobCancellationResultDTO from a JSON string +job_cancellation_result_dto_instance = JobCancellationResultDTO.from_json(json) +# print the JSON string representation of the object +print(JobCancellationResultDTO.to_json()) + +# convert the object into a dict +job_cancellation_result_dto_dict = job_cancellation_result_dto_instance.to_dict() +# create an instance of JobCancellationResultDTO from a dict +job_cancellation_result_dto_from_dict = JobCancellationResultDTO.from_dict(job_cancellation_result_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/JobCancellationResultsDTO.md b/src/visier.sdk.api.data_in/docs/JobCancellationResultsDTO.md new file mode 100644 index 000000000..f12ba6037 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/JobCancellationResultsDTO.md @@ -0,0 +1,29 @@ +# JobCancellationResultsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**job_cancellation_results** | [**List[JobCancellationResultDTO]**](JobCancellationResultDTO.md) | A list of objects representing the job cancellation results. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.job_cancellation_results_dto import JobCancellationResultsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of JobCancellationResultsDTO from a JSON string +job_cancellation_results_dto_instance = JobCancellationResultsDTO.from_json(json) +# print the JSON string representation of the object +print(JobCancellationResultsDTO.to_json()) + +# convert the object into a dict +job_cancellation_results_dto_dict = job_cancellation_results_dto_instance.to_dict() +# create an instance of JobCancellationResultsDTO from a dict +job_cancellation_results_dto_from_dict = JobCancellationResultsDTO.from_dict(job_cancellation_results_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/JobStatusListResponse.md b/src/visier.sdk.api.data_in/docs/JobStatusListResponse.md new file mode 100644 index 000000000..ae7badd98 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/JobStatusListResponse.md @@ -0,0 +1,31 @@ +# JobStatusListResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**job_status** | [**List[JobStatusWithStartTime]**](JobStatusWithStartTime.md) | The specific status to restrict the list of jobs to. | [optional] +**query_end_time** | **str** | The end time from which to retrieve job statuses. | [optional] +**query_start_time** | **str** | The start time from which to retrieve job statuses. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.job_status_list_response import JobStatusListResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of JobStatusListResponse from a JSON string +job_status_list_response_instance = JobStatusListResponse.from_json(json) +# print the JSON string representation of the object +print(JobStatusListResponse.to_json()) + +# convert the object into a dict +job_status_list_response_dict = job_status_list_response_instance.to_dict() +# create an instance of JobStatusListResponse from a dict +job_status_list_response_from_dict = JobStatusListResponse.from_dict(job_status_list_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/JobStatusWithStartTime.md b/src/visier.sdk.api.data_in/docs/JobStatusWithStartTime.md new file mode 100644 index 000000000..c14cddfc7 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/JobStatusWithStartTime.md @@ -0,0 +1,33 @@ +# JobStatusWithStartTime + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**job_id** | **str** | The unique ID of the job. | [optional] +**job_type** | **str** | The type of the job, such as a processing job or receiving job. | [optional] +**start_time** | **str** | The time that the job started. | [optional] +**status** | **str** | The status of the job, such as Running or Completed. | [optional] +**tenant** | **str** | The tenant code. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.job_status_with_start_time import JobStatusWithStartTime + +# TODO update the JSON string below +json = "{}" +# create an instance of JobStatusWithStartTime from a JSON string +job_status_with_start_time_instance = JobStatusWithStartTime.from_json(json) +# print the JSON string representation of the object +print(JobStatusWithStartTime.to_json()) + +# convert the object into a dict +job_status_with_start_time_dict = job_status_with_start_time_instance.to_dict() +# create an instance of JobStatusWithStartTime from a dict +job_status_with_start_time_from_dict = JobStatusWithStartTime.from_dict(job_status_with_start_time_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/LeverAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/LeverAuthParamsDTO.md new file mode 100644 index 000000000..393c0b2d2 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/LeverAuthParamsDTO.md @@ -0,0 +1,29 @@ +# LeverAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_key** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.lever_auth_params_dto import LeverAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of LeverAuthParamsDTO from a JSON string +lever_auth_params_dto_instance = LeverAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(LeverAuthParamsDTO.to_json()) + +# convert the object into a dict +lever_auth_params_dto_dict = lever_auth_params_dto_instance.to_dict() +# create an instance of LeverAuthParamsDTO from a dict +lever_auth_params_dto_from_dict = LeverAuthParamsDTO.from_dict(lever_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/MedalliaAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/MedalliaAuthParamsDTO.md new file mode 100644 index 000000000..ff9a9c55e --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/MedalliaAuthParamsDTO.md @@ -0,0 +1,32 @@ +# MedalliaAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**client_id** | **str** | | [optional] +**client_secret** | **str** | | [optional] +**instance_url** | **str** | | [optional] +**tenant_domain_name** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.medallia_auth_params_dto import MedalliaAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MedalliaAuthParamsDTO from a JSON string +medallia_auth_params_dto_instance = MedalliaAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(MedalliaAuthParamsDTO.to_json()) + +# convert the object into a dict +medallia_auth_params_dto_dict = medallia_auth_params_dto_instance.to_dict() +# create an instance of MedalliaAuthParamsDTO from a dict +medallia_auth_params_dto_from_dict = MedalliaAuthParamsDTO.from_dict(medallia_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/Microsoft365AuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/Microsoft365AuthParamsDTO.md new file mode 100644 index 000000000..bba75503c --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/Microsoft365AuthParamsDTO.md @@ -0,0 +1,31 @@ +# Microsoft365AuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**client_id** | **str** | | [optional] +**client_secret** | **str** | | [optional] +**o_auth_tenant_id** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.microsoft365_auth_params_dto import Microsoft365AuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of Microsoft365AuthParamsDTO from a JSON string +microsoft365_auth_params_dto_instance = Microsoft365AuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(Microsoft365AuthParamsDTO.to_json()) + +# convert the object into a dict +microsoft365_auth_params_dto_dict = microsoft365_auth_params_dto_instance.to_dict() +# create an instance of Microsoft365AuthParamsDTO from a dict +microsoft365_auth_params_dto_from_dict = Microsoft365AuthParamsDTO.from_dict(microsoft365_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/MultipleTenantDataVersionsDetailsDTO.md b/src/visier.sdk.api.data_in/docs/MultipleTenantDataVersionsDetailsDTO.md new file mode 100644 index 000000000..4bc15d899 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/MultipleTenantDataVersionsDetailsDTO.md @@ -0,0 +1,30 @@ +# MultipleTenantDataVersionsDetailsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_versions** | [**List[DataVersionAndDateDTO]**](DataVersionAndDateDTO.md) | The latest enabled data versions for the given analytic tenant. If the analytic tenant has no enabled data versions, an empty string \"\" is returned. | [optional] +**tenant_code** | **str** | The owner of the data versions. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.multiple_tenant_data_versions_details_dto import MultipleTenantDataVersionsDetailsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MultipleTenantDataVersionsDetailsDTO from a JSON string +multiple_tenant_data_versions_details_dto_instance = MultipleTenantDataVersionsDetailsDTO.from_json(json) +# print the JSON string representation of the object +print(MultipleTenantDataVersionsDetailsDTO.to_json()) + +# convert the object into a dict +multiple_tenant_data_versions_details_dto_dict = multiple_tenant_data_versions_details_dto_instance.to_dict() +# create an instance of MultipleTenantDataVersionsDetailsDTO from a dict +multiple_tenant_data_versions_details_dto_from_dict = MultipleTenantDataVersionsDetailsDTO.from_dict(multiple_tenant_data_versions_details_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/MultipleTenantDataVersionsListDTO.md b/src/visier.sdk.api.data_in/docs/MultipleTenantDataVersionsListDTO.md new file mode 100644 index 000000000..4d37e16f7 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/MultipleTenantDataVersionsListDTO.md @@ -0,0 +1,31 @@ +# MultipleTenantDataVersionsListDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | The number of analytic tenants to retrieve. The maximum number to retrieve is 1000. | [optional] +**start** | **int** | The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] +**tenants** | [**List[MultipleTenantDataVersionsDetailsDTO]**](MultipleTenantDataVersionsDetailsDTO.md) | A list of analytic tenants and their latest enabled data versions. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.multiple_tenant_data_versions_list_dto import MultipleTenantDataVersionsListDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MultipleTenantDataVersionsListDTO from a JSON string +multiple_tenant_data_versions_list_dto_instance = MultipleTenantDataVersionsListDTO.from_json(json) +# print the JSON string representation of the object +print(MultipleTenantDataVersionsListDTO.to_json()) + +# convert the object into a dict +multiple_tenant_data_versions_list_dto_dict = multiple_tenant_data_versions_list_dto_instance.to_dict() +# create an instance of MultipleTenantDataVersionsListDTO from a dict +multiple_tenant_data_versions_list_dto_from_dict = MultipleTenantDataVersionsListDTO.from_dict(multiple_tenant_data_versions_list_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/MySqlAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/MySqlAuthParamsDTO.md new file mode 100644 index 000000000..2319e1a81 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/MySqlAuthParamsDTO.md @@ -0,0 +1,34 @@ +# MySqlAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**database** | **str** | | [optional] +**host** | **str** | | [optional] +**password** | **str** | | [optional] +**port** | **str** | | [optional] +**ssl_mode** | **str** | | [optional] +**username** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.my_sql_auth_params_dto import MySqlAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MySqlAuthParamsDTO from a JSON string +my_sql_auth_params_dto_instance = MySqlAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(MySqlAuthParamsDTO.to_json()) + +# convert the object into a dict +my_sql_auth_params_dto_dict = my_sql_auth_params_dto_instance.to_dict() +# create an instance of MySqlAuthParamsDTO from a dict +my_sql_auth_params_dto_from_dict = MySqlAuthParamsDTO.from_dict(my_sql_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/NamelyAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/NamelyAuthParamsDTO.md new file mode 100644 index 000000000..887fcf7a9 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/NamelyAuthParamsDTO.md @@ -0,0 +1,29 @@ +# NamelyAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auth_code** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.namely_auth_params_dto import NamelyAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of NamelyAuthParamsDTO from a JSON string +namely_auth_params_dto_instance = NamelyAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(NamelyAuthParamsDTO.to_json()) + +# convert the object into a dict +namely_auth_params_dto_dict = namely_auth_params_dto_instance.to_dict() +# create an instance of NamelyAuthParamsDTO from a dict +namely_auth_params_dto_from_dict = NamelyAuthParamsDTO.from_dict(namely_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/OracleDbAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/OracleDbAuthParamsDTO.md new file mode 100644 index 000000000..616203cf8 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/OracleDbAuthParamsDTO.md @@ -0,0 +1,33 @@ +# OracleDbAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**host** | **str** | | [optional] +**password** | **str** | | [optional] +**port** | **str** | | [optional] +**service_name** | **str** | | [optional] +**username** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.oracle_db_auth_params_dto import OracleDbAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of OracleDbAuthParamsDTO from a JSON string +oracle_db_auth_params_dto_instance = OracleDbAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(OracleDbAuthParamsDTO.to_json()) + +# convert the object into a dict +oracle_db_auth_params_dto_dict = oracle_db_auth_params_dto_instance.to_dict() +# create an instance of OracleDbAuthParamsDTO from a dict +oracle_db_auth_params_dto_from_dict = OracleDbAuthParamsDTO.from_dict(oracle_db_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ProcessingJob.md b/src/visier.sdk.api.data_in/docs/ProcessingJob.md new file mode 100644 index 000000000..375f7a088 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ProcessingJob.md @@ -0,0 +1,33 @@ +# ProcessingJob + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_version** | **str** | The data version associated with the processing job. | [optional] +**job_id** | **str** | The job ID of the processing job for the analytic tenant. | [optional] +**message** | **str** | A meaningful message about the processing job. | [optional] +**status** | **str** | The status of the receiving job for the analytic tenant. | [optional] +**tenant_code** | **str** | The analytic tenant code. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.processing_job import ProcessingJob + +# TODO update the JSON string below +json = "{}" +# create an instance of ProcessingJob from a JSON string +processing_job_instance = ProcessingJob.from_json(json) +# print the JSON string representation of the object +print(ProcessingJob.to_json()) + +# convert the object into a dict +processing_job_dict = processing_job_instance.to_dict() +# create an instance of ProcessingJob from a dict +processing_job_from_dict = ProcessingJob.from_dict(processing_job_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ProcessingJobAndStatusResponse.md b/src/visier.sdk.api.data_in/docs/ProcessingJobAndStatusResponse.md new file mode 100644 index 000000000..9aff2b991 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ProcessingJobAndStatusResponse.md @@ -0,0 +1,33 @@ +# ProcessingJobAndStatusResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | The number of processing jobs to return. The maximum number of jobs to return is 1000. | [optional] +**parent_job_id** | **str** | The ID of the dispatching job that generated the extraction jobs. | [optional] +**parent_tenant_code** | **str** | The tenant that owns the dispatching job. This is usually the administrating tenant. | [optional] +**processing_jobs** | [**List[ProcessingJob]**](ProcessingJob.md) | A list of processing job information. | [optional] +**start** | **int** | The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.processing_job_and_status_response import ProcessingJobAndStatusResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of ProcessingJobAndStatusResponse from a JSON string +processing_job_and_status_response_instance = ProcessingJobAndStatusResponse.from_json(json) +# print the JSON string representation of the object +print(ProcessingJobAndStatusResponse.to_json()) + +# convert the object into a dict +processing_job_and_status_response_dict = processing_job_and_status_response_instance.to_dict() +# create an instance of ProcessingJobAndStatusResponse from a dict +processing_job_and_status_response_from_dict = ProcessingJobAndStatusResponse.from_dict(processing_job_and_status_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ProcessingJobStatusResponse.md b/src/visier.sdk.api.data_in/docs/ProcessingJobStatusResponse.md new file mode 100644 index 000000000..178ac3079 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ProcessingJobStatusResponse.md @@ -0,0 +1,33 @@ +# ProcessingJobStatusResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | The limit of processing jobs to retrieve per page. | [optional] +**parent_job_id** | **str** | The job ID of the receiving job that spawned this job. | [optional] +**parent_tenant_code** | **str** | The tenant code of the receiving job that spawned this job. | [optional] +**processing_jobs** | [**List[ProcessingJob]**](ProcessingJob.md) | A list of objects representing the processing jobs to retrieve. | [optional] +**start** | **int** | The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.processing_job_status_response import ProcessingJobStatusResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of ProcessingJobStatusResponse from a JSON string +processing_job_status_response_instance = ProcessingJobStatusResponse.from_json(json) +# print the JSON string representation of the object +print(ProcessingJobStatusResponse.to_json()) + +# convert the object into a dict +processing_job_status_response_dict = processing_job_status_response_instance.to_dict() +# create an instance of ProcessingJobStatusResponse from a dict +processing_job_status_response_from_dict = ProcessingJobStatusResponse.from_dict(processing_job_status_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/PushDataCancelResponse.md b/src/visier.sdk.api.data_in/docs/PushDataCancelResponse.md new file mode 100644 index 000000000..0699a691d --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/PushDataCancelResponse.md @@ -0,0 +1,32 @@ +# PushDataCancelResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_transfer_result_details** | [**List[DataTransferResultDetail]**](DataTransferResultDetail.md) | A list of objects representing the results of the transfer session. | [optional] +**message** | **str** | A meaningful message about the transfer session. | [optional] +**status** | **str** | The status of the transfer session. A cancelled session returns the status CANCELLED. | [optional] +**transfer_session_id** | **str** | The unique identifier associated with the transfer session. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.push_data_cancel_response import PushDataCancelResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PushDataCancelResponse from a JSON string +push_data_cancel_response_instance = PushDataCancelResponse.from_json(json) +# print the JSON string representation of the object +print(PushDataCancelResponse.to_json()) + +# convert the object into a dict +push_data_cancel_response_dict = push_data_cancel_response_instance.to_dict() +# create an instance of PushDataCancelResponse from a dict +push_data_cancel_response_from_dict = PushDataCancelResponse.from_dict(push_data_cancel_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/PushDataColumnDefinitionDTO.md b/src/visier.sdk.api.data_in/docs/PushDataColumnDefinitionDTO.md new file mode 100644 index 000000000..83cc456f9 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/PushDataColumnDefinitionDTO.md @@ -0,0 +1,35 @@ +# PushDataColumnDefinitionDTO + +Definition of the source column. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**allow_empty** | **bool** | If true, the column allows an empty value for the record. | [optional] +**column_name** | **str** | The name of the column. | [optional] +**data_formats** | **List[str]** | The expected format for datetime data types. | [optional] +**data_type** | **str** | The data type associated with the column. | [optional] +**default_value** | **str** | The default value of the column. | [optional] +**is_mandatory** | **bool** | If true, the column value is required. If a column is mandatory, and the file is missing this column, the request will fail. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.push_data_column_definition_dto import PushDataColumnDefinitionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PushDataColumnDefinitionDTO from a JSON string +push_data_column_definition_dto_instance = PushDataColumnDefinitionDTO.from_json(json) +# print the JSON string representation of the object +print(PushDataColumnDefinitionDTO.to_json()) + +# convert the object into a dict +push_data_column_definition_dto_dict = push_data_column_definition_dto_instance.to_dict() +# create an instance of PushDataColumnDefinitionDTO from a dict +push_data_column_definition_dto_from_dict = PushDataColumnDefinitionDTO.from_dict(push_data_column_definition_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/PushDataCompleteRequest.md b/src/visier.sdk.api.data_in/docs/PushDataCompleteRequest.md new file mode 100644 index 000000000..8d1e3e8c8 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/PushDataCompleteRequest.md @@ -0,0 +1,30 @@ +# PushDataCompleteRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**processing_data** | **bool** | If `true`, a processing job will be triggered after the receiving job successfully completes. This generates a new data version. | [optional] +**transfer_session_id** | **str** | The unique identifier associated with the transfer session. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.push_data_complete_request import PushDataCompleteRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of PushDataCompleteRequest from a JSON string +push_data_complete_request_instance = PushDataCompleteRequest.from_json(json) +# print the JSON string representation of the object +print(PushDataCompleteRequest.to_json()) + +# convert the object into a dict +push_data_complete_request_dict = push_data_complete_request_instance.to_dict() +# create an instance of PushDataCompleteRequest from a dict +push_data_complete_request_from_dict = PushDataCompleteRequest.from_dict(push_data_complete_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/PushDataCompleteResponse.md b/src/visier.sdk.api.data_in/docs/PushDataCompleteResponse.md new file mode 100644 index 000000000..d1d167f2b --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/PushDataCompleteResponse.md @@ -0,0 +1,33 @@ +# PushDataCompleteResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_receiving_job_id** | **str** | The unique identifier associated with the receiving job. | [optional] +**data_transfer_result_details** | [**List[DataTransferResultDetail]**](DataTransferResultDetail.md) | A list of objects representing the results of the transfer session. | [optional] +**message** | **str** | A meaningful message about the transfer session. | [optional] +**status** | **str** | The status of the transfer session. A completed session returns the status SUCCEED. | [optional] +**transfer_session_id** | **str** | The unique identifier associated with the transfer session. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.push_data_complete_response import PushDataCompleteResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PushDataCompleteResponse from a JSON string +push_data_complete_response_instance = PushDataCompleteResponse.from_json(json) +# print the JSON string representation of the object +print(PushDataCompleteResponse.to_json()) + +# convert the object into a dict +push_data_complete_response_dict = push_data_complete_response_instance.to_dict() +# create an instance of PushDataCompleteResponse from a dict +push_data_complete_response_from_dict = PushDataCompleteResponse.from_dict(push_data_complete_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/PushDataResponse.md b/src/visier.sdk.api.data_in/docs/PushDataResponse.md new file mode 100644 index 000000000..7527ddf0b --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/PushDataResponse.md @@ -0,0 +1,33 @@ +# PushDataResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **str** | Any additional information about the data transfer. | [optional] +**sequence** | **int** | The unique sequence number associated with a batch of records. | [optional] +**status** | **str** | The status of the data transfer. | [optional] +**tenants** | [**List[Tenant]**](Tenant.md) | A list of strings representing the tenants that data was pushed to and their data transfer results. | [optional] +**transfer_session_id** | **str** | The unique identifier associated with the transfer session. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.push_data_response import PushDataResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PushDataResponse from a JSON string +push_data_response_instance = PushDataResponse.from_json(json) +# print the JSON string representation of the object +print(PushDataResponse.to_json()) + +# convert the object into a dict +push_data_response_dict = push_data_response_instance.to_dict() +# create an instance of PushDataResponse from a dict +push_data_response_from_dict = PushDataResponse.from_dict(push_data_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/PushDataSourceDefinitionDTO.md b/src/visier.sdk.api.data_in/docs/PushDataSourceDefinitionDTO.md new file mode 100644 index 000000000..991c01483 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/PushDataSourceDefinitionDTO.md @@ -0,0 +1,33 @@ +# PushDataSourceDefinitionDTO + +Details of each existing source. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**columns** | [**List[PushDataColumnDefinitionDTO]**](PushDataColumnDefinitionDTO.md) | A list of objects representing the source columns. | [optional] +**is_inherited** | **bool** | If true, the source is inherited by all analytic tenants. | [optional] +**name** | **str** | The object name of the source. | [optional] +**source_id** | **str** | The unique identifier associated with the source. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.push_data_source_definition_dto import PushDataSourceDefinitionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PushDataSourceDefinitionDTO from a JSON string +push_data_source_definition_dto_instance = PushDataSourceDefinitionDTO.from_json(json) +# print the JSON string representation of the object +print(PushDataSourceDefinitionDTO.to_json()) + +# convert the object into a dict +push_data_source_definition_dto_dict = push_data_source_definition_dto_instance.to_dict() +# create an instance of PushDataSourceDefinitionDTO from a dict +push_data_source_definition_dto_from_dict = PushDataSourceDefinitionDTO.from_dict(push_data_source_definition_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/PushDataSourceDefinitionsDTO.md b/src/visier.sdk.api.data_in/docs/PushDataSourceDefinitionsDTO.md new file mode 100644 index 000000000..0169df20c --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/PushDataSourceDefinitionsDTO.md @@ -0,0 +1,30 @@ +# PushDataSourceDefinitionsDTO + +The existing sources. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sources** | [**List[PushDataSourceDefinitionDTO]**](PushDataSourceDefinitionDTO.md) | A list of objects representing the target sources for the request. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.push_data_source_definitions_dto import PushDataSourceDefinitionsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PushDataSourceDefinitionsDTO from a JSON string +push_data_source_definitions_dto_instance = PushDataSourceDefinitionsDTO.from_json(json) +# print the JSON string representation of the object +print(PushDataSourceDefinitionsDTO.to_json()) + +# convert the object into a dict +push_data_source_definitions_dto_dict = push_data_source_definitions_dto_instance.to_dict() +# create an instance of PushDataSourceDefinitionsDTO from a dict +push_data_source_definitions_dto_from_dict = PushDataSourceDefinitionsDTO.from_dict(push_data_source_definitions_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/QualtricsAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/QualtricsAuthParamsDTO.md new file mode 100644 index 000000000..b6249c067 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/QualtricsAuthParamsDTO.md @@ -0,0 +1,30 @@ +# QualtricsAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_token** | **str** | | [optional] +**data_center_id** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.qualtrics_auth_params_dto import QualtricsAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QualtricsAuthParamsDTO from a JSON string +qualtrics_auth_params_dto_instance = QualtricsAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(QualtricsAuthParamsDTO.to_json()) + +# convert the object into a dict +qualtrics_auth_params_dto_dict = qualtrics_auth_params_dto_instance.to_dict() +# create an instance of QualtricsAuthParamsDTO from a dict +qualtrics_auth_params_dto_from_dict = QualtricsAuthParamsDTO.from_dict(qualtrics_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ReceivingJob.md b/src/visier.sdk.api.data_in/docs/ReceivingJob.md new file mode 100644 index 000000000..1011f9ee6 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ReceivingJob.md @@ -0,0 +1,31 @@ +# ReceivingJob + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**receiving_job_id** | **str** | The job ID of the receiving job for the analytic tenant. | [optional] +**status** | **str** | The status of the receiving job for the analytic tenant. | [optional] +**tenant_code** | **str** | The analytic tenant code. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.receiving_job import ReceivingJob + +# TODO update the JSON string below +json = "{}" +# create an instance of ReceivingJob from a JSON string +receiving_job_instance = ReceivingJob.from_json(json) +# print the JSON string representation of the object +print(ReceivingJob.to_json()) + +# convert the object into a dict +receiving_job_dict = receiving_job_instance.to_dict() +# create an instance of ReceivingJob from a dict +receiving_job_from_dict = ReceivingJob.from_dict(receiving_job_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ReceivingJobAndStatusResponse.md b/src/visier.sdk.api.data_in/docs/ReceivingJobAndStatusResponse.md new file mode 100644 index 000000000..f5a560628 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ReceivingJobAndStatusResponse.md @@ -0,0 +1,33 @@ +# ReceivingJobAndStatusResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | The number of receiving jobs to return. The maximum number of jobs to return is 1000. | [optional] +**parent_job_id** | **str** | The ID of the dispatching job that generated the extraction jobs. | [optional] +**parent_tenant_code** | **str** | The tenant that owns the dispatching job. This is usually the administrating tenant. | [optional] +**receiving_jobs** | [**List[ReceivingJob]**](ReceivingJob.md) | A list of receiving job information. | [optional] +**start** | **int** | The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.receiving_job_and_status_response import ReceivingJobAndStatusResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of ReceivingJobAndStatusResponse from a JSON string +receiving_job_and_status_response_instance = ReceivingJobAndStatusResponse.from_json(json) +# print the JSON string representation of the object +print(ReceivingJobAndStatusResponse.to_json()) + +# convert the object into a dict +receiving_job_and_status_response_dict = receiving_job_and_status_response_instance.to_dict() +# create an instance of ReceivingJobAndStatusResponse from a dict +receiving_job_and_status_response_from_dict = ReceivingJobAndStatusResponse.from_dict(receiving_job_and_status_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ReceivingJobStatusResponse.md b/src/visier.sdk.api.data_in/docs/ReceivingJobStatusResponse.md new file mode 100644 index 000000000..e9148f3db --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ReceivingJobStatusResponse.md @@ -0,0 +1,33 @@ +# ReceivingJobStatusResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**job_id** | **str** | The unique identifier associated with the receiving job. | [optional] +**parent_job_id** | **str** | The job ID of the receiving job that spawned this job. | [optional] +**parent_tenant_code** | **str** | The tenant code of the receiving job that spawned this job. | [optional] +**receiving_jobs** | [**List[ReceivingJob]**](ReceivingJob.md) | A list of objects representing the receiving jobs to retrieve. | [optional] +**status** | **str** | The status of the receiving job. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.receiving_job_status_response import ReceivingJobStatusResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of ReceivingJobStatusResponse from a JSON string +receiving_job_status_response_instance = ReceivingJobStatusResponse.from_json(json) +# print the JSON string representation of the object +print(ReceivingJobStatusResponse.to_json()) + +# convert the object into a dict +receiving_job_status_response_dict = receiving_job_status_response_instance.to_dict() +# create an instance of ReceivingJobStatusResponse from a dict +receiving_job_status_response_from_dict = ReceivingJobStatusResponse.from_dict(receiving_job_status_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/RedshiftAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/RedshiftAuthParamsDTO.md new file mode 100644 index 000000000..2254fb048 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/RedshiftAuthParamsDTO.md @@ -0,0 +1,35 @@ +# RedshiftAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**database** | **str** | | [optional] +**endpoint** | **str** | | [optional] +**password** | **str** | | [optional] +**port** | **str** | | [optional] +**var_schema** | **str** | | [optional] +**table_prefix** | **str** | | [optional] +**username** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.redshift_auth_params_dto import RedshiftAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of RedshiftAuthParamsDTO from a JSON string +redshift_auth_params_dto_instance = RedshiftAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(RedshiftAuthParamsDTO.to_json()) + +# convert the object into a dict +redshift_auth_params_dto_dict = redshift_auth_params_dto_instance.to_dict() +# create an instance of RedshiftAuthParamsDTO from a dict +redshift_auth_params_dto_from_dict = RedshiftAuthParamsDTO.from_dict(redshift_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/Result.md b/src/visier.sdk.api.data_in/docs/Result.md new file mode 100644 index 000000000..4dad453f9 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/Result.md @@ -0,0 +1,33 @@ +# Result + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_version** | **str** | If applicable, the data version that was disabled. | [optional] +**job_id** | **str** | If applicable, the job ID associated with the data version. | [optional] +**message** | **str** | If applicable, the message explains what errors occurred while disabling data versions. | [optional] +**status** | **str** | The outcome of the disabling operation. | [optional] +**tenant_code** | **str** | The analytic tenant that the disable operation was conducted for. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.result import Result + +# TODO update the JSON string below +json = "{}" +# create an instance of Result from a JSON string +result_instance = Result.from_json(json) +# print the JSON string representation of the object +print(Result.to_json()) + +# convert the object into a dict +result_dict = result_instance.to_dict() +# create an instance of Result from a dict +result_from_dict = Result.from_dict(result_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/SalesforceAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/SalesforceAuthParamsDTO.md new file mode 100644 index 000000000..5a5896ad6 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/SalesforceAuthParamsDTO.md @@ -0,0 +1,30 @@ +# SalesforceAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**client_id** | **str** | | [optional] +**refresh_token** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.salesforce_auth_params_dto import SalesforceAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SalesforceAuthParamsDTO from a JSON string +salesforce_auth_params_dto_instance = SalesforceAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(SalesforceAuthParamsDTO.to_json()) + +# convert the object into a dict +salesforce_auth_params_dto_dict = salesforce_auth_params_dto_instance.to_dict() +# create an instance of SalesforceAuthParamsDTO from a dict +salesforce_auth_params_dto_from_dict = SalesforceAuthParamsDTO.from_dict(salesforce_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/SalesforceV2AuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/SalesforceV2AuthParamsDTO.md new file mode 100644 index 000000000..226b09bd5 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/SalesforceV2AuthParamsDTO.md @@ -0,0 +1,32 @@ +# SalesforceV2AuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auth_code** | **str** | | [optional] +**client_id** | **str** | | [optional] +**client_secret** | **str** | | [optional] +**login_host** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.salesforce_v2_auth_params_dto import SalesforceV2AuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SalesforceV2AuthParamsDTO from a JSON string +salesforce_v2_auth_params_dto_instance = SalesforceV2AuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(SalesforceV2AuthParamsDTO.to_json()) + +# convert the object into a dict +salesforce_v2_auth_params_dto_dict = salesforce_v2_auth_params_dto_instance.to_dict() +# create an instance of SalesforceV2AuthParamsDTO from a dict +salesforce_v2_auth_params_dto_from_dict = SalesforceV2AuthParamsDTO.from_dict(salesforce_v2_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ServiceNowAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/ServiceNowAuthParamsDTO.md new file mode 100644 index 000000000..a180389ab --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ServiceNowAuthParamsDTO.md @@ -0,0 +1,31 @@ +# ServiceNowAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**host_domain_name** | **str** | | [optional] +**password** | **str** | | [optional] +**username** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.service_now_auth_params_dto import ServiceNowAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceNowAuthParamsDTO from a JSON string +service_now_auth_params_dto_instance = ServiceNowAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(ServiceNowAuthParamsDTO.to_json()) + +# convert the object into a dict +service_now_auth_params_dto_dict = service_now_auth_params_dto_instance.to_dict() +# create an instance of ServiceNowAuthParamsDTO from a dict +service_now_auth_params_dto_from_dict = ServiceNowAuthParamsDTO.from_dict(service_now_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/SlackAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/SlackAuthParamsDTO.md new file mode 100644 index 000000000..b5486e36c --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/SlackAuthParamsDTO.md @@ -0,0 +1,31 @@ +# SlackAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auth_code** | **str** | | [optional] +**client_id** | **str** | | [optional] +**client_secret** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.slack_auth_params_dto import SlackAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SlackAuthParamsDTO from a JSON string +slack_auth_params_dto_instance = SlackAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(SlackAuthParamsDTO.to_json()) + +# convert the object into a dict +slack_auth_params_dto_dict = slack_auth_params_dto_instance.to_dict() +# create an instance of SlackAuthParamsDTO from a dict +slack_auth_params_dto_from_dict = SlackAuthParamsDTO.from_dict(slack_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/SnowflakeAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/SnowflakeAuthParamsDTO.md new file mode 100644 index 000000000..e404e47b6 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/SnowflakeAuthParamsDTO.md @@ -0,0 +1,35 @@ +# SnowflakeAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_identifier** | **str** | | [optional] +**database** | **str** | | [optional] +**password** | **str** | | [optional] +**private_key** | **str** | | [optional] +**var_schema** | **str** | | [optional] +**username** | **str** | | [optional] +**warehouse** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.snowflake_auth_params_dto import SnowflakeAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SnowflakeAuthParamsDTO from a JSON string +snowflake_auth_params_dto_instance = SnowflakeAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(SnowflakeAuthParamsDTO.to_json()) + +# convert the object into a dict +snowflake_auth_params_dto_dict = snowflake_auth_params_dto_instance.to_dict() +# create an instance of SnowflakeAuthParamsDTO from a dict +snowflake_auth_params_dto_from_dict = SnowflakeAuthParamsDTO.from_dict(snowflake_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/Source.md b/src/visier.sdk.api.data_in/docs/Source.md new file mode 100644 index 000000000..9de66541f --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/Source.md @@ -0,0 +1,34 @@ +# Source + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_size** | **str** | The size of the data transfer in bytes. | [optional] +**message** | **str** | A meaningful message about the data transfer. | [optional] +**rows** | **str** | The number of rows in the data transfer. | [optional] +**source_id** | **str** | The unique identifier associated with the source that data was transferred to. | [optional] +**source_name** | **str** | The object name of the source. | [optional] +**status** | **str** | The status of the data transfer for this source. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.source import Source + +# TODO update the JSON string below +json = "{}" +# create an instance of Source from a JSON string +source_instance = Source.from_json(json) +# print the JSON string representation of the object +print(Source.to_json()) + +# convert the object into a dict +source_dict = source_instance.to_dict() +# create an instance of Source from a dict +source_from_dict = Source.from_dict(source_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/SqlServerAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/SqlServerAuthParamsDTO.md new file mode 100644 index 000000000..38ea305bf --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/SqlServerAuthParamsDTO.md @@ -0,0 +1,33 @@ +# SqlServerAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**database** | **str** | | [optional] +**host** | **str** | | [optional] +**password** | **str** | | [optional] +**port** | **str** | | [optional] +**username** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.sql_server_auth_params_dto import SqlServerAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SqlServerAuthParamsDTO from a JSON string +sql_server_auth_params_dto_instance = SqlServerAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(SqlServerAuthParamsDTO.to_json()) + +# convert the object into a dict +sql_server_auth_params_dto_dict = sql_server_auth_params_dto_instance.to_dict() +# create an instance of SqlServerAuthParamsDTO from a dict +sql_server_auth_params_dto_from_dict = SqlServerAuthParamsDTO.from_dict(sql_server_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/StartExtractionModel.md b/src/visier.sdk.api.data_in/docs/StartExtractionModel.md new file mode 100644 index 000000000..e55fd7d61 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/StartExtractionModel.md @@ -0,0 +1,42 @@ +# StartExtractionModel + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**all_tenants** | **bool** | If `true`, one extraction job is dispatched for each accessible analytic tenant. | [optional] +**batch_size_override** | **int** | The maximum number of subjects the job can retrieve in each batch. | [optional] +**connector_ids** | **List[str]** | The unique identifiers of the connectors to run extraction jobs. | [optional] +**data_category_id** | **str** | The unique identifier of the data category on which to trigger the extraction job. Default is the tenant's primary data category. | [optional] +**disable_artifact_generation** | **bool** | If `true`, the job does not generate data load artifacts. If unspecified, the default is `false`. | [optional] +**extract_to_time_override** | **str** | An epoch timestamp in milliseconds for the end time up to which to retrieve data. | [optional] +**force_update_existing_artifacts** | **bool** | If `true` and `disableArtifactGeneration` is `false`, updates extractor artifacts, which may overwrite the artifacts' manual overrides. Ignored if `disableArtifactGeneration` is `true`. | [optional] +**last_extraction_time_offset_weeks** | **int** | The number of weeks in the past to retrieve data. This overrides the last extraction date to retrieve more data. | [optional] +**months_to_extract** | **int** | The number of months to retrieve snapshot data. | [optional] +**override_last_extraction_timestamp** | **str** | The time from which to extract data. | [optional] +**publish_data_load_artifacts** | **bool** | If `true`, the generated data load artifacts are published to production immediately. | [optional] +**run_processing_job** | **bool** | If `true`, a processing job is spawned after a dispatched extraction job runs successfully. | [optional] +**sql_batch_size** | **int** | The maximum amount of SQL table records the job can retrieve in each batch. | [optional] +**tenants** | **List[str]** | A list of analytic tenants to dispatch extraction jobs for. One extraction job is dispatched per tenant. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.start_extraction_model import StartExtractionModel + +# TODO update the JSON string below +json = "{}" +# create an instance of StartExtractionModel from a JSON string +start_extraction_model_instance = StartExtractionModel.from_json(json) +# print the JSON string representation of the object +print(StartExtractionModel.to_json()) + +# convert the object into a dict +start_extraction_model_dict = start_extraction_model_instance.to_dict() +# create an instance of StartExtractionModel from a dict +start_extraction_model_from_dict = StartExtractionModel.from_dict(start_extraction_model_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/StartExtractionRequest.md b/src/visier.sdk.api.data_in/docs/StartExtractionRequest.md new file mode 100644 index 000000000..5af2c4749 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/StartExtractionRequest.md @@ -0,0 +1,29 @@ +# StartExtractionRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**model** | [**StartExtractionModel**](StartExtractionModel.md) | A form body key that contains a collection of key-value pairs. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.start_extraction_request import StartExtractionRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of StartExtractionRequest from a JSON string +start_extraction_request_instance = StartExtractionRequest.from_json(json) +# print the JSON string representation of the object +print(StartExtractionRequest.to_json()) + +# convert the object into a dict +start_extraction_request_dict = start_extraction_request_instance.to_dict() +# create an instance of StartExtractionRequest from a dict +start_extraction_request_from_dict = StartExtractionRequest.from_dict(start_extraction_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/StartExtractionResponse.md b/src/visier.sdk.api.data_in/docs/StartExtractionResponse.md new file mode 100644 index 000000000..bd4dd17e4 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/StartExtractionResponse.md @@ -0,0 +1,29 @@ +# StartExtractionResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**job_id** | **str** | The ID of the dispatching job that generated the extraction jobs. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.start_extraction_response import StartExtractionResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of StartExtractionResponse from a JSON string +start_extraction_response_instance = StartExtractionResponse.from_json(json) +# print the JSON string representation of the object +print(StartExtractionResponse.to_json()) + +# convert the object into a dict +start_extraction_response_dict = start_extraction_response_instance.to_dict() +# create an instance of StartExtractionResponse from a dict +start_extraction_response_from_dict = StartExtractionResponse.from_dict(start_extraction_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/StartTransferResponse.md b/src/visier.sdk.api.data_in/docs/StartTransferResponse.md new file mode 100644 index 000000000..8c03af9b8 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/StartTransferResponse.md @@ -0,0 +1,29 @@ +# StartTransferResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**transfer_session_id** | **str** | The unique identifier associated with the transfer session. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.start_transfer_response import StartTransferResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of StartTransferResponse from a JSON string +start_transfer_response_instance = StartTransferResponse.from_json(json) +# print the JSON string representation of the object +print(StartTransferResponse.to_json()) + +# convert the object into a dict +start_transfer_response_dict = start_transfer_response_instance.to_dict() +# create an instance of StartTransferResponse from a dict +start_transfer_response_from_dict = StartTransferResponse.from_dict(start_transfer_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/Status.md b/src/visier.sdk.api.data_in/docs/Status.md new file mode 100644 index 000000000..5dd43a08b --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/Status.md @@ -0,0 +1,34 @@ +# Status + +The response structure for errors. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | Error classification. | [optional] +**localized_message** | **str** | Localized error message describing the root cause of the error. | [optional] +**message** | **str** | Not used. | [optional] +**rci** | **str** | Optional root cause identifier. | [optional] +**user_error** | **bool** | Indicates whether the error is a user error. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.status import Status + +# TODO update the JSON string below +json = "{}" +# create an instance of Status from a JSON string +status_instance = Status.from_json(json) +# print the JSON string representation of the object +print(Status.to_json()) + +# convert the object into a dict +status_dict = status_instance.to_dict() +# create an instance of Status from a dict +status_from_dict = Status.from_dict(status_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/SubjectMissingAccessDTO.md b/src/visier.sdk.api.data_in/docs/SubjectMissingAccessDTO.md new file mode 100644 index 000000000..0f08a591d --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/SubjectMissingAccessDTO.md @@ -0,0 +1,30 @@ +# SubjectMissingAccessDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**attributes** | **List[str]** | The attributes that cannot be accessed. | [optional] +**subject** | **str** | The subjects that cannot be accessed. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.subject_missing_access_dto import SubjectMissingAccessDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SubjectMissingAccessDTO from a JSON string +subject_missing_access_dto_instance = SubjectMissingAccessDTO.from_json(json) +# print the JSON string representation of the object +print(SubjectMissingAccessDTO.to_json()) + +# convert the object into a dict +subject_missing_access_dto_dict = subject_missing_access_dto_instance.to_dict() +# create an instance of SubjectMissingAccessDTO from a dict +subject_missing_access_dto_from_dict = SubjectMissingAccessDTO.from_dict(subject_missing_access_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/SuccessFactorsAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/SuccessFactorsAuthParamsDTO.md new file mode 100644 index 000000000..ce9f702ee --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/SuccessFactorsAuthParamsDTO.md @@ -0,0 +1,33 @@ +# SuccessFactorsAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**company_id** | **str** | | [optional] +**host_domain_name** | **str** | | [optional] +**o_auth** | [**SuccessFactorsOAuthParamsDTO**](SuccessFactorsOAuthParamsDTO.md) | | [optional] +**password** | **str** | | [optional] +**username** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.success_factors_auth_params_dto import SuccessFactorsAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SuccessFactorsAuthParamsDTO from a JSON string +success_factors_auth_params_dto_instance = SuccessFactorsAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(SuccessFactorsAuthParamsDTO.to_json()) + +# convert the object into a dict +success_factors_auth_params_dto_dict = success_factors_auth_params_dto_instance.to_dict() +# create an instance of SuccessFactorsAuthParamsDTO from a dict +success_factors_auth_params_dto_from_dict = SuccessFactorsAuthParamsDTO.from_dict(success_factors_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/SuccessFactorsOAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/SuccessFactorsOAuthParamsDTO.md new file mode 100644 index 000000000..6c9335fc9 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/SuccessFactorsOAuthParamsDTO.md @@ -0,0 +1,31 @@ +# SuccessFactorsOAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_key** | **str** | | [optional] +**private_x509_key** | **str** | | [optional] +**public_x509_cert** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.success_factors_o_auth_params_dto import SuccessFactorsOAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SuccessFactorsOAuthParamsDTO from a JSON string +success_factors_o_auth_params_dto_instance = SuccessFactorsOAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(SuccessFactorsOAuthParamsDTO.to_json()) + +# convert the object into a dict +success_factors_o_auth_params_dto_dict = success_factors_o_auth_params_dto_instance.to_dict() +# create an instance of SuccessFactorsOAuthParamsDTO from a dict +success_factors_o_auth_params_dto_from_dict = SuccessFactorsOAuthParamsDTO.from_dict(success_factors_o_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/Tenant.md b/src/visier.sdk.api.data_in/docs/Tenant.md new file mode 100644 index 000000000..681c39106 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/Tenant.md @@ -0,0 +1,31 @@ +# Tenant + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sources** | [**List[Source]**](Source.md) | A list of objects representing the sources that data was pushed to and their data transfer results. | [optional] +**status** | **str** | The status of the data transfer for this tenant. | [optional] +**tenant_code** | **str** | The code of the tenant that data was transferred to. For example, WFF_j1r or WFF_j1r~c7o. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.tenant import Tenant + +# TODO update the JSON string below +json = "{}" +# create an instance of Tenant from a JSON string +tenant_instance = Tenant.from_json(json) +# print the JSON string representation of the object +print(Tenant.to_json()) + +# convert the object into a dict +tenant_dict = tenant_instance.to_dict() +# create an instance of Tenant from a dict +tenant_from_dict = Tenant.from_dict(tenant_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/TenantAndCredential.md b/src/visier.sdk.api.data_in/docs/TenantAndCredential.md new file mode 100644 index 000000000..66e17fa3e --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/TenantAndCredential.md @@ -0,0 +1,30 @@ +# TenantAndCredential + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**credential_id** | **str** | The unique identifier associated with the credential. | [optional] +**tenant_code** | **str** | The unique identifier associated with the tenant. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.tenant_and_credential import TenantAndCredential + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantAndCredential from a JSON string +tenant_and_credential_instance = TenantAndCredential.from_json(json) +# print the JSON string representation of the object +print(TenantAndCredential.to_json()) + +# convert the object into a dict +tenant_and_credential_dict = tenant_and_credential_instance.to_dict() +# create an instance of TenantAndCredential from a dict +tenant_and_credential_from_dict = TenantAndCredential.from_dict(tenant_and_credential_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/TenantDataUploadStatusResponseDTO.md b/src/visier.sdk.api.data_in/docs/TenantDataUploadStatusResponseDTO.md new file mode 100644 index 000000000..121e6e2bf --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/TenantDataUploadStatusResponseDTO.md @@ -0,0 +1,30 @@ +# TenantDataUploadStatusResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**included** | **bool** | If \"true\", the data upload is included. | [optional] +**upload_time** | **str** | The upload time of the data upload. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.tenant_data_upload_status_response_dto import TenantDataUploadStatusResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantDataUploadStatusResponseDTO from a JSON string +tenant_data_upload_status_response_dto_instance = TenantDataUploadStatusResponseDTO.from_json(json) +# print the JSON string representation of the object +print(TenantDataUploadStatusResponseDTO.to_json()) + +# convert the object into a dict +tenant_data_upload_status_response_dto_dict = tenant_data_upload_status_response_dto_instance.to_dict() +# create an instance of TenantDataUploadStatusResponseDTO from a dict +tenant_data_upload_status_response_dto_from_dict = TenantDataUploadStatusResponseDTO.from_dict(tenant_data_upload_status_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/TenantDataUploadUpdateStatusResponseDTO.md b/src/visier.sdk.api.data_in/docs/TenantDataUploadUpdateStatusResponseDTO.md new file mode 100644 index 000000000..6414c28be --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/TenantDataUploadUpdateStatusResponseDTO.md @@ -0,0 +1,32 @@ +# TenantDataUploadUpdateStatusResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **str** | If applicable, the message explains why errors were encountered during the exclusion operation. | [optional] +**status** | **str** | The outcome of the exclusion operation. | [optional] +**tenant_code** | **str** | The analytic tenant that the exclusion operation was conducted for. | [optional] +**upload_time** | **str** | The upload time of the data upload | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.tenant_data_upload_update_status_response_dto import TenantDataUploadUpdateStatusResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantDataUploadUpdateStatusResponseDTO from a JSON string +tenant_data_upload_update_status_response_dto_instance = TenantDataUploadUpdateStatusResponseDTO.from_json(json) +# print the JSON string representation of the object +print(TenantDataUploadUpdateStatusResponseDTO.to_json()) + +# convert the object into a dict +tenant_data_upload_update_status_response_dto_dict = tenant_data_upload_update_status_response_dto_instance.to_dict() +# create an instance of TenantDataUploadUpdateStatusResponseDTO from a dict +tenant_data_upload_update_status_response_dto_from_dict = TenantDataUploadUpdateStatusResponseDTO.from_dict(tenant_data_upload_update_status_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/TenantDataUploadsListResponseDTO.md b/src/visier.sdk.api.data_in/docs/TenantDataUploadsListResponseDTO.md new file mode 100644 index 000000000..960f33c84 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/TenantDataUploadsListResponseDTO.md @@ -0,0 +1,31 @@ +# TenantDataUploadsListResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limit** | **int** | The number of analytic tenants to retrieve. The maximum number of analytic tenants to retrieve is 1000. | [optional] +**start** | **int** | The index to start retrieving results from, also known as offset. The index begins at 0. | [optional] +**tenants** | [**List[TenantDataUploadsResponseDTO]**](TenantDataUploadsResponseDTO.md) | A list of objects representing analytic tenants and their data uploads. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.tenant_data_uploads_list_response_dto import TenantDataUploadsListResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantDataUploadsListResponseDTO from a JSON string +tenant_data_uploads_list_response_dto_instance = TenantDataUploadsListResponseDTO.from_json(json) +# print the JSON string representation of the object +print(TenantDataUploadsListResponseDTO.to_json()) + +# convert the object into a dict +tenant_data_uploads_list_response_dto_dict = tenant_data_uploads_list_response_dto_instance.to_dict() +# create an instance of TenantDataUploadsListResponseDTO from a dict +tenant_data_uploads_list_response_dto_from_dict = TenantDataUploadsListResponseDTO.from_dict(tenant_data_uploads_list_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/TenantDataUploadsResponseDTO.md b/src/visier.sdk.api.data_in/docs/TenantDataUploadsResponseDTO.md new file mode 100644 index 000000000..1248b2934 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/TenantDataUploadsResponseDTO.md @@ -0,0 +1,30 @@ +# TenantDataUploadsResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tenant_code** | **str** | The tenant code of the analytic tenant owning the data uploads. | [optional] +**uploads** | [**List[TenantDataUploadStatusResponseDTO]**](TenantDataUploadStatusResponseDTO.md) | The data uploads completed for the specified analytic tenant. The list is empty if no previous data uploads are found for the analytic tenant. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.tenant_data_uploads_response_dto import TenantDataUploadsResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantDataUploadsResponseDTO from a JSON string +tenant_data_uploads_response_dto_instance = TenantDataUploadsResponseDTO.from_json(json) +# print the JSON string representation of the object +print(TenantDataUploadsResponseDTO.to_json()) + +# convert the object into a dict +tenant_data_uploads_response_dto_dict = tenant_data_uploads_response_dto_instance.to_dict() +# create an instance of TenantDataUploadsResponseDTO from a dict +tenant_data_uploads_response_dto_from_dict = TenantDataUploadsResponseDTO.from_dict(tenant_data_uploads_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/TenantDataUploadsUpdateResponseDTO.md b/src/visier.sdk.api.data_in/docs/TenantDataUploadsUpdateResponseDTO.md new file mode 100644 index 000000000..9ac3d1ab2 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/TenantDataUploadsUpdateResponseDTO.md @@ -0,0 +1,31 @@ +# TenantDataUploadsUpdateResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total_failures** | **int** | The number of data uploads that failed during the exclusion operation. | [optional] +**total_success** | **int** | The number of data uploads that were excluded successfully. | [optional] +**uploads** | [**List[TenantDataUploadUpdateStatusResponseDTO]**](TenantDataUploadUpdateStatusResponseDTO.md) | A list of objects representing the results of the data upload exclusion. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.tenant_data_uploads_update_response_dto import TenantDataUploadsUpdateResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TenantDataUploadsUpdateResponseDTO from a JSON string +tenant_data_uploads_update_response_dto_instance = TenantDataUploadsUpdateResponseDTO.from_json(json) +# print the JSON string representation of the object +print(TenantDataUploadsUpdateResponseDTO.to_json()) + +# convert the object into a dict +tenant_data_uploads_update_response_dto_dict = tenant_data_uploads_update_response_dto_instance.to_dict() +# create an instance of TenantDataUploadsUpdateResponseDTO from a dict +tenant_data_uploads_update_response_dto_from_dict = TenantDataUploadsUpdateResponseDTO.from_dict(tenant_data_uploads_update_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/UltimateAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/UltimateAuthParamsDTO.md new file mode 100644 index 000000000..b3741553a --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/UltimateAuthParamsDTO.md @@ -0,0 +1,33 @@ +# UltimateAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_key** | **str** | | [optional] +**host_domain_name** | **str** | | [optional] +**password** | **str** | | [optional] +**user_access_key** | **str** | | [optional] +**username** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.ultimate_auth_params_dto import UltimateAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of UltimateAuthParamsDTO from a JSON string +ultimate_auth_params_dto_instance = UltimateAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(UltimateAuthParamsDTO.to_json()) + +# convert the object into a dict +ultimate_auth_params_dto_dict = ultimate_auth_params_dto_instance.to_dict() +# create an instance of UltimateAuthParamsDTO from a dict +ultimate_auth_params_dto_from_dict = UltimateAuthParamsDTO.from_dict(ultimate_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/UploadToExclude.md b/src/visier.sdk.api.data_in/docs/UploadToExclude.md new file mode 100644 index 000000000..82b7e4f0d --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/UploadToExclude.md @@ -0,0 +1,31 @@ +# UploadToExclude + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**exclude_all** | **bool** | If `true`, all data uploads are excluded for the analytic tenant. | [optional] +**tenant_code** | **str** | The tenant code of the analytic tenant you are excluding a data upload for. | [optional] +**upload_times** | **List[str]** | A comma-separated list of strings representing the upload time of each data upload to exclude. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.upload_to_exclude import UploadToExclude + +# TODO update the JSON string below +json = "{}" +# create an instance of UploadToExclude from a JSON string +upload_to_exclude_instance = UploadToExclude.from_json(json) +# print the JSON string representation of the object +print(UploadToExclude.to_json()) + +# convert the object into a dict +upload_to_exclude_dict = upload_to_exclude_instance.to_dict() +# create an instance of UploadToExclude from a dict +upload_to_exclude_from_dict = UploadToExclude.from_dict(upload_to_exclude_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/UploadToExcludeModel.md b/src/visier.sdk.api.data_in/docs/UploadToExcludeModel.md new file mode 100644 index 000000000..6391a23f3 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/UploadToExcludeModel.md @@ -0,0 +1,29 @@ +# UploadToExcludeModel + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uploads** | [**List[UploadToExclude]**](UploadToExclude.md) | A list of objects representing the data uploads to exclude for a particular analytic tenant. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.upload_to_exclude_model import UploadToExcludeModel + +# TODO update the JSON string below +json = "{}" +# create an instance of UploadToExcludeModel from a JSON string +upload_to_exclude_model_instance = UploadToExcludeModel.from_json(json) +# print the JSON string representation of the object +print(UploadToExcludeModel.to_json()) + +# convert the object into a dict +upload_to_exclude_model_dict = upload_to_exclude_model_instance.to_dict() +# create an instance of UploadToExcludeModel from a dict +upload_to_exclude_model_from_dict = UploadToExcludeModel.from_dict(upload_to_exclude_model_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/UploadToInclude.md b/src/visier.sdk.api.data_in/docs/UploadToInclude.md new file mode 100644 index 000000000..a1def49b7 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/UploadToInclude.md @@ -0,0 +1,31 @@ +# UploadToInclude + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**include_all** | **bool** | If `true`, all data uploads are included for the analytic tenant. | [optional] +**tenant_code** | **str** | The tenant code of the analytic tenant you are including a data upload for. | [optional] +**upload_times** | **List[str]** | A comma-separated list of strings representing the upload time of each data upload to include. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.upload_to_include import UploadToInclude + +# TODO update the JSON string below +json = "{}" +# create an instance of UploadToInclude from a JSON string +upload_to_include_instance = UploadToInclude.from_json(json) +# print the JSON string representation of the object +print(UploadToInclude.to_json()) + +# convert the object into a dict +upload_to_include_dict = upload_to_include_instance.to_dict() +# create an instance of UploadToInclude from a dict +upload_to_include_from_dict = UploadToInclude.from_dict(upload_to_include_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/UploadToIncludeModel.md b/src/visier.sdk.api.data_in/docs/UploadToIncludeModel.md new file mode 100644 index 000000000..3c29e4309 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/UploadToIncludeModel.md @@ -0,0 +1,29 @@ +# UploadToIncludeModel + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uploads** | [**List[UploadToInclude]**](UploadToInclude.md) | A list of objects representing the data uploads to include for a particular analytic tenant. | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.upload_to_include_model import UploadToIncludeModel + +# TODO update the JSON string below +json = "{}" +# create an instance of UploadToIncludeModel from a JSON string +upload_to_include_model_instance = UploadToIncludeModel.from_json(json) +# print the JSON string representation of the object +print(UploadToIncludeModel.to_json()) + +# convert the object into a dict +upload_to_include_model_dict = upload_to_include_model_instance.to_dict() +# create an instance of UploadToIncludeModel from a dict +upload_to_include_model_from_dict = UploadToIncludeModel.from_dict(upload_to_include_model_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/WillowAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/WillowAuthParamsDTO.md new file mode 100644 index 000000000..da8b2a2e7 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/WillowAuthParamsDTO.md @@ -0,0 +1,30 @@ +# WillowAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_token** | **str** | | [optional] +**host_name** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.willow_auth_params_dto import WillowAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of WillowAuthParamsDTO from a JSON string +willow_auth_params_dto_instance = WillowAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(WillowAuthParamsDTO.to_json()) + +# convert the object into a dict +willow_auth_params_dto_dict = willow_auth_params_dto_instance.to_dict() +# create an instance of WillowAuthParamsDTO from a dict +willow_auth_params_dto_from_dict = WillowAuthParamsDTO.from_dict(willow_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/WorkdayAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/WorkdayAuthParamsDTO.md new file mode 100644 index 000000000..3303e0508 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/WorkdayAuthParamsDTO.md @@ -0,0 +1,36 @@ +# WorkdayAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_key** | **str** | | [optional] +**domain_name** | **str** | | [optional] +**implementation_name** | **str** | | [optional] +**integration_system_id** | **str** | | [optional] +**o_auth** | [**WorkdayOAuthParamsDTO**](WorkdayOAuthParamsDTO.md) | | [optional] +**password** | **str** | | [optional] +**ref_token** | [**WorkdayRefreshTokenParamsDTO**](WorkdayRefreshTokenParamsDTO.md) | | [optional] +**user_id** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.workday_auth_params_dto import WorkdayAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of WorkdayAuthParamsDTO from a JSON string +workday_auth_params_dto_instance = WorkdayAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(WorkdayAuthParamsDTO.to_json()) + +# convert the object into a dict +workday_auth_params_dto_dict = workday_auth_params_dto_instance.to_dict() +# create an instance of WorkdayAuthParamsDTO from a dict +workday_auth_params_dto_from_dict = WorkdayAuthParamsDTO.from_dict(workday_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/WorkdayOAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/WorkdayOAuthParamsDTO.md new file mode 100644 index 000000000..929a7544f --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/WorkdayOAuthParamsDTO.md @@ -0,0 +1,31 @@ +# WorkdayOAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_client_id** | **str** | | [optional] +**private_x509_key** | **str** | | [optional] +**public_x509_cert** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.workday_o_auth_params_dto import WorkdayOAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of WorkdayOAuthParamsDTO from a JSON string +workday_o_auth_params_dto_instance = WorkdayOAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(WorkdayOAuthParamsDTO.to_json()) + +# convert the object into a dict +workday_o_auth_params_dto_dict = workday_o_auth_params_dto_instance.to_dict() +# create an instance of WorkdayOAuthParamsDTO from a dict +workday_o_auth_params_dto_from_dict = WorkdayOAuthParamsDTO.from_dict(workday_o_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/WorkdayRaasAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/WorkdayRaasAuthParamsDTO.md new file mode 100644 index 000000000..3e97b9944 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/WorkdayRaasAuthParamsDTO.md @@ -0,0 +1,33 @@ +# WorkdayRaasAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**domain_name** | **str** | | [optional] +**implementation_name** | **str** | | [optional] +**password** | **str** | | [optional] +**test_report_url** | **str** | | [optional] +**user_id** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.workday_raas_auth_params_dto import WorkdayRaasAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of WorkdayRaasAuthParamsDTO from a JSON string +workday_raas_auth_params_dto_instance = WorkdayRaasAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(WorkdayRaasAuthParamsDTO.to_json()) + +# convert the object into a dict +workday_raas_auth_params_dto_dict = workday_raas_auth_params_dto_instance.to_dict() +# create an instance of WorkdayRaasAuthParamsDTO from a dict +workday_raas_auth_params_dto_from_dict = WorkdayRaasAuthParamsDTO.from_dict(workday_raas_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/WorkdayRefreshTokenParamsDTO.md b/src/visier.sdk.api.data_in/docs/WorkdayRefreshTokenParamsDTO.md new file mode 100644 index 000000000..4ee628fbc --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/WorkdayRefreshTokenParamsDTO.md @@ -0,0 +1,31 @@ +# WorkdayRefreshTokenParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_client_id** | **str** | | [optional] +**client_secret** | **str** | | [optional] +**refresh_token** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.workday_refresh_token_params_dto import WorkdayRefreshTokenParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of WorkdayRefreshTokenParamsDTO from a JSON string +workday_refresh_token_params_dto_instance = WorkdayRefreshTokenParamsDTO.from_json(json) +# print the JSON string representation of the object +print(WorkdayRefreshTokenParamsDTO.to_json()) + +# convert the object into a dict +workday_refresh_token_params_dto_dict = workday_refresh_token_params_dto_instance.to_dict() +# create an instance of WorkdayRefreshTokenParamsDTO from a dict +workday_refresh_token_params_dto_from_dict = WorkdayRefreshTokenParamsDTO.from_dict(workday_refresh_token_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/docs/ZoomAuthParamsDTO.md b/src/visier.sdk.api.data_in/docs/ZoomAuthParamsDTO.md new file mode 100644 index 000000000..9156ca100 --- /dev/null +++ b/src/visier.sdk.api.data_in/docs/ZoomAuthParamsDTO.md @@ -0,0 +1,31 @@ +# ZoomAuthParamsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auth_code** | **str** | | [optional] +**client_id** | **str** | | [optional] +**client_secret** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_in.models.zoom_auth_params_dto import ZoomAuthParamsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ZoomAuthParamsDTO from a JSON string +zoom_auth_params_dto_instance = ZoomAuthParamsDTO.from_json(json) +# print the JSON string representation of the object +print(ZoomAuthParamsDTO.to_json()) + +# convert the object into a dict +zoom_auth_params_dto_dict = zoom_auth_params_dto_instance.to_dict() +# create an instance of ZoomAuthParamsDTO from a dict +zoom_auth_params_dto_from_dict = ZoomAuthParamsDTO.from_dict(zoom_auth_params_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_in/git_push.sh b/src/visier.sdk.api.data_in/git_push.sh new file mode 100644 index 000000000..f53a75d4f --- /dev/null +++ b/src/visier.sdk.api.data_in/git_push.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 +git_host=$4 + +if [ "$git_host" = "" ]; then + git_host="github.com" + echo "[INFO] No command line input provided. Set \$git_host to $git_host" +fi + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=$(git remote) +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' diff --git a/src/visier.sdk.api.data_in/pyproject.toml b/src/visier.sdk.api.data_in/pyproject.toml new file mode 100644 index 000000000..9dd3587eb --- /dev/null +++ b/src/visier.sdk.api.data_in/pyproject.toml @@ -0,0 +1,71 @@ +[tool.poetry] +name = "visier.sdk.api.data_in" +version = "0.0.1" +description = "Visier Data In APIs" +authors = ["OpenAPI Generator Community "] +license = "Apache License, Version 2.0" +readme = "README.md" +repository = "https://github.com/GIT_USER_ID/GIT_REPO_ID" +keywords = ["OpenAPI", "OpenAPI-Generator", "Visier Data In APIs"] +include = ["visier.sdk.api.data_in/py.typed"] + +[tool.poetry.dependencies] +python = "^3.7" + +urllib3 = ">= 1.25.3" +python-dateutil = ">=2.8.2" +pydantic = ">=2" +typing-extensions = ">=4.7.1" + +[tool.poetry.dev-dependencies] +pytest = ">=7.2.1" +tox = ">=3.9.0" +flake8 = ">=4.0.0" +types-python-dateutil = ">=2.8.19.14" +mypy = "1.4.1" + + +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[tool.pylint.'MESSAGES CONTROL'] +extension-pkg-whitelist = "pydantic" + +[tool.mypy] +files = [ + "visier.sdk.api.data_in", + #"test", # auto-generated tests + "tests", # hand-written tests +] +# TODO: enable "strict" once all these individual checks are passing +# strict = true + +# List from: https://mypy.readthedocs.io/en/stable/existing_code.html#introduce-stricter-options +warn_unused_configs = true +warn_redundant_casts = true +warn_unused_ignores = true + +## Getting these passing should be easy +strict_equality = true +strict_concatenate = true + +## Strongly recommend enabling this one as soon as you can +check_untyped_defs = true + +## These shouldn't be too much additional work, but may be tricky to +## get passing if you use a lot of untyped libraries +disallow_subclassing_any = true +disallow_untyped_decorators = true +disallow_any_generics = true + +### These next few are various gradations of forcing use of type annotations +#disallow_untyped_calls = true +#disallow_incomplete_defs = true +#disallow_untyped_defs = true +# +### This one isn't too hard to get passing, but return on investment is lower +#no_implicit_reexport = true +# +### This one can be tricky to get passing if you use a lot of untyped libraries +#warn_return_any = true diff --git a/src/visier.sdk.api.data_in/requirements.txt b/src/visier.sdk.api.data_in/requirements.txt new file mode 100644 index 000000000..931b4e384 --- /dev/null +++ b/src/visier.sdk.api.data_in/requirements.txt @@ -0,0 +1,6 @@ +python_dateutil >= 2.5.3 +setuptools >= 21.0.0 +urllib3 >= 1.25.3, < 2.1.0 +pydantic >= 2 +typing-extensions >= 4.7.1 +Flask >= 3.0.0 \ No newline at end of file diff --git a/src/visier.sdk.api.data_in/setup.cfg b/src/visier.sdk.api.data_in/setup.cfg new file mode 100644 index 000000000..11433ee87 --- /dev/null +++ b/src/visier.sdk.api.data_in/setup.cfg @@ -0,0 +1,2 @@ +[flake8] +max-line-length=99 diff --git a/src/visier.sdk.api.data_in/setup.py b/src/visier.sdk.api.data_in/setup.py new file mode 100644 index 000000000..3931c3943 --- /dev/null +++ b/src/visier.sdk.api.data_in/setup.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from setuptools import setup, find_packages # noqa: H301 + +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools +NAME = "visier.sdk.api.data-in" +VERSION = "0.0.1" +PYTHON_REQUIRES = ">=3.7" +REQUIRES = [ + "urllib3 >= 1.25.3, < 2.1.0", + "python-dateutil", + "pydantic >= 2", + "typing-extensions >= 4.7.1", +] + +setup( + name=NAME, + version=VERSION, + description="Visier Data In APIs", + author="OpenAPI Generator community", + author_email="team@openapitools.org", + url="", + keywords=["OpenAPI", "OpenAPI-Generator", "Visier Data In APIs"], + install_requires=REQUIRES, + packages=find_packages(exclude=["test", "tests"]), + include_package_data=True, + license="Apache License, Version 2.0", + long_description_content_type='text/markdown', + long_description="""\ + Visier APIs for sending data to Visier and running data load jobs. + """, # noqa: E501 + package_data={"visier.sdk.api.data_in": ["py.typed"]}, +) diff --git a/src/visier.sdk.api.data_in/test-requirements.txt b/src/visier.sdk.api.data_in/test-requirements.txt new file mode 100644 index 000000000..8e6d8cb13 --- /dev/null +++ b/src/visier.sdk.api.data_in/test-requirements.txt @@ -0,0 +1,5 @@ +pytest~=7.1.3 +pytest-cov>=2.8.1 +pytest-randomly>=3.12.0 +mypy>=1.4.1 +types-python-dateutil>=2.8.19 diff --git a/src/visier.sdk.api.data_in/test/__init__.py b/src/visier.sdk.api.data_in/test/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.data_in/test/test_adp_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_adp_auth_params_dto.py new file mode 100644 index 000000000..3eb09bc14 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_adp_auth_params_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.adp_auth_params_dto import AdpAuthParamsDTO + +class TestAdpAuthParamsDTO(unittest.TestCase): + """AdpAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AdpAuthParamsDTO: + """Test AdpAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AdpAuthParamsDTO` + """ + model = AdpAuthParamsDTO() + if include_optional: + return AdpAuthParamsDTO( + auth_code = '' + ) + else: + return AdpAuthParamsDTO( + ) + """ + + def testAdpAuthParamsDTO(self): + """Test AdpAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_assign_connector_credential_request.py b/src/visier.sdk.api.data_in/test/test_assign_connector_credential_request.py new file mode 100644 index 000000000..a93644c85 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_assign_connector_credential_request.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.assign_connector_credential_request import AssignConnectorCredentialRequest + +class TestAssignConnectorCredentialRequest(unittest.TestCase): + """AssignConnectorCredentialRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AssignConnectorCredentialRequest: + """Test AssignConnectorCredentialRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AssignConnectorCredentialRequest` + """ + model = AssignConnectorCredentialRequest() + if include_optional: + return AssignConnectorCredentialRequest( + connectors = [ + visier.sdk.api.data_in.models.connector.Connector( + connector_id = '', + tenants = [ + visier.sdk.api.data_in.models.tenant_and_credential.TenantAndCredential( + credential_id = '', + tenant_code = '', ) + ], ) + ] + ) + else: + return AssignConnectorCredentialRequest( + ) + """ + + def testAssignConnectorCredentialRequest(self): + """Test AssignConnectorCredentialRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_assign_connector_credentials_by_tenant_response_dto.py b/src/visier.sdk.api.data_in/test/test_assign_connector_credentials_by_tenant_response_dto.py new file mode 100644 index 000000000..a81173ea2 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_assign_connector_credentials_by_tenant_response_dto.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.assign_connector_credentials_by_tenant_response_dto import AssignConnectorCredentialsByTenantResponseDTO + +class TestAssignConnectorCredentialsByTenantResponseDTO(unittest.TestCase): + """AssignConnectorCredentialsByTenantResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AssignConnectorCredentialsByTenantResponseDTO: + """Test AssignConnectorCredentialsByTenantResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AssignConnectorCredentialsByTenantResponseDTO` + """ + model = AssignConnectorCredentialsByTenantResponseDTO() + if include_optional: + return AssignConnectorCredentialsByTenantResponseDTO( + connectors = [ + visier.sdk.api.data_in.models.assign_connector_with_credentials_response_dto.AssignConnectorWithCredentialsResponseDTO( + connector = null, + credential = null, ) + ], + message = '', + status = 'Unknown', + tenant_code = '' + ) + else: + return AssignConnectorCredentialsByTenantResponseDTO( + ) + """ + + def testAssignConnectorCredentialsByTenantResponseDTO(self): + """Test AssignConnectorCredentialsByTenantResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_assign_connector_credentials_response_dto.py b/src/visier.sdk.api.data_in/test/test_assign_connector_credentials_response_dto.py new file mode 100644 index 000000000..4f01b8ba5 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_assign_connector_credentials_response_dto.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.assign_connector_credentials_response_dto import AssignConnectorCredentialsResponseDTO + +class TestAssignConnectorCredentialsResponseDTO(unittest.TestCase): + """AssignConnectorCredentialsResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AssignConnectorCredentialsResponseDTO: + """Test AssignConnectorCredentialsResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AssignConnectorCredentialsResponseDTO` + """ + model = AssignConnectorCredentialsResponseDTO() + if include_optional: + return AssignConnectorCredentialsResponseDTO( + tenants = [ + visier.sdk.api.data_in.models.assign_connector_credentials_by_tenant_response_dto.AssignConnectorCredentialsByTenantResponseDTO( + connectors = [ + visier.sdk.api.data_in.models.assign_connector_with_credentials_response_dto.AssignConnectorWithCredentialsResponseDTO( + connector = null, + credential = null, ) + ], + message = '', + status = 'Unknown', + tenant_code = '', ) + ] + ) + else: + return AssignConnectorCredentialsResponseDTO( + ) + """ + + def testAssignConnectorCredentialsResponseDTO(self): + """Test AssignConnectorCredentialsResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_assign_connector_with_credentials_response_dto.py b/src/visier.sdk.api.data_in/test/test_assign_connector_with_credentials_response_dto.py new file mode 100644 index 000000000..0433b7db5 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_assign_connector_with_credentials_response_dto.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.assign_connector_with_credentials_response_dto import AssignConnectorWithCredentialsResponseDTO + +class TestAssignConnectorWithCredentialsResponseDTO(unittest.TestCase): + """AssignConnectorWithCredentialsResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AssignConnectorWithCredentialsResponseDTO: + """Test AssignConnectorWithCredentialsResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AssignConnectorWithCredentialsResponseDTO` + """ + model = AssignConnectorWithCredentialsResponseDTO() + if include_optional: + return AssignConnectorWithCredentialsResponseDTO( + connector = visier.sdk.api.data_in.models.connector_info_response_dto.ConnectorInfoResponseDTO( + connector_id = '', + description = '', + display_name = '', ), + credential = visier.sdk.api.data_in.models.assigned_credential_info_response_dto.AssignedCredentialInfoResponseDTO( + credential_id = '', + display_name = '', + message = '', ) + ) + else: + return AssignConnectorWithCredentialsResponseDTO( + ) + """ + + def testAssignConnectorWithCredentialsResponseDTO(self): + """Test AssignConnectorWithCredentialsResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_assigned_credential_info_response_dto.py b/src/visier.sdk.api.data_in/test/test_assigned_credential_info_response_dto.py new file mode 100644 index 000000000..456f7ff5b --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_assigned_credential_info_response_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.assigned_credential_info_response_dto import AssignedCredentialInfoResponseDTO + +class TestAssignedCredentialInfoResponseDTO(unittest.TestCase): + """AssignedCredentialInfoResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AssignedCredentialInfoResponseDTO: + """Test AssignedCredentialInfoResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AssignedCredentialInfoResponseDTO` + """ + model = AssignedCredentialInfoResponseDTO() + if include_optional: + return AssignedCredentialInfoResponseDTO( + credential_id = '', + display_name = '', + message = '' + ) + else: + return AssignedCredentialInfoResponseDTO( + ) + """ + + def testAssignedCredentialInfoResponseDTO(self): + """Test AssignedCredentialInfoResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_bamboo_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_bamboo_auth_params_dto.py new file mode 100644 index 000000000..cfe1e89c6 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_bamboo_auth_params_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.bamboo_auth_params_dto import BambooAuthParamsDTO + +class TestBambooAuthParamsDTO(unittest.TestCase): + """BambooAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BambooAuthParamsDTO: + """Test BambooAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BambooAuthParamsDTO` + """ + model = BambooAuthParamsDTO() + if include_optional: + return BambooAuthParamsDTO( + access_key = '', + tenant_domain_name = '' + ) + else: + return BambooAuthParamsDTO( + ) + """ + + def testBambooAuthParamsDTO(self): + """Test BambooAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_basic_s3_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_basic_s3_auth_params_dto.py new file mode 100644 index 000000000..58ed10037 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_basic_s3_auth_params_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.basic_s3_auth_params_dto import BasicS3AuthParamsDTO + +class TestBasicS3AuthParamsDTO(unittest.TestCase): + """BasicS3AuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BasicS3AuthParamsDTO: + """Test BasicS3AuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BasicS3AuthParamsDTO` + """ + model = BasicS3AuthParamsDTO() + if include_optional: + return BasicS3AuthParamsDTO( + access_key = '', + bucket_name = '', + bucket_region = '', + path = '', + secret_key = '' + ) + else: + return BasicS3AuthParamsDTO( + ) + """ + + def testBasicS3AuthParamsDTO(self): + """Test BasicS3AuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_big_query_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_big_query_auth_params_dto.py new file mode 100644 index 000000000..9e28e2ba8 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_big_query_auth_params_dto.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.big_query_auth_params_dto import BigQueryAuthParamsDTO + +class TestBigQueryAuthParamsDTO(unittest.TestCase): + """BigQueryAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BigQueryAuthParamsDTO: + """Test BigQueryAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BigQueryAuthParamsDTO` + """ + model = BigQueryAuthParamsDTO() + if include_optional: + return BigQueryAuthParamsDTO( + client_id = '', + client_secret = '', + dataset_location = '', + default_dataset = '', + project_id = '', + refresh_token = '', + service_account_params = visier.sdk.api.data_in.models.big_query_service_account_params_dto.BigQueryServiceAccountParamsDTO( + private_key = '', + service_account_email = '', ) + ) + else: + return BigQueryAuthParamsDTO( + ) + """ + + def testBigQueryAuthParamsDTO(self): + """Test BigQueryAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_big_query_service_account_params_dto.py b/src/visier.sdk.api.data_in/test/test_big_query_service_account_params_dto.py new file mode 100644 index 000000000..a5ef25943 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_big_query_service_account_params_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.big_query_service_account_params_dto import BigQueryServiceAccountParamsDTO + +class TestBigQueryServiceAccountParamsDTO(unittest.TestCase): + """BigQueryServiceAccountParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BigQueryServiceAccountParamsDTO: + """Test BigQueryServiceAccountParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BigQueryServiceAccountParamsDTO` + """ + model = BigQueryServiceAccountParamsDTO() + if include_optional: + return BigQueryServiceAccountParamsDTO( + private_key = '', + service_account_email = '' + ) + else: + return BigQueryServiceAccountParamsDTO( + ) + """ + + def testBigQueryServiceAccountParamsDTO(self): + """Test BigQueryServiceAccountParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_cancel_job_batch_from_job_id_dto.py b/src/visier.sdk.api.data_in/test/test_cancel_job_batch_from_job_id_dto.py new file mode 100644 index 000000000..76370d738 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_cancel_job_batch_from_job_id_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.cancel_job_batch_from_job_id_dto import CancelJobBatchFromJobIdDTO + +class TestCancelJobBatchFromJobIdDTO(unittest.TestCase): + """CancelJobBatchFromJobIdDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CancelJobBatchFromJobIdDTO: + """Test CancelJobBatchFromJobIdDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CancelJobBatchFromJobIdDTO` + """ + model = CancelJobBatchFromJobIdDTO() + if include_optional: + return CancelJobBatchFromJobIdDTO( + job_ids = [ + '' + ] + ) + else: + return CancelJobBatchFromJobIdDTO( + ) + """ + + def testCancelJobBatchFromJobIdDTO(self): + """Test CancelJobBatchFromJobIdDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_connector.py b/src/visier.sdk.api.data_in/test/test_connector.py new file mode 100644 index 000000000..159fda473 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_connector.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.connector import Connector + +class TestConnector(unittest.TestCase): + """Connector unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Connector: + """Test Connector + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Connector` + """ + model = Connector() + if include_optional: + return Connector( + connector_id = '', + tenants = [ + visier.sdk.api.data_in.models.tenant_and_credential.TenantAndCredential( + credential_id = '', + tenant_code = '', ) + ] + ) + else: + return Connector( + ) + """ + + def testConnector(self): + """Test Connector""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_connector_info_response_dto.py b/src/visier.sdk.api.data_in/test/test_connector_info_response_dto.py new file mode 100644 index 000000000..9c95e47a5 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_connector_info_response_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.connector_info_response_dto import ConnectorInfoResponseDTO + +class TestConnectorInfoResponseDTO(unittest.TestCase): + """ConnectorInfoResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectorInfoResponseDTO: + """Test ConnectorInfoResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectorInfoResponseDTO` + """ + model = ConnectorInfoResponseDTO() + if include_optional: + return ConnectorInfoResponseDTO( + connector_id = '', + description = '', + display_name = '' + ) + else: + return ConnectorInfoResponseDTO( + ) + """ + + def testConnectorInfoResponseDTO(self): + """Test ConnectorInfoResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_copy_s3_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_copy_s3_auth_params_dto.py new file mode 100644 index 000000000..111d8884e --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_copy_s3_auth_params_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.copy_s3_auth_params_dto import CopyS3AuthParamsDTO + +class TestCopyS3AuthParamsDTO(unittest.TestCase): + """CopyS3AuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CopyS3AuthParamsDTO: + """Test CopyS3AuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CopyS3AuthParamsDTO` + """ + model = CopyS3AuthParamsDTO() + if include_optional: + return CopyS3AuthParamsDTO( + iam_role = '' + ) + else: + return CopyS3AuthParamsDTO( + ) + """ + + def testCopyS3AuthParamsDTO(self): + """Test CopyS3AuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_credential_creation_api_response_dto.py b/src/visier.sdk.api.data_in/test/test_credential_creation_api_response_dto.py new file mode 100644 index 000000000..44dcd7182 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_credential_creation_api_response_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.credential_creation_api_response_dto import CredentialCreationAPIResponseDTO + +class TestCredentialCreationAPIResponseDTO(unittest.TestCase): + """CredentialCreationAPIResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CredentialCreationAPIResponseDTO: + """Test CredentialCreationAPIResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CredentialCreationAPIResponseDTO` + """ + model = CredentialCreationAPIResponseDTO() + if include_optional: + return CredentialCreationAPIResponseDTO( + missing_connection_properties = [ + visier.sdk.api.data_in.models.subject_missing_access_dto.SubjectMissingAccessDTO( + attributes = [ + '' + ], + subject = 'Employee', ) + ], + object_name = '', + symbol_name = '', + uuid = '' + ) + else: + return CredentialCreationAPIResponseDTO( + ) + """ + + def testCredentialCreationAPIResponseDTO(self): + """Test CredentialCreationAPIResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_and_job_handling_api.py b/src/visier.sdk.api.data_in/test/test_data_and_job_handling_api.py new file mode 100644 index 000000000..ca15b8fe0 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_and_job_handling_api.py @@ -0,0 +1,185 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.api.data_and_job_handling_api import DataAndJobHandlingApi + + +class TestDataAndJobHandlingApi(unittest.TestCase): + """DataAndJobHandlingApi unit test stubs""" + + def setUp(self) -> None: + self.api = DataAndJobHandlingApi() + + def tearDown(self) -> None: + pass + + def test_assign_connector_credential(self) -> None: + """Test case for assign_connector_credential + + Assign connector credentials to data connectors + """ + pass + + def test_cancel_jobs(self) -> None: + """Test case for cancel_jobs + + Cancel a list of jobs + """ + pass + + def test_create_connector_credential(self) -> None: + """Test case for create_connector_credential + + Create a connector credential + """ + pass + + def test_data_connector_credentials(self) -> None: + """Test case for data_connector_credentials + + Retrieve a list of all data connector credentials + """ + pass + + def test_data_connectors(self) -> None: + """Test case for data_connectors + + Retrieve a list of all data connectors + """ + pass + + def test_delete_connector_credential(self) -> None: + """Test case for delete_connector_credential + + Delete a connector credential + """ + pass + + def test_disable_dv(self) -> None: + """Test case for disable_dv + + Disable data versions for a list of analytic tenants + """ + pass + + def test_dispatching_job_status(self) -> None: + """Test case for dispatching_job_status + + Retrieve a dispatching job's status + """ + pass + + def test_exclude_data_uplaods(self) -> None: + """Test case for exclude_data_uplaods + + Exclude data uploads + """ + pass + + def test_extraction_job_and_status(self) -> None: + """Test case for extraction_job_and_status + + Retrieve a dispatching job's extraction jobs with their statuses + """ + pass + + def test_include_data_uploads(self) -> None: + """Test case for include_data_uploads + + Include data uploads + """ + pass + + def test_job_id_status(self) -> None: + """Test case for job_id_status + + Retrieve a specific job's status + """ + pass + + def test_job_status(self) -> None: + """Test case for job_status + + Retrieve the statuses of all jobs + """ + pass + + def test_latest_enabled_dv(self) -> None: + """Test case for latest_enabled_dv + + Retrieve the latest enabled data versions for all analytic tenants + """ + pass + + def test_processing_job_and_status(self) -> None: + """Test case for processing_job_and_status + + Retrieve a dispatching job's processing jobs with their statuses + """ + pass + + def test_processing_job_status(self) -> None: + """Test case for processing_job_status + + Retrieve processing job statuses by receiving job ID + """ + pass + + def test_receiving_job_and_status(self) -> None: + """Test case for receiving_job_and_status + + Retrieve a dispatching job's receiving jobs with their statuses + """ + pass + + def test_receiving_job_status(self) -> None: + """Test case for receiving_job_status + + Retrieve a receiving job's status + """ + pass + + def test_retrieve_data_categories(self) -> None: + """Test case for retrieve_data_categories + + Retrieve a list of all data categories + """ + pass + + def test_retrieve_data_uploads(self) -> None: + """Test case for retrieve_data_uploads + + Retrieve data uploads + """ + pass + + def test_start_extraction(self) -> None: + """Test case for start_extraction + + Trigger extraction jobs + """ + pass + + def test_start_load(self) -> None: + """Test case for start_load + + Start the data load for an analytic tenant + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_categories_response_dto.py b/src/visier.sdk.api.data_in/test/test_data_categories_response_dto.py new file mode 100644 index 000000000..23b05c9ba --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_categories_response_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.data_categories_response_dto import DataCategoriesResponseDTO + +class TestDataCategoriesResponseDTO(unittest.TestCase): + """DataCategoriesResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataCategoriesResponseDTO: + """Test DataCategoriesResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataCategoriesResponseDTO` + """ + model = DataCategoriesResponseDTO() + if include_optional: + return DataCategoriesResponseDTO( + categories = [ + visier.sdk.api.data_in.models.data_category_response_dto.DataCategoryResponseDTO( + id = '', + name = '', ) + ] + ) + else: + return DataCategoriesResponseDTO( + ) + """ + + def testDataCategoriesResponseDTO(self): + """Test DataCategoriesResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_category_response_dto.py b/src/visier.sdk.api.data_in/test/test_data_category_response_dto.py new file mode 100644 index 000000000..4d52c7014 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_category_response_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.data_category_response_dto import DataCategoryResponseDTO + +class TestDataCategoryResponseDTO(unittest.TestCase): + """DataCategoryResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataCategoryResponseDTO: + """Test DataCategoryResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataCategoryResponseDTO` + """ + model = DataCategoryResponseDTO() + if include_optional: + return DataCategoryResponseDTO( + id = '', + name = '' + ) + else: + return DataCategoryResponseDTO( + ) + """ + + def testDataCategoryResponseDTO(self): + """Test DataCategoryResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_intake_api.py b/src/visier.sdk.api.data_in/test/test_data_intake_api.py new file mode 100644 index 000000000..8fd412d90 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_intake_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.api.data_intake_api import DataIntakeApi + + +class TestDataIntakeApi(unittest.TestCase): + """DataIntakeApi unit test stubs""" + + def setUp(self) -> None: + self.api = DataIntakeApi() + + def tearDown(self) -> None: + pass + + def test_get_sources(self) -> None: + """Test case for get_sources + + Retrieve a list of sources + """ + pass + + def test_push_data(self) -> None: + """Test case for push_data + + Transfer data to sources via JSON + """ + pass + + def test_push_data_cancel(self) -> None: + """Test case for push_data_cancel + + Cancel a transfer session + """ + pass + + def test_push_data_complete(self) -> None: + """Test case for push_data_complete + + Complete a transfer session + """ + pass + + def test_start_transfer(self) -> None: + """Test case for start_transfer + + Start a transfer session + """ + pass + + def test_upload_data(self) -> None: + """Test case for upload_data + + Transfer data to sources via file upload + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_load_request.py b/src/visier.sdk.api.data_in/test/test_data_load_request.py new file mode 100644 index 000000000..1115354ba --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_load_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.data_load_request import DataLoadRequest + +class TestDataLoadRequest(unittest.TestCase): + """DataLoadRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataLoadRequest: + """Test DataLoadRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataLoadRequest` + """ + model = DataLoadRequest() + if include_optional: + return DataLoadRequest( + model = visier.sdk.api.data_in.models.data_load_request_model.DataLoadRequestModel( + files = [ + '' + ], + skip_data_load = True, ) + ) + else: + return DataLoadRequest( + ) + """ + + def testDataLoadRequest(self): + """Test DataLoadRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_load_request_model.py b/src/visier.sdk.api.data_in/test/test_data_load_request_model.py new file mode 100644 index 000000000..0fa5fc459 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_load_request_model.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.data_load_request_model import DataLoadRequestModel + +class TestDataLoadRequestModel(unittest.TestCase): + """DataLoadRequestModel unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataLoadRequestModel: + """Test DataLoadRequestModel + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataLoadRequestModel` + """ + model = DataLoadRequestModel() + if include_optional: + return DataLoadRequestModel( + files = [ + '' + ], + skip_data_load = True + ) + else: + return DataLoadRequestModel( + ) + """ + + def testDataLoadRequestModel(self): + """Test DataLoadRequestModel""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_load_response.py b/src/visier.sdk.api.data_in/test/test_data_load_response.py new file mode 100644 index 000000000..f53f79931 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_load_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.data_load_response import DataLoadResponse + +class TestDataLoadResponse(unittest.TestCase): + """DataLoadResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataLoadResponse: + """Test DataLoadResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataLoadResponse` + """ + model = DataLoadResponse() + if include_optional: + return DataLoadResponse( + job_id = '' + ) + else: + return DataLoadResponse( + ) + """ + + def testDataLoadResponse(self): + """Test DataLoadResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_provider_auth_information_dto.py b/src/visier.sdk.api.data_in/test/test_data_provider_auth_information_dto.py new file mode 100644 index 000000000..7b59196a3 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_provider_auth_information_dto.py @@ -0,0 +1,239 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.data_provider_auth_information_dto import DataProviderAuthInformationDTO + +class TestDataProviderAuthInformationDTO(unittest.TestCase): + """DataProviderAuthInformationDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataProviderAuthInformationDTO: + """Test DataProviderAuthInformationDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataProviderAuthInformationDTO` + """ + model = DataProviderAuthInformationDTO() + if include_optional: + return DataProviderAuthInformationDTO( + data_provider_auth_params = visier.sdk.api.data_in.models.data_provider_auth_params_dto.DataProviderAuthParamsDTO( + adp_auth_params = visier.sdk.api.data_in.models.adp_auth_params_dto.AdpAuthParamsDTO( + auth_code = '', ), + auth_context = 'DefaultDataExtraction', + bamboo_auth_params = visier.sdk.api.data_in.models.bamboo_auth_params_dto.BambooAuthParamsDTO( + access_key = '', + tenant_domain_name = '', ), + big_query_auth_params = visier.sdk.api.data_in.models.big_query_auth_params_dto.BigQueryAuthParamsDTO( + client_id = '', + client_secret = '', + dataset_location = '', + default_dataset = '', + project_id = '', + refresh_token = '', + service_account_params = visier.sdk.api.data_in.models.big_query_service_account_params_dto.BigQueryServiceAccountParamsDTO( + private_key = '', + service_account_email = '', ), ), + copy_s3_auth_params = visier.sdk.api.data_in.models.copy_s3_auth_params_dto.CopyS3AuthParamsDTO( + iam_role = '', ), + dayforce_v2_auth_params = visier.sdk.api.data_in.models.dayforce_v2_auth_params_dto.DayforceV2AuthParamsDTO( + company_id = '', + host_domain_name = '', + password = '', + token_host = '', + username = '', ), + dimensions_auth_params = visier.sdk.api.data_in.models.dimensions_auth_params_dto.DimensionsAuthParamsDTO( + app_key = '', + client_id = '', + client_secret = '', + password = '', + username = '', + vanity_url = '', ), + empty_auth_params = visier.sdk.api.data_in.models.empty_auth_params_dto.EmptyAuthParamsDTO(), + fusion_auth_params = visier.sdk.api.data_in.models.fusion_auth_params_dto.FusionAuthParamsDTO( + host_domain_name = '', + password = '', + username = '', ), + gong_auth_params = visier.sdk.api.data_in.models.gong_auth_params_dto.GongAuthParamsDTO( + client_id = '', + client_secret = '', ), + google_sheets_auth_params = visier.sdk.api.data_in.models.google_sheets_auth_params_dto.GoogleSheetsAuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '', + configuration = '', ), + google_workspace_auth_params = visier.sdk.api.data_in.models.google_workspace_auth_params_dto.GoogleWorkspaceAuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '', ), + greenhouse_auth_params = visier.sdk.api.data_in.models.greenhouse_auth_params_dto.GreenhouseAuthParamsDTO( + api_key = '', ), + has_updates = True, + icims_auth_params = visier.sdk.api.data_in.models.icims_auth_params_dto.IcimsAuthParamsDTO( + customer_id = '', + password = '', + username = '', ), + internal_s3_auth_params = visier.sdk.api.data_in.models.internal_s3_auth_params_dto.InternalS3AuthParamsDTO( + bucket_name = '', + path = '', ), + jdbc_auth_params = visier.sdk.api.data_in.models.jdbc_auth_params_dto.JdbcAuthParamsDTO( + jdbc_connect_string = '', + password = '', + username = '', ), + jira_auth_params = visier.sdk.api.data_in.models.jira_auth_params_dto.JiraAuthParamsDTO( + api_token = '', + connect_params = visier.sdk.api.data_in.models.jira_connect_params_dto.JiraConnectParamsDTO( + app_key = '', + client_key = '', + shared_secret = '', ), + host_name = '', ), + lever_auth_params = visier.sdk.api.data_in.models.lever_auth_params_dto.LeverAuthParamsDTO( + api_key = '', ), + medallia_auth_params = visier.sdk.api.data_in.models.medallia_auth_params_dto.MedalliaAuthParamsDTO( + client_id = '', + client_secret = '', + instance_url = '', + tenant_domain_name = '', ), + ms365_auth_params = visier.sdk.api.data_in.models.microsoft365_auth_params_dto.Microsoft365AuthParamsDTO( + client_id = '', + client_secret = '', + o_auth_tenant_id = '', ), + my_sql_auth_params = visier.sdk.api.data_in.models.my_sql_auth_params_dto.MySqlAuthParamsDTO( + database = '', + host = '', + password = '', + port = '', + ssl_mode = '', + username = '', ), + namely_auth_params = visier.sdk.api.data_in.models.namely_auth_params_dto.NamelyAuthParamsDTO( + auth_code = '', ), + oracle_db_auth_params = visier.sdk.api.data_in.models.oracle_db_auth_params_dto.OracleDbAuthParamsDTO( + host = '', + password = '', + port = '', + service_name = '', + username = '', ), + provider = 'Bamboo', + qualtrics_auth_params = visier.sdk.api.data_in.models.qualtrics_auth_params_dto.QualtricsAuthParamsDTO( + api_token = '', + data_center_id = '', ), + redshift_auth_params = visier.sdk.api.data_in.models.redshift_auth_params_dto.RedshiftAuthParamsDTO( + database = '', + endpoint = '', + password = '', + port = '', + schema = '', + table_prefix = '', + username = '', ), + s3_auth_params = visier.sdk.api.data_in.models.basic_s3_auth_params_dto.BasicS3AuthParamsDTO( + access_key = '', + bucket_name = '', + bucket_region = '', + path = '', + secret_key = '', ), + salesforce_auth_params = visier.sdk.api.data_in.models.salesforce_auth_params_dto.SalesforceAuthParamsDTO( + client_id = '', + refresh_token = '', ), + salesforce_v2_auth_params = visier.sdk.api.data_in.models.salesforce_v2_auth_params_dto.SalesforceV2AuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '', + login_host = '', ), + service_now_auth_params = visier.sdk.api.data_in.models.service_now_auth_params_dto.ServiceNowAuthParamsDTO( + host_domain_name = '', + password = '', + username = '', ), + slack_auth_params = visier.sdk.api.data_in.models.slack_auth_params_dto.SlackAuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '', ), + snowflake_auth_params = visier.sdk.api.data_in.models.snowflake_auth_params_dto.SnowflakeAuthParamsDTO( + account_identifier = '', + database = '', + password = '', + private_key = '', + schema = '', + username = '', + warehouse = '', ), + sql_server_auth_params = visier.sdk.api.data_in.models.sql_server_auth_params_dto.SqlServerAuthParamsDTO( + database = '', + host = '', + password = '', + port = '', + username = '', ), + success_factors_auth_params = visier.sdk.api.data_in.models.success_factors_auth_params_dto.SuccessFactorsAuthParamsDTO( + company_id = '', + host_domain_name = '', + o_auth = visier.sdk.api.data_in.models.success_factors_o_auth_params_dto.SuccessFactorsOAuthParamsDTO( + api_key = '', + private_x509_key = '', + public_x509_cert = '', ), + password = '', + username = '', ), + tenant_domain_name = '', + ultimate_auth_params = visier.sdk.api.data_in.models.ultimate_auth_params_dto.UltimateAuthParamsDTO( + api_key = '', + host_domain_name = '', + password = '', + user_access_key = '', + username = '', ), + willow_auth_params = visier.sdk.api.data_in.models.willow_auth_params_dto.WillowAuthParamsDTO( + api_token = '', + host_name = '', ), + workday_auth_params = visier.sdk.api.data_in.models.workday_auth_params_dto.WorkdayAuthParamsDTO( + api_key = '', + domain_name = '', + implementation_name = '', + integration_system_id = '', + password = '', + ref_token = visier.sdk.api.data_in.models.workday_refresh_token_params_dto.WorkdayRefreshTokenParamsDTO( + api_client_id = '', + client_secret = '', + refresh_token = '', ), + user_id = '', ), + workday_raas_auth_params = visier.sdk.api.data_in.models.workday_raas_auth_params_dto.WorkdayRaasAuthParamsDTO( + domain_name = '', + implementation_name = '', + password = '', + test_report_url = '', + user_id = '', ), + zoom_auth_params = visier.sdk.api.data_in.models.zoom_auth_params_dto.ZoomAuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '', ), ), + data_provider_basic_information = visier.sdk.api.data_in.models.data_provider_basic_information_dto.DataProviderBasicInformationDTO( + description = '', + display_name = '', ), + data_provider_metadata = visier.sdk.api.data_in.models.data_provider_basic_metadata_dto.DataProviderBasicMetadataDTO( + can_children_inherit = True, ) + ) + else: + return DataProviderAuthInformationDTO( + ) + """ + + def testDataProviderAuthInformationDTO(self): + """Test DataProviderAuthInformationDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_provider_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_data_provider_auth_params_dto.py new file mode 100644 index 000000000..1c9999a46 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_provider_auth_params_dto.py @@ -0,0 +1,237 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.data_provider_auth_params_dto import DataProviderAuthParamsDTO + +class TestDataProviderAuthParamsDTO(unittest.TestCase): + """DataProviderAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataProviderAuthParamsDTO: + """Test DataProviderAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataProviderAuthParamsDTO` + """ + model = DataProviderAuthParamsDTO() + if include_optional: + return DataProviderAuthParamsDTO( + adp_auth_params = visier.sdk.api.data_in.models.adp_auth_params_dto.AdpAuthParamsDTO( + auth_code = '', ), + auth_context = 'DefaultDataExtraction', + bamboo_auth_params = visier.sdk.api.data_in.models.bamboo_auth_params_dto.BambooAuthParamsDTO( + access_key = '', + tenant_domain_name = '', ), + big_query_auth_params = visier.sdk.api.data_in.models.big_query_auth_params_dto.BigQueryAuthParamsDTO( + client_id = '', + client_secret = '', + dataset_location = '', + default_dataset = '', + project_id = '', + refresh_token = '', + service_account_params = visier.sdk.api.data_in.models.big_query_service_account_params_dto.BigQueryServiceAccountParamsDTO( + private_key = '', + service_account_email = '', ), ), + copy_s3_auth_params = visier.sdk.api.data_in.models.copy_s3_auth_params_dto.CopyS3AuthParamsDTO( + iam_role = '', ), + dayforce_v2_auth_params = visier.sdk.api.data_in.models.dayforce_v2_auth_params_dto.DayforceV2AuthParamsDTO( + company_id = '', + host_domain_name = '', + password = '', + token_host = '', + username = '', ), + dimensions_auth_params = visier.sdk.api.data_in.models.dimensions_auth_params_dto.DimensionsAuthParamsDTO( + app_key = '', + client_id = '', + client_secret = '', + password = '', + username = '', + vanity_url = '', ), + empty_auth_params = visier.sdk.api.data_in.models.empty_auth_params_dto.EmptyAuthParamsDTO(), + fusion_auth_params = visier.sdk.api.data_in.models.fusion_auth_params_dto.FusionAuthParamsDTO( + host_domain_name = '', + password = '', + username = '', ), + gong_auth_params = visier.sdk.api.data_in.models.gong_auth_params_dto.GongAuthParamsDTO( + client_id = '', + client_secret = '', ), + google_sheets_auth_params = visier.sdk.api.data_in.models.google_sheets_auth_params_dto.GoogleSheetsAuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '', + configuration = '', ), + google_workspace_auth_params = visier.sdk.api.data_in.models.google_workspace_auth_params_dto.GoogleWorkspaceAuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '', ), + greenhouse_auth_params = visier.sdk.api.data_in.models.greenhouse_auth_params_dto.GreenhouseAuthParamsDTO( + api_key = '', ), + has_updates = True, + icims_auth_params = visier.sdk.api.data_in.models.icims_auth_params_dto.IcimsAuthParamsDTO( + customer_id = '', + password = '', + username = '', ), + internal_s3_auth_params = visier.sdk.api.data_in.models.internal_s3_auth_params_dto.InternalS3AuthParamsDTO( + bucket_name = '', + path = '', ), + jdbc_auth_params = visier.sdk.api.data_in.models.jdbc_auth_params_dto.JdbcAuthParamsDTO( + jdbc_connect_string = '', + password = '', + username = '', ), + jira_auth_params = visier.sdk.api.data_in.models.jira_auth_params_dto.JiraAuthParamsDTO( + api_token = '', + connect_params = visier.sdk.api.data_in.models.jira_connect_params_dto.JiraConnectParamsDTO( + app_key = '', + client_key = '', + shared_secret = '', ), + host_name = '', ), + lever_auth_params = visier.sdk.api.data_in.models.lever_auth_params_dto.LeverAuthParamsDTO( + api_key = '', ), + medallia_auth_params = visier.sdk.api.data_in.models.medallia_auth_params_dto.MedalliaAuthParamsDTO( + client_id = '', + client_secret = '', + instance_url = '', + tenant_domain_name = '', ), + ms365_auth_params = visier.sdk.api.data_in.models.microsoft365_auth_params_dto.Microsoft365AuthParamsDTO( + client_id = '', + client_secret = '', + o_auth_tenant_id = '', ), + my_sql_auth_params = visier.sdk.api.data_in.models.my_sql_auth_params_dto.MySqlAuthParamsDTO( + database = '', + host = '', + password = '', + port = '', + ssl_mode = '', + username = '', ), + namely_auth_params = visier.sdk.api.data_in.models.namely_auth_params_dto.NamelyAuthParamsDTO( + auth_code = '', ), + oracle_db_auth_params = visier.sdk.api.data_in.models.oracle_db_auth_params_dto.OracleDbAuthParamsDTO( + host = '', + password = '', + port = '', + service_name = '', + username = '', ), + provider = 'Bamboo', + qualtrics_auth_params = visier.sdk.api.data_in.models.qualtrics_auth_params_dto.QualtricsAuthParamsDTO( + api_token = '', + data_center_id = '', ), + redshift_auth_params = visier.sdk.api.data_in.models.redshift_auth_params_dto.RedshiftAuthParamsDTO( + database = '', + endpoint = '', + password = '', + port = '', + schema = '', + table_prefix = '', + username = '', ), + s3_auth_params = visier.sdk.api.data_in.models.basic_s3_auth_params_dto.BasicS3AuthParamsDTO( + access_key = '', + bucket_name = '', + bucket_region = '', + path = '', + secret_key = '', ), + salesforce_auth_params = visier.sdk.api.data_in.models.salesforce_auth_params_dto.SalesforceAuthParamsDTO( + client_id = '', + refresh_token = '', ), + salesforce_v2_auth_params = visier.sdk.api.data_in.models.salesforce_v2_auth_params_dto.SalesforceV2AuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '', + login_host = '', ), + service_now_auth_params = visier.sdk.api.data_in.models.service_now_auth_params_dto.ServiceNowAuthParamsDTO( + host_domain_name = '', + password = '', + username = '', ), + slack_auth_params = visier.sdk.api.data_in.models.slack_auth_params_dto.SlackAuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '', ), + snowflake_auth_params = visier.sdk.api.data_in.models.snowflake_auth_params_dto.SnowflakeAuthParamsDTO( + account_identifier = '', + database = '', + password = '', + private_key = '', + schema = '', + username = '', + warehouse = '', ), + sql_server_auth_params = visier.sdk.api.data_in.models.sql_server_auth_params_dto.SqlServerAuthParamsDTO( + database = '', + host = '', + password = '', + port = '', + username = '', ), + success_factors_auth_params = visier.sdk.api.data_in.models.success_factors_auth_params_dto.SuccessFactorsAuthParamsDTO( + company_id = '', + host_domain_name = '', + o_auth = visier.sdk.api.data_in.models.success_factors_o_auth_params_dto.SuccessFactorsOAuthParamsDTO( + api_key = '', + private_x509_key = '', + public_x509_cert = '', ), + password = '', + username = '', ), + tenant_domain_name = '', + ultimate_auth_params = visier.sdk.api.data_in.models.ultimate_auth_params_dto.UltimateAuthParamsDTO( + api_key = '', + host_domain_name = '', + password = '', + user_access_key = '', + username = '', ), + willow_auth_params = visier.sdk.api.data_in.models.willow_auth_params_dto.WillowAuthParamsDTO( + api_token = '', + host_name = '', ), + workday_auth_params = visier.sdk.api.data_in.models.workday_auth_params_dto.WorkdayAuthParamsDTO( + api_key = '', + domain_name = '', + implementation_name = '', + integration_system_id = '', + o_auth = visier.sdk.api.data_in.models.workday_o_auth_params_dto.WorkdayOAuthParamsDTO( + api_client_id = '', + private_x509_key = '', + public_x509_cert = '', ), + password = '', + ref_token = visier.sdk.api.data_in.models.workday_refresh_token_params_dto.WorkdayRefreshTokenParamsDTO( + api_client_id = '', + client_secret = '', + refresh_token = '', ), + user_id = '', ), + workday_raas_auth_params = visier.sdk.api.data_in.models.workday_raas_auth_params_dto.WorkdayRaasAuthParamsDTO( + domain_name = '', + implementation_name = '', + password = '', + test_report_url = '', + user_id = '', ), + zoom_auth_params = visier.sdk.api.data_in.models.zoom_auth_params_dto.ZoomAuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '', ) + ) + else: + return DataProviderAuthParamsDTO( + ) + """ + + def testDataProviderAuthParamsDTO(self): + """Test DataProviderAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_provider_basic_information_dto.py b/src/visier.sdk.api.data_in/test/test_data_provider_basic_information_dto.py new file mode 100644 index 000000000..c4ab0ee6e --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_provider_basic_information_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.data_provider_basic_information_dto import DataProviderBasicInformationDTO + +class TestDataProviderBasicInformationDTO(unittest.TestCase): + """DataProviderBasicInformationDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataProviderBasicInformationDTO: + """Test DataProviderBasicInformationDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataProviderBasicInformationDTO` + """ + model = DataProviderBasicInformationDTO() + if include_optional: + return DataProviderBasicInformationDTO( + description = '', + display_name = '' + ) + else: + return DataProviderBasicInformationDTO( + ) + """ + + def testDataProviderBasicInformationDTO(self): + """Test DataProviderBasicInformationDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_provider_basic_metadata_dto.py b/src/visier.sdk.api.data_in/test/test_data_provider_basic_metadata_dto.py new file mode 100644 index 000000000..d28898511 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_provider_basic_metadata_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.data_provider_basic_metadata_dto import DataProviderBasicMetadataDTO + +class TestDataProviderBasicMetadataDTO(unittest.TestCase): + """DataProviderBasicMetadataDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataProviderBasicMetadataDTO: + """Test DataProviderBasicMetadataDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataProviderBasicMetadataDTO` + """ + model = DataProviderBasicMetadataDTO() + if include_optional: + return DataProviderBasicMetadataDTO( + can_children_inherit = True + ) + else: + return DataProviderBasicMetadataDTO( + ) + """ + + def testDataProviderBasicMetadataDTO(self): + """Test DataProviderBasicMetadataDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_transfer_result_detail.py b/src/visier.sdk.api.data_in/test/test_data_transfer_result_detail.py new file mode 100644 index 000000000..caf8c5766 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_transfer_result_detail.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.data_transfer_result_detail import DataTransferResultDetail + +class TestDataTransferResultDetail(unittest.TestCase): + """DataTransferResultDetail unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataTransferResultDetail: + """Test DataTransferResultDetail + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataTransferResultDetail` + """ + model = DataTransferResultDetail() + if include_optional: + return DataTransferResultDetail( + data_size = '', + rows = '', + source_names = [ + '' + ], + tenant_code = '' + ) + else: + return DataTransferResultDetail( + ) + """ + + def testDataTransferResultDetail(self): + """Test DataTransferResultDetail""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_upload_api.py b/src/visier.sdk.api.data_in/test/test_data_upload_api.py new file mode 100644 index 000000000..515d2f700 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_upload_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.api.data_upload_api import DataUploadApi + + +class TestDataUploadApi(unittest.TestCase): + """DataUploadApi unit test stubs""" + + def setUp(self) -> None: + self.api = DataUploadApi() + + def tearDown(self) -> None: + pass + + def test_v1_data_upload_files_filename_put(self) -> None: + """Test case for v1_data_upload_files_filename_put + + Upload a data file to Visier + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_version_and_date_dto.py b/src/visier.sdk.api.data_in/test/test_data_version_and_date_dto.py new file mode 100644 index 000000000..cf9ed0cf0 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_version_and_date_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.data_version_and_date_dto import DataVersionAndDateDTO + +class TestDataVersionAndDateDTO(unittest.TestCase): + """DataVersionAndDateDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataVersionAndDateDTO: + """Test DataVersionAndDateDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataVersionAndDateDTO` + """ + model = DataVersionAndDateDTO() + if include_optional: + return DataVersionAndDateDTO( + data_version = '', + data_version_date = '' + ) + else: + return DataVersionAndDateDTO( + ) + """ + + def testDataVersionAndDateDTO(self): + """Test DataVersionAndDateDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_data_version_object.py b/src/visier.sdk.api.data_in/test/test_data_version_object.py new file mode 100644 index 000000000..267bc8247 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_data_version_object.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.data_version_object import DataVersionObject + +class TestDataVersionObject(unittest.TestCase): + """DataVersionObject unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataVersionObject: + """Test DataVersionObject + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataVersionObject` + """ + model = DataVersionObject() + if include_optional: + return DataVersionObject( + data_versions = '', + tenant_code = '' + ) + else: + return DataVersionObject( + ) + """ + + def testDataVersionObject(self): + """Test DataVersionObject""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_dayforce_v2_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_dayforce_v2_auth_params_dto.py new file mode 100644 index 000000000..99c74312a --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_dayforce_v2_auth_params_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.dayforce_v2_auth_params_dto import DayforceV2AuthParamsDTO + +class TestDayforceV2AuthParamsDTO(unittest.TestCase): + """DayforceV2AuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DayforceV2AuthParamsDTO: + """Test DayforceV2AuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DayforceV2AuthParamsDTO` + """ + model = DayforceV2AuthParamsDTO() + if include_optional: + return DayforceV2AuthParamsDTO( + company_id = '', + host_domain_name = '', + password = '', + token_host = '', + username = '' + ) + else: + return DayforceV2AuthParamsDTO( + ) + """ + + def testDayforceV2AuthParamsDTO(self): + """Test DayforceV2AuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_dimensions_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_dimensions_auth_params_dto.py new file mode 100644 index 000000000..5ec98d6bb --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_dimensions_auth_params_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.dimensions_auth_params_dto import DimensionsAuthParamsDTO + +class TestDimensionsAuthParamsDTO(unittest.TestCase): + """DimensionsAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DimensionsAuthParamsDTO: + """Test DimensionsAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DimensionsAuthParamsDTO` + """ + model = DimensionsAuthParamsDTO() + if include_optional: + return DimensionsAuthParamsDTO( + app_key = '', + client_id = '', + client_secret = '', + password = '', + username = '', + vanity_url = '' + ) + else: + return DimensionsAuthParamsDTO( + ) + """ + + def testDimensionsAuthParamsDTO(self): + """Test DimensionsAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_direct_data_intake_api.py b/src/visier.sdk.api.data_in/test/test_direct_data_intake_api.py new file mode 100644 index 000000000..385c6333f --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_direct_data_intake_api.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.api.direct_data_intake_api import DirectDataIntakeApi + + +class TestDirectDataIntakeApi(unittest.TestCase): + """DirectDataIntakeApi unit test stubs""" + + def setUp(self) -> None: + self.api = DirectDataIntakeApi() + + def tearDown(self) -> None: + pass + + def test_commit_transaction(self) -> None: + """Test case for commit_transaction + + Commit a transaction + """ + pass + + def test_get_config(self) -> None: + """Test case for get_config + + Get the direct data intake configuration + """ + pass + + def test_job_status(self) -> None: + """Test case for job_status + + Check transaction status + """ + pass + + def test_object_schema(self) -> None: + """Test case for object_schema + + Retrieve an object's data load schema + """ + pass + + def test_put_config(self) -> None: + """Test case for put_config + + Update the direct data intake configuration + """ + pass + + def test_rollback_transaction(self) -> None: + """Test case for rollback_transaction + + Roll back a transaction + """ + pass + + def test_start_transaction(self) -> None: + """Test case for start_transaction + + Start a direct data intake transaction + """ + pass + + def test_upload_file(self) -> None: + """Test case for upload_file + + Upload files + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_direct_data_job_config_dto.py b/src/visier.sdk.api.data_in/test/test_direct_data_job_config_dto.py new file mode 100644 index 000000000..c098ae6d2 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_direct_data_job_config_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.direct_data_job_config_dto import DirectDataJobConfigDTO + +class TestDirectDataJobConfigDTO(unittest.TestCase): + """DirectDataJobConfigDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DirectDataJobConfigDTO: + """Test DirectDataJobConfigDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DirectDataJobConfigDTO` + """ + model = DirectDataJobConfigDTO() + if include_optional: + return DirectDataJobConfigDTO( + extend_objects = [ + '' + ], + supplemental_mode = 'UNCHANGED' + ) + else: + return DirectDataJobConfigDTO( + ) + """ + + def testDirectDataJobConfigDTO(self): + """Test DirectDataJobConfigDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_direct_data_job_status_response_dto.py b/src/visier.sdk.api.data_in/test/test_direct_data_job_status_response_dto.py new file mode 100644 index 000000000..ad320b187 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_direct_data_job_status_response_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.direct_data_job_status_response_dto import DirectDataJobStatusResponseDTO + +class TestDirectDataJobStatusResponseDTO(unittest.TestCase): + """DirectDataJobStatusResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DirectDataJobStatusResponseDTO: + """Test DirectDataJobStatusResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DirectDataJobStatusResponseDTO` + """ + model = DirectDataJobStatusResponseDTO() + if include_optional: + return DirectDataJobStatusResponseDTO( + job_id = '', + message = '', + status = '', + tenant_code = '', + transaction_id = '' + ) + else: + return DirectDataJobStatusResponseDTO( + ) + """ + + def testDirectDataJobStatusResponseDTO(self): + """Test DirectDataJobStatusResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_direct_data_load_config_dto.py b/src/visier.sdk.api.data_in/test/test_direct_data_load_config_dto.py new file mode 100644 index 000000000..521a7a2bd --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_direct_data_load_config_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.direct_data_load_config_dto import DirectDataLoadConfigDTO + +class TestDirectDataLoadConfigDTO(unittest.TestCase): + """DirectDataLoadConfigDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DirectDataLoadConfigDTO: + """Test DirectDataLoadConfigDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DirectDataLoadConfigDTO` + """ + model = DirectDataLoadConfigDTO() + if include_optional: + return DirectDataLoadConfigDTO( + job = visier.sdk.api.data_in.models.direct_data_job_config_dto.DirectDataJobConfigDTO( + extend_objects = [ + '' + ], + supplemental_mode = 'UNCHANGED', ) + ) + else: + return DirectDataLoadConfigDTO( + ) + """ + + def testDirectDataLoadConfigDTO(self): + """Test DirectDataLoadConfigDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_direct_data_schema_field_dto.py b/src/visier.sdk.api.data_in/test/test_direct_data_schema_field_dto.py new file mode 100644 index 000000000..827048d50 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_direct_data_schema_field_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.direct_data_schema_field_dto import DirectDataSchemaFieldDTO + +class TestDirectDataSchemaFieldDTO(unittest.TestCase): + """DirectDataSchemaFieldDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DirectDataSchemaFieldDTO: + """Test DirectDataSchemaFieldDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DirectDataSchemaFieldDTO` + """ + model = DirectDataSchemaFieldDTO() + if include_optional: + return DirectDataSchemaFieldDTO( + data_type = '', + empty_values_allowed = True, + formats = [ + '' + ], + is_mandatory = True, + name = '' + ) + else: + return DirectDataSchemaFieldDTO( + ) + """ + + def testDirectDataSchemaFieldDTO(self): + """Test DirectDataSchemaFieldDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_direct_data_transaction_start_response_dto.py b/src/visier.sdk.api.data_in/test/test_direct_data_transaction_start_response_dto.py new file mode 100644 index 000000000..eb2e1fbe3 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_direct_data_transaction_start_response_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.direct_data_transaction_start_response_dto import DirectDataTransactionStartResponseDTO + +class TestDirectDataTransactionStartResponseDTO(unittest.TestCase): + """DirectDataTransactionStartResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DirectDataTransactionStartResponseDTO: + """Test DirectDataTransactionStartResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DirectDataTransactionStartResponseDTO` + """ + model = DirectDataTransactionStartResponseDTO() + if include_optional: + return DirectDataTransactionStartResponseDTO( + transaction_id = '' + ) + else: + return DirectDataTransactionStartResponseDTO( + ) + """ + + def testDirectDataTransactionStartResponseDTO(self): + """Test DirectDataTransactionStartResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_direct_data_upload_file_response_dto.py b/src/visier.sdk.api.data_in/test/test_direct_data_upload_file_response_dto.py new file mode 100644 index 000000000..08284c6dd --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_direct_data_upload_file_response_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.direct_data_upload_file_response_dto import DirectDataUploadFileResponseDTO + +class TestDirectDataUploadFileResponseDTO(unittest.TestCase): + """DirectDataUploadFileResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DirectDataUploadFileResponseDTO: + """Test DirectDataUploadFileResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DirectDataUploadFileResponseDTO` + """ + model = DirectDataUploadFileResponseDTO() + if include_optional: + return DirectDataUploadFileResponseDTO( + message = '', + status = '', + transaction_id = '' + ) + else: + return DirectDataUploadFileResponseDTO( + ) + """ + + def testDirectDataUploadFileResponseDTO(self): + """Test DirectDataUploadFileResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_disable_dv_model.py b/src/visier.sdk.api.data_in/test/test_disable_dv_model.py new file mode 100644 index 000000000..c76834e19 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_disable_dv_model.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.disable_dv_model import DisableDVModel + +class TestDisableDVModel(unittest.TestCase): + """DisableDVModel unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DisableDVModel: + """Test DisableDVModel + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DisableDVModel` + """ + model = DisableDVModel() + if include_optional: + return DisableDVModel( + data_version_objects = [ + visier.sdk.api.data_in.models.data_version_object.DataVersionObject( + data_versions = '', + tenant_code = '', ) + ] + ) + else: + return DisableDVModel( + ) + """ + + def testDisableDVModel(self): + """Test DisableDVModel""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_disable_dv_request.py b/src/visier.sdk.api.data_in/test/test_disable_dv_request.py new file mode 100644 index 000000000..10c79f960 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_disable_dv_request.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.disable_dv_request import DisableDVRequest + +class TestDisableDVRequest(unittest.TestCase): + """DisableDVRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DisableDVRequest: + """Test DisableDVRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DisableDVRequest` + """ + model = DisableDVRequest() + if include_optional: + return DisableDVRequest( + model = visier.sdk.api.data_in.models.disable_dv_model.DisableDVModel( + data_version_objects = [ + visier.sdk.api.data_in.models.data_version_object.DataVersionObject( + data_versions = '', + tenant_code = '', ) + ], ) + ) + else: + return DisableDVRequest( + ) + """ + + def testDisableDVRequest(self): + """Test DisableDVRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_disable_dv_response.py b/src/visier.sdk.api.data_in/test/test_disable_dv_response.py new file mode 100644 index 000000000..c8acf653a --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_disable_dv_response.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.disable_dv_response import DisableDVResponse + +class TestDisableDVResponse(unittest.TestCase): + """DisableDVResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DisableDVResponse: + """Test DisableDVResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DisableDVResponse` + """ + model = DisableDVResponse() + if include_optional: + return DisableDVResponse( + results = [ + visier.sdk.api.data_in.models.result.Result( + data_version = '', + job_id = '', + message = '', + status = '', + tenant_code = '', ) + ], + total_failures = 56, + total_success = 56 + ) + else: + return DisableDVResponse( + ) + """ + + def testDisableDVResponse(self): + """Test DisableDVResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_dispatching_job_status_response.py b/src/visier.sdk.api.data_in/test/test_dispatching_job_status_response.py new file mode 100644 index 000000000..4de681297 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_dispatching_job_status_response.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.dispatching_job_status_response import DispatchingJobStatusResponse + +class TestDispatchingJobStatusResponse(unittest.TestCase): + """DispatchingJobStatusResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DispatchingJobStatusResponse: + """Test DispatchingJobStatusResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DispatchingJobStatusResponse` + """ + model = DispatchingJobStatusResponse() + if include_optional: + return DispatchingJobStatusResponse( + job_id = '', + status = '', + tenant_code = '', + total_jobs_dispatched = 56 + ) + else: + return DispatchingJobStatusResponse( + ) + """ + + def testDispatchingJobStatusResponse(self): + """Test DispatchingJobStatusResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_exclude_data_uploads_request.py b/src/visier.sdk.api.data_in/test/test_exclude_data_uploads_request.py new file mode 100644 index 000000000..ecc2f0731 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_exclude_data_uploads_request.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.exclude_data_uploads_request import ExcludeDataUploadsRequest + +class TestExcludeDataUploadsRequest(unittest.TestCase): + """ExcludeDataUploadsRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ExcludeDataUploadsRequest: + """Test ExcludeDataUploadsRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ExcludeDataUploadsRequest` + """ + model = ExcludeDataUploadsRequest() + if include_optional: + return ExcludeDataUploadsRequest( + model = visier.sdk.api.data_in.models.upload_to_exclude_model.UploadToExcludeModel( + uploads = [ + visier.sdk.api.data_in.models.upload_to_exclude.UploadToExclude( + exclude_all = True, + tenant_code = '', + upload_times = [ + '' + ], ) + ], ) + ) + else: + return ExcludeDataUploadsRequest( + ) + """ + + def testExcludeDataUploadsRequest(self): + """Test ExcludeDataUploadsRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_extraction_job.py b/src/visier.sdk.api.data_in/test/test_extraction_job.py new file mode 100644 index 000000000..6c7f90144 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_extraction_job.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.extraction_job import ExtractionJob + +class TestExtractionJob(unittest.TestCase): + """ExtractionJob unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ExtractionJob: + """Test ExtractionJob + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ExtractionJob` + """ + model = ExtractionJob() + if include_optional: + return ExtractionJob( + current_stage = '', + extraction_job_id = '', + status = '', + tenant_code = '' + ) + else: + return ExtractionJob( + ) + """ + + def testExtractionJob(self): + """Test ExtractionJob""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_extraction_job_and_status_response.py b/src/visier.sdk.api.data_in/test/test_extraction_job_and_status_response.py new file mode 100644 index 000000000..7263aad54 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_extraction_job_and_status_response.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.extraction_job_and_status_response import ExtractionJobAndStatusResponse + +class TestExtractionJobAndStatusResponse(unittest.TestCase): + """ExtractionJobAndStatusResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ExtractionJobAndStatusResponse: + """Test ExtractionJobAndStatusResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ExtractionJobAndStatusResponse` + """ + model = ExtractionJobAndStatusResponse() + if include_optional: + return ExtractionJobAndStatusResponse( + extraction_jobs = [ + visier.sdk.api.data_in.models.extraction_job.ExtractionJob( + current_stage = '', + extraction_job_id = '', + status = '', + tenant_code = '', ) + ], + limit = 56, + parent_job_id = '', + parent_tenant_code = '', + start = 56 + ) + else: + return ExtractionJobAndStatusResponse( + ) + """ + + def testExtractionJobAndStatusResponse(self): + """Test ExtractionJobAndStatusResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_extractor_credential_apidto.py b/src/visier.sdk.api.data_in/test/test_extractor_credential_apidto.py new file mode 100644 index 000000000..28238d508 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_extractor_credential_apidto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.extractor_credential_apidto import ExtractorCredentialAPIDTO + +class TestExtractorCredentialAPIDTO(unittest.TestCase): + """ExtractorCredentialAPIDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ExtractorCredentialAPIDTO: + """Test ExtractorCredentialAPIDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ExtractorCredentialAPIDTO` + """ + model = ExtractorCredentialAPIDTO() + if include_optional: + return ExtractorCredentialAPIDTO( + auth_context = '', + credential_id = '', + data_provider = '', + display_name = '', + is_inherited = True + ) + else: + return ExtractorCredentialAPIDTO( + ) + """ + + def testExtractorCredentialAPIDTO(self): + """Test ExtractorCredentialAPIDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_extractor_credentials_apidto.py b/src/visier.sdk.api.data_in/test/test_extractor_credentials_apidto.py new file mode 100644 index 000000000..3bf6f225d --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_extractor_credentials_apidto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.extractor_credentials_apidto import ExtractorCredentialsAPIDTO + +class TestExtractorCredentialsAPIDTO(unittest.TestCase): + """ExtractorCredentialsAPIDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ExtractorCredentialsAPIDTO: + """Test ExtractorCredentialsAPIDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ExtractorCredentialsAPIDTO` + """ + model = ExtractorCredentialsAPIDTO() + if include_optional: + return ExtractorCredentialsAPIDTO( + connector_credentials = [ + visier.sdk.api.data_in.models.extractor_credential_apidto.ExtractorCredentialAPIDTO( + auth_context = '', + credential_id = '', + data_provider = '', + display_name = '', + is_inherited = True, ) + ], + limit = 56, + start = 56 + ) + else: + return ExtractorCredentialsAPIDTO( + ) + """ + + def testExtractorCredentialsAPIDTO(self): + """Test ExtractorCredentialsAPIDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_fusion_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_fusion_auth_params_dto.py new file mode 100644 index 000000000..33d1d8326 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_fusion_auth_params_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.fusion_auth_params_dto import FusionAuthParamsDTO + +class TestFusionAuthParamsDTO(unittest.TestCase): + """FusionAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FusionAuthParamsDTO: + """Test FusionAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FusionAuthParamsDTO` + """ + model = FusionAuthParamsDTO() + if include_optional: + return FusionAuthParamsDTO( + host_domain_name = '', + password = '', + username = '' + ) + else: + return FusionAuthParamsDTO( + ) + """ + + def testFusionAuthParamsDTO(self): + """Test FusionAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_gong_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_gong_auth_params_dto.py new file mode 100644 index 000000000..5cf3fbc8c --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_gong_auth_params_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.gong_auth_params_dto import GongAuthParamsDTO + +class TestGongAuthParamsDTO(unittest.TestCase): + """GongAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GongAuthParamsDTO: + """Test GongAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GongAuthParamsDTO` + """ + model = GongAuthParamsDTO() + if include_optional: + return GongAuthParamsDTO( + client_id = '', + client_secret = '' + ) + else: + return GongAuthParamsDTO( + ) + """ + + def testGongAuthParamsDTO(self): + """Test GongAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_google_protobuf_any.py b/src/visier.sdk.api.data_in/test/test_google_protobuf_any.py new file mode 100644 index 000000000..5423585f1 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_google_protobuf_any.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.google_protobuf_any import GoogleProtobufAny + +class TestGoogleProtobufAny(unittest.TestCase): + """GoogleProtobufAny unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoogleProtobufAny: + """Test GoogleProtobufAny + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoogleProtobufAny` + """ + model = GoogleProtobufAny() + if include_optional: + return GoogleProtobufAny( + type = '' + ) + else: + return GoogleProtobufAny( + ) + """ + + def testGoogleProtobufAny(self): + """Test GoogleProtobufAny""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_google_sheets_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_google_sheets_auth_params_dto.py new file mode 100644 index 000000000..c73de4d3d --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_google_sheets_auth_params_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.google_sheets_auth_params_dto import GoogleSheetsAuthParamsDTO + +class TestGoogleSheetsAuthParamsDTO(unittest.TestCase): + """GoogleSheetsAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoogleSheetsAuthParamsDTO: + """Test GoogleSheetsAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoogleSheetsAuthParamsDTO` + """ + model = GoogleSheetsAuthParamsDTO() + if include_optional: + return GoogleSheetsAuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '', + configuration = '' + ) + else: + return GoogleSheetsAuthParamsDTO( + ) + """ + + def testGoogleSheetsAuthParamsDTO(self): + """Test GoogleSheetsAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_google_workspace_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_google_workspace_auth_params_dto.py new file mode 100644 index 000000000..302e9806d --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_google_workspace_auth_params_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.google_workspace_auth_params_dto import GoogleWorkspaceAuthParamsDTO + +class TestGoogleWorkspaceAuthParamsDTO(unittest.TestCase): + """GoogleWorkspaceAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoogleWorkspaceAuthParamsDTO: + """Test GoogleWorkspaceAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoogleWorkspaceAuthParamsDTO` + """ + model = GoogleWorkspaceAuthParamsDTO() + if include_optional: + return GoogleWorkspaceAuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '' + ) + else: + return GoogleWorkspaceAuthParamsDTO( + ) + """ + + def testGoogleWorkspaceAuthParamsDTO(self): + """Test GoogleWorkspaceAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_greenhouse_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_greenhouse_auth_params_dto.py new file mode 100644 index 000000000..c0b6be261 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_greenhouse_auth_params_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.greenhouse_auth_params_dto import GreenhouseAuthParamsDTO + +class TestGreenhouseAuthParamsDTO(unittest.TestCase): + """GreenhouseAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GreenhouseAuthParamsDTO: + """Test GreenhouseAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GreenhouseAuthParamsDTO` + """ + model = GreenhouseAuthParamsDTO() + if include_optional: + return GreenhouseAuthParamsDTO( + api_key = '' + ) + else: + return GreenhouseAuthParamsDTO( + ) + """ + + def testGreenhouseAuthParamsDTO(self): + """Test GreenhouseAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_icims_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_icims_auth_params_dto.py new file mode 100644 index 000000000..87ccbf8d6 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_icims_auth_params_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.icims_auth_params_dto import IcimsAuthParamsDTO + +class TestIcimsAuthParamsDTO(unittest.TestCase): + """IcimsAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> IcimsAuthParamsDTO: + """Test IcimsAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `IcimsAuthParamsDTO` + """ + model = IcimsAuthParamsDTO() + if include_optional: + return IcimsAuthParamsDTO( + customer_id = '', + password = '', + username = '' + ) + else: + return IcimsAuthParamsDTO( + ) + """ + + def testIcimsAuthParamsDTO(self): + """Test IcimsAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_import_definition_apidto.py b/src/visier.sdk.api.data_in/test/test_import_definition_apidto.py new file mode 100644 index 000000000..88bd9647c --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_import_definition_apidto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.import_definition_apidto import ImportDefinitionAPIDTO + +class TestImportDefinitionAPIDTO(unittest.TestCase): + """ImportDefinitionAPIDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ImportDefinitionAPIDTO: + """Test ImportDefinitionAPIDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ImportDefinitionAPIDTO` + """ + model = ImportDefinitionAPIDTO() + if include_optional: + return ImportDefinitionAPIDTO( + connector_id = '', + credential_id = '', + display_name = '' + ) + else: + return ImportDefinitionAPIDTO( + ) + """ + + def testImportDefinitionAPIDTO(self): + """Test ImportDefinitionAPIDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_import_definitions_apidto.py b/src/visier.sdk.api.data_in/test/test_import_definitions_apidto.py new file mode 100644 index 000000000..ddaeea74d --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_import_definitions_apidto.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.import_definitions_apidto import ImportDefinitionsAPIDTO + +class TestImportDefinitionsAPIDTO(unittest.TestCase): + """ImportDefinitionsAPIDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ImportDefinitionsAPIDTO: + """Test ImportDefinitionsAPIDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ImportDefinitionsAPIDTO` + """ + model = ImportDefinitionsAPIDTO() + if include_optional: + return ImportDefinitionsAPIDTO( + data_connectors = [ + visier.sdk.api.data_in.models.import_definition_apidto.ImportDefinitionAPIDTO( + connector_id = '', + credential_id = '', + display_name = '', ) + ], + limit = 56, + start = 56 + ) + else: + return ImportDefinitionsAPIDTO( + ) + """ + + def testImportDefinitionsAPIDTO(self): + """Test ImportDefinitionsAPIDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_include_data_uploads_request.py b/src/visier.sdk.api.data_in/test/test_include_data_uploads_request.py new file mode 100644 index 000000000..976c8b1a3 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_include_data_uploads_request.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.include_data_uploads_request import IncludeDataUploadsRequest + +class TestIncludeDataUploadsRequest(unittest.TestCase): + """IncludeDataUploadsRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> IncludeDataUploadsRequest: + """Test IncludeDataUploadsRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `IncludeDataUploadsRequest` + """ + model = IncludeDataUploadsRequest() + if include_optional: + return IncludeDataUploadsRequest( + model = visier.sdk.api.data_in.models.upload_to_include_model.UploadToIncludeModel( + uploads = [ + visier.sdk.api.data_in.models.upload_to_include.UploadToInclude( + include_all = True, + tenant_code = '', + upload_times = [ + '' + ], ) + ], ) + ) + else: + return IncludeDataUploadsRequest( + ) + """ + + def testIncludeDataUploadsRequest(self): + """Test IncludeDataUploadsRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_internal_s3_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_internal_s3_auth_params_dto.py new file mode 100644 index 000000000..510bdbfa0 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_internal_s3_auth_params_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.internal_s3_auth_params_dto import InternalS3AuthParamsDTO + +class TestInternalS3AuthParamsDTO(unittest.TestCase): + """InternalS3AuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InternalS3AuthParamsDTO: + """Test InternalS3AuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InternalS3AuthParamsDTO` + """ + model = InternalS3AuthParamsDTO() + if include_optional: + return InternalS3AuthParamsDTO( + bucket_name = '', + path = '' + ) + else: + return InternalS3AuthParamsDTO( + ) + """ + + def testInternalS3AuthParamsDTO(self): + """Test InternalS3AuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_jdbc_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_jdbc_auth_params_dto.py new file mode 100644 index 000000000..0c32ffe26 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_jdbc_auth_params_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.jdbc_auth_params_dto import JdbcAuthParamsDTO + +class TestJdbcAuthParamsDTO(unittest.TestCase): + """JdbcAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> JdbcAuthParamsDTO: + """Test JdbcAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `JdbcAuthParamsDTO` + """ + model = JdbcAuthParamsDTO() + if include_optional: + return JdbcAuthParamsDTO( + jdbc_connect_string = '', + password = '', + username = '' + ) + else: + return JdbcAuthParamsDTO( + ) + """ + + def testJdbcAuthParamsDTO(self): + """Test JdbcAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_jira_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_jira_auth_params_dto.py new file mode 100644 index 000000000..bf1e5686c --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_jira_auth_params_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.jira_auth_params_dto import JiraAuthParamsDTO + +class TestJiraAuthParamsDTO(unittest.TestCase): + """JiraAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> JiraAuthParamsDTO: + """Test JiraAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `JiraAuthParamsDTO` + """ + model = JiraAuthParamsDTO() + if include_optional: + return JiraAuthParamsDTO( + api_token = '', + connect_params = visier.sdk.api.data_in.models.jira_connect_params_dto.JiraConnectParamsDTO( + app_key = '', + client_key = '', + shared_secret = '', ), + host_name = '' + ) + else: + return JiraAuthParamsDTO( + ) + """ + + def testJiraAuthParamsDTO(self): + """Test JiraAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_jira_connect_params_dto.py b/src/visier.sdk.api.data_in/test/test_jira_connect_params_dto.py new file mode 100644 index 000000000..2b447c4c4 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_jira_connect_params_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.jira_connect_params_dto import JiraConnectParamsDTO + +class TestJiraConnectParamsDTO(unittest.TestCase): + """JiraConnectParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> JiraConnectParamsDTO: + """Test JiraConnectParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `JiraConnectParamsDTO` + """ + model = JiraConnectParamsDTO() + if include_optional: + return JiraConnectParamsDTO( + app_key = '', + client_key = '', + shared_secret = '' + ) + else: + return JiraConnectParamsDTO( + ) + """ + + def testJiraConnectParamsDTO(self): + """Test JiraConnectParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_job_cancellation_result_dto.py b/src/visier.sdk.api.data_in/test/test_job_cancellation_result_dto.py new file mode 100644 index 000000000..e25c26eb6 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_job_cancellation_result_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.job_cancellation_result_dto import JobCancellationResultDTO + +class TestJobCancellationResultDTO(unittest.TestCase): + """JobCancellationResultDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> JobCancellationResultDTO: + """Test JobCancellationResultDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `JobCancellationResultDTO` + """ + model = JobCancellationResultDTO() + if include_optional: + return JobCancellationResultDTO( + cancel_status = 'CANCEL_FAILED', + job_id = '', + job_status = '', + job_type = '', + message = '', + parent_job_id = '', + tenant_code = '' + ) + else: + return JobCancellationResultDTO( + ) + """ + + def testJobCancellationResultDTO(self): + """Test JobCancellationResultDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_job_cancellation_results_dto.py b/src/visier.sdk.api.data_in/test/test_job_cancellation_results_dto.py new file mode 100644 index 000000000..2c315667b --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_job_cancellation_results_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.job_cancellation_results_dto import JobCancellationResultsDTO + +class TestJobCancellationResultsDTO(unittest.TestCase): + """JobCancellationResultsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> JobCancellationResultsDTO: + """Test JobCancellationResultsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `JobCancellationResultsDTO` + """ + model = JobCancellationResultsDTO() + if include_optional: + return JobCancellationResultsDTO( + job_cancellation_results = [ + visier.sdk.api.data_in.models.job_cancellation_result_dto.JobCancellationResultDTO( + cancel_status = 'CANCEL_FAILED', + job_id = '', + job_status = '', + job_type = '', + message = '', + parent_job_id = '', + tenant_code = '', ) + ] + ) + else: + return JobCancellationResultsDTO( + ) + """ + + def testJobCancellationResultsDTO(self): + """Test JobCancellationResultsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_job_status_list_response.py b/src/visier.sdk.api.data_in/test/test_job_status_list_response.py new file mode 100644 index 000000000..8d2401159 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_job_status_list_response.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.job_status_list_response import JobStatusListResponse + +class TestJobStatusListResponse(unittest.TestCase): + """JobStatusListResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> JobStatusListResponse: + """Test JobStatusListResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `JobStatusListResponse` + """ + model = JobStatusListResponse() + if include_optional: + return JobStatusListResponse( + job_status = [ + visier.sdk.api.data_in.models.job_status_with_start_time.JobStatusWithStartTime( + job_id = '', + job_type = '', + start_time = '', + status = '', + tenant = '', ) + ], + query_end_time = '', + query_start_time = '' + ) + else: + return JobStatusListResponse( + ) + """ + + def testJobStatusListResponse(self): + """Test JobStatusListResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_job_status_with_start_time.py b/src/visier.sdk.api.data_in/test/test_job_status_with_start_time.py new file mode 100644 index 000000000..f8de96af5 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_job_status_with_start_time.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.job_status_with_start_time import JobStatusWithStartTime + +class TestJobStatusWithStartTime(unittest.TestCase): + """JobStatusWithStartTime unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> JobStatusWithStartTime: + """Test JobStatusWithStartTime + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `JobStatusWithStartTime` + """ + model = JobStatusWithStartTime() + if include_optional: + return JobStatusWithStartTime( + job_id = '', + job_type = '', + start_time = '', + status = '', + tenant = '' + ) + else: + return JobStatusWithStartTime( + ) + """ + + def testJobStatusWithStartTime(self): + """Test JobStatusWithStartTime""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_lever_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_lever_auth_params_dto.py new file mode 100644 index 000000000..04b9f62a0 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_lever_auth_params_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.lever_auth_params_dto import LeverAuthParamsDTO + +class TestLeverAuthParamsDTO(unittest.TestCase): + """LeverAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LeverAuthParamsDTO: + """Test LeverAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LeverAuthParamsDTO` + """ + model = LeverAuthParamsDTO() + if include_optional: + return LeverAuthParamsDTO( + api_key = '' + ) + else: + return LeverAuthParamsDTO( + ) + """ + + def testLeverAuthParamsDTO(self): + """Test LeverAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_medallia_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_medallia_auth_params_dto.py new file mode 100644 index 000000000..1d69c12f1 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_medallia_auth_params_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.medallia_auth_params_dto import MedalliaAuthParamsDTO + +class TestMedalliaAuthParamsDTO(unittest.TestCase): + """MedalliaAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MedalliaAuthParamsDTO: + """Test MedalliaAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MedalliaAuthParamsDTO` + """ + model = MedalliaAuthParamsDTO() + if include_optional: + return MedalliaAuthParamsDTO( + client_id = '', + client_secret = '', + instance_url = '', + tenant_domain_name = '' + ) + else: + return MedalliaAuthParamsDTO( + ) + """ + + def testMedalliaAuthParamsDTO(self): + """Test MedalliaAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_microsoft365_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_microsoft365_auth_params_dto.py new file mode 100644 index 000000000..b8bb7f2f5 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_microsoft365_auth_params_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.microsoft365_auth_params_dto import Microsoft365AuthParamsDTO + +class TestMicrosoft365AuthParamsDTO(unittest.TestCase): + """Microsoft365AuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Microsoft365AuthParamsDTO: + """Test Microsoft365AuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Microsoft365AuthParamsDTO` + """ + model = Microsoft365AuthParamsDTO() + if include_optional: + return Microsoft365AuthParamsDTO( + client_id = '', + client_secret = '', + o_auth_tenant_id = '' + ) + else: + return Microsoft365AuthParamsDTO( + ) + """ + + def testMicrosoft365AuthParamsDTO(self): + """Test Microsoft365AuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_multiple_tenant_data_versions_details_dto.py b/src/visier.sdk.api.data_in/test/test_multiple_tenant_data_versions_details_dto.py new file mode 100644 index 000000000..9897c8461 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_multiple_tenant_data_versions_details_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.multiple_tenant_data_versions_details_dto import MultipleTenantDataVersionsDetailsDTO + +class TestMultipleTenantDataVersionsDetailsDTO(unittest.TestCase): + """MultipleTenantDataVersionsDetailsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MultipleTenantDataVersionsDetailsDTO: + """Test MultipleTenantDataVersionsDetailsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MultipleTenantDataVersionsDetailsDTO` + """ + model = MultipleTenantDataVersionsDetailsDTO() + if include_optional: + return MultipleTenantDataVersionsDetailsDTO( + data_versions = [ + visier.sdk.api.data_in.models.data_version_and_date_dto.DataVersionAndDateDTO( + data_version = '', + data_version_date = '', ) + ], + tenant_code = '' + ) + else: + return MultipleTenantDataVersionsDetailsDTO( + ) + """ + + def testMultipleTenantDataVersionsDetailsDTO(self): + """Test MultipleTenantDataVersionsDetailsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_multiple_tenant_data_versions_list_dto.py b/src/visier.sdk.api.data_in/test/test_multiple_tenant_data_versions_list_dto.py new file mode 100644 index 000000000..2983423e6 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_multiple_tenant_data_versions_list_dto.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.multiple_tenant_data_versions_list_dto import MultipleTenantDataVersionsListDTO + +class TestMultipleTenantDataVersionsListDTO(unittest.TestCase): + """MultipleTenantDataVersionsListDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MultipleTenantDataVersionsListDTO: + """Test MultipleTenantDataVersionsListDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MultipleTenantDataVersionsListDTO` + """ + model = MultipleTenantDataVersionsListDTO() + if include_optional: + return MultipleTenantDataVersionsListDTO( + limit = 56, + start = 56, + tenants = [ + visier.sdk.api.data_in.models.multiple_tenant_data_versions_details_dto.MultipleTenantDataVersionsDetailsDTO( + data_versions = [ + visier.sdk.api.data_in.models.data_version_and_date_dto.DataVersionAndDateDTO( + data_version = '', + data_version_date = '', ) + ], + tenant_code = '', ) + ] + ) + else: + return MultipleTenantDataVersionsListDTO( + ) + """ + + def testMultipleTenantDataVersionsListDTO(self): + """Test MultipleTenantDataVersionsListDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_my_sql_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_my_sql_auth_params_dto.py new file mode 100644 index 000000000..261c41bd7 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_my_sql_auth_params_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.my_sql_auth_params_dto import MySqlAuthParamsDTO + +class TestMySqlAuthParamsDTO(unittest.TestCase): + """MySqlAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MySqlAuthParamsDTO: + """Test MySqlAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MySqlAuthParamsDTO` + """ + model = MySqlAuthParamsDTO() + if include_optional: + return MySqlAuthParamsDTO( + database = '', + host = '', + password = '', + port = '', + ssl_mode = '', + username = '' + ) + else: + return MySqlAuthParamsDTO( + ) + """ + + def testMySqlAuthParamsDTO(self): + """Test MySqlAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_namely_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_namely_auth_params_dto.py new file mode 100644 index 000000000..91b78d5c0 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_namely_auth_params_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.namely_auth_params_dto import NamelyAuthParamsDTO + +class TestNamelyAuthParamsDTO(unittest.TestCase): + """NamelyAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NamelyAuthParamsDTO: + """Test NamelyAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NamelyAuthParamsDTO` + """ + model = NamelyAuthParamsDTO() + if include_optional: + return NamelyAuthParamsDTO( + auth_code = '' + ) + else: + return NamelyAuthParamsDTO( + ) + """ + + def testNamelyAuthParamsDTO(self): + """Test NamelyAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_oracle_db_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_oracle_db_auth_params_dto.py new file mode 100644 index 000000000..3fca60195 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_oracle_db_auth_params_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.oracle_db_auth_params_dto import OracleDbAuthParamsDTO + +class TestOracleDbAuthParamsDTO(unittest.TestCase): + """OracleDbAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> OracleDbAuthParamsDTO: + """Test OracleDbAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `OracleDbAuthParamsDTO` + """ + model = OracleDbAuthParamsDTO() + if include_optional: + return OracleDbAuthParamsDTO( + host = '', + password = '', + port = '', + service_name = '', + username = '' + ) + else: + return OracleDbAuthParamsDTO( + ) + """ + + def testOracleDbAuthParamsDTO(self): + """Test OracleDbAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_processing_job.py b/src/visier.sdk.api.data_in/test/test_processing_job.py new file mode 100644 index 000000000..3651453f1 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_processing_job.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.processing_job import ProcessingJob + +class TestProcessingJob(unittest.TestCase): + """ProcessingJob unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProcessingJob: + """Test ProcessingJob + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProcessingJob` + """ + model = ProcessingJob() + if include_optional: + return ProcessingJob( + data_version = '', + job_id = '', + message = '', + status = '', + tenant_code = '' + ) + else: + return ProcessingJob( + ) + """ + + def testProcessingJob(self): + """Test ProcessingJob""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_processing_job_and_status_response.py b/src/visier.sdk.api.data_in/test/test_processing_job_and_status_response.py new file mode 100644 index 000000000..68d2a1c14 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_processing_job_and_status_response.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.processing_job_and_status_response import ProcessingJobAndStatusResponse + +class TestProcessingJobAndStatusResponse(unittest.TestCase): + """ProcessingJobAndStatusResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProcessingJobAndStatusResponse: + """Test ProcessingJobAndStatusResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProcessingJobAndStatusResponse` + """ + model = ProcessingJobAndStatusResponse() + if include_optional: + return ProcessingJobAndStatusResponse( + limit = 56, + parent_job_id = '', + parent_tenant_code = '', + processing_jobs = [ + visier.sdk.api.data_in.models.processing_job.ProcessingJob( + data_version = '', + job_id = '', + message = '', + status = '', + tenant_code = '', ) + ], + start = 56 + ) + else: + return ProcessingJobAndStatusResponse( + ) + """ + + def testProcessingJobAndStatusResponse(self): + """Test ProcessingJobAndStatusResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_processing_job_status_response.py b/src/visier.sdk.api.data_in/test/test_processing_job_status_response.py new file mode 100644 index 000000000..0ecbfce96 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_processing_job_status_response.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.processing_job_status_response import ProcessingJobStatusResponse + +class TestProcessingJobStatusResponse(unittest.TestCase): + """ProcessingJobStatusResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProcessingJobStatusResponse: + """Test ProcessingJobStatusResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProcessingJobStatusResponse` + """ + model = ProcessingJobStatusResponse() + if include_optional: + return ProcessingJobStatusResponse( + limit = 56, + parent_job_id = '', + parent_tenant_code = '', + processing_jobs = [ + visier.sdk.api.data_in.models.processing_job.ProcessingJob( + data_version = '', + job_id = '', + message = '', + status = '', + tenant_code = '', ) + ], + start = 56 + ) + else: + return ProcessingJobStatusResponse( + ) + """ + + def testProcessingJobStatusResponse(self): + """Test ProcessingJobStatusResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_push_data_cancel_response.py b/src/visier.sdk.api.data_in/test/test_push_data_cancel_response.py new file mode 100644 index 000000000..c70418bf3 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_push_data_cancel_response.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.push_data_cancel_response import PushDataCancelResponse + +class TestPushDataCancelResponse(unittest.TestCase): + """PushDataCancelResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PushDataCancelResponse: + """Test PushDataCancelResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PushDataCancelResponse` + """ + model = PushDataCancelResponse() + if include_optional: + return PushDataCancelResponse( + data_transfer_result_details = [ + visier.sdk.api.data_in.models.data_transfer_result_detail.DataTransferResultDetail( + data_size = '', + rows = '', + source_names = [ + '' + ], + tenant_code = '', ) + ], + message = '', + status = '', + transfer_session_id = '' + ) + else: + return PushDataCancelResponse( + ) + """ + + def testPushDataCancelResponse(self): + """Test PushDataCancelResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_push_data_column_definition_dto.py b/src/visier.sdk.api.data_in/test/test_push_data_column_definition_dto.py new file mode 100644 index 000000000..402ed357f --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_push_data_column_definition_dto.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.push_data_column_definition_dto import PushDataColumnDefinitionDTO + +class TestPushDataColumnDefinitionDTO(unittest.TestCase): + """PushDataColumnDefinitionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PushDataColumnDefinitionDTO: + """Test PushDataColumnDefinitionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PushDataColumnDefinitionDTO` + """ + model = PushDataColumnDefinitionDTO() + if include_optional: + return PushDataColumnDefinitionDTO( + allow_empty = True, + column_name = '', + data_formats = [ + '' + ], + data_type = '', + default_value = '', + is_mandatory = True + ) + else: + return PushDataColumnDefinitionDTO( + ) + """ + + def testPushDataColumnDefinitionDTO(self): + """Test PushDataColumnDefinitionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_push_data_complete_request.py b/src/visier.sdk.api.data_in/test/test_push_data_complete_request.py new file mode 100644 index 000000000..52538fb85 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_push_data_complete_request.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.push_data_complete_request import PushDataCompleteRequest + +class TestPushDataCompleteRequest(unittest.TestCase): + """PushDataCompleteRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PushDataCompleteRequest: + """Test PushDataCompleteRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PushDataCompleteRequest` + """ + model = PushDataCompleteRequest() + if include_optional: + return PushDataCompleteRequest( + processing_data = True, + transfer_session_id = '' + ) + else: + return PushDataCompleteRequest( + ) + """ + + def testPushDataCompleteRequest(self): + """Test PushDataCompleteRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_push_data_complete_response.py b/src/visier.sdk.api.data_in/test/test_push_data_complete_response.py new file mode 100644 index 000000000..82a2ff82a --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_push_data_complete_response.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.push_data_complete_response import PushDataCompleteResponse + +class TestPushDataCompleteResponse(unittest.TestCase): + """PushDataCompleteResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PushDataCompleteResponse: + """Test PushDataCompleteResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PushDataCompleteResponse` + """ + model = PushDataCompleteResponse() + if include_optional: + return PushDataCompleteResponse( + data_receiving_job_id = '', + data_transfer_result_details = [ + visier.sdk.api.data_in.models.data_transfer_result_detail.DataTransferResultDetail( + data_size = '', + rows = '', + source_names = [ + '' + ], + tenant_code = '', ) + ], + message = '', + status = '', + transfer_session_id = '' + ) + else: + return PushDataCompleteResponse( + ) + """ + + def testPushDataCompleteResponse(self): + """Test PushDataCompleteResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_push_data_response.py b/src/visier.sdk.api.data_in/test/test_push_data_response.py new file mode 100644 index 000000000..2312136a6 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_push_data_response.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.push_data_response import PushDataResponse + +class TestPushDataResponse(unittest.TestCase): + """PushDataResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PushDataResponse: + """Test PushDataResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PushDataResponse` + """ + model = PushDataResponse() + if include_optional: + return PushDataResponse( + message = '', + sequence = 56, + status = '', + tenants = [ + visier.sdk.api.data_in.models.tenant.Tenant( + sources = [ + visier.sdk.api.data_in.models.source.Source( + data_size = '', + message = '', + rows = '', + source_id = '', + source_name = '', + status = '', ) + ], + status = '', + tenant_code = '', ) + ], + transfer_session_id = '' + ) + else: + return PushDataResponse( + ) + """ + + def testPushDataResponse(self): + """Test PushDataResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_push_data_source_definition_dto.py b/src/visier.sdk.api.data_in/test/test_push_data_source_definition_dto.py new file mode 100644 index 000000000..9e1b804d2 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_push_data_source_definition_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.push_data_source_definition_dto import PushDataSourceDefinitionDTO + +class TestPushDataSourceDefinitionDTO(unittest.TestCase): + """PushDataSourceDefinitionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PushDataSourceDefinitionDTO: + """Test PushDataSourceDefinitionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PushDataSourceDefinitionDTO` + """ + model = PushDataSourceDefinitionDTO() + if include_optional: + return PushDataSourceDefinitionDTO( + columns = [ + visier.sdk.api.data_in.models.push_data_column_definition_dto.PushDataColumnDefinitionDTO( + allow_empty = True, + column_name = '', + data_formats = [ + '' + ], + data_type = '', + default_value = '', + is_mandatory = True, ) + ], + is_inherited = True, + name = '', + source_id = '' + ) + else: + return PushDataSourceDefinitionDTO( + ) + """ + + def testPushDataSourceDefinitionDTO(self): + """Test PushDataSourceDefinitionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_push_data_source_definitions_dto.py b/src/visier.sdk.api.data_in/test/test_push_data_source_definitions_dto.py new file mode 100644 index 000000000..38b364799 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_push_data_source_definitions_dto.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.push_data_source_definitions_dto import PushDataSourceDefinitionsDTO + +class TestPushDataSourceDefinitionsDTO(unittest.TestCase): + """PushDataSourceDefinitionsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PushDataSourceDefinitionsDTO: + """Test PushDataSourceDefinitionsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PushDataSourceDefinitionsDTO` + """ + model = PushDataSourceDefinitionsDTO() + if include_optional: + return PushDataSourceDefinitionsDTO( + sources = [ + visier.sdk.api.data_in.models.push_data_source_definition_dto.PushDataSourceDefinitionDTO( + columns = [ + visier.sdk.api.data_in.models.push_data_column_definition_dto.PushDataColumnDefinitionDTO( + allow_empty = True, + column_name = '', + data_formats = [ + '' + ], + data_type = '', + default_value = '', + is_mandatory = True, ) + ], + is_inherited = True, + name = '', + source_id = '', ) + ] + ) + else: + return PushDataSourceDefinitionsDTO( + ) + """ + + def testPushDataSourceDefinitionsDTO(self): + """Test PushDataSourceDefinitionsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_qualtrics_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_qualtrics_auth_params_dto.py new file mode 100644 index 000000000..70c1389ec --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_qualtrics_auth_params_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.qualtrics_auth_params_dto import QualtricsAuthParamsDTO + +class TestQualtricsAuthParamsDTO(unittest.TestCase): + """QualtricsAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QualtricsAuthParamsDTO: + """Test QualtricsAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QualtricsAuthParamsDTO` + """ + model = QualtricsAuthParamsDTO() + if include_optional: + return QualtricsAuthParamsDTO( + api_token = '', + data_center_id = '' + ) + else: + return QualtricsAuthParamsDTO( + ) + """ + + def testQualtricsAuthParamsDTO(self): + """Test QualtricsAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_receiving_job.py b/src/visier.sdk.api.data_in/test/test_receiving_job.py new file mode 100644 index 000000000..7cf02de1b --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_receiving_job.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.receiving_job import ReceivingJob + +class TestReceivingJob(unittest.TestCase): + """ReceivingJob unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ReceivingJob: + """Test ReceivingJob + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ReceivingJob` + """ + model = ReceivingJob() + if include_optional: + return ReceivingJob( + receiving_job_id = '', + status = '', + tenant_code = '' + ) + else: + return ReceivingJob( + ) + """ + + def testReceivingJob(self): + """Test ReceivingJob""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_receiving_job_and_status_response.py b/src/visier.sdk.api.data_in/test/test_receiving_job_and_status_response.py new file mode 100644 index 000000000..8180bfa8c --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_receiving_job_and_status_response.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.receiving_job_and_status_response import ReceivingJobAndStatusResponse + +class TestReceivingJobAndStatusResponse(unittest.TestCase): + """ReceivingJobAndStatusResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ReceivingJobAndStatusResponse: + """Test ReceivingJobAndStatusResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ReceivingJobAndStatusResponse` + """ + model = ReceivingJobAndStatusResponse() + if include_optional: + return ReceivingJobAndStatusResponse( + limit = 56, + parent_job_id = '', + parent_tenant_code = '', + receiving_jobs = [ + visier.sdk.api.data_in.models.receiving_job.ReceivingJob( + receiving_job_id = '', + status = '', + tenant_code = '', ) + ], + start = 56 + ) + else: + return ReceivingJobAndStatusResponse( + ) + """ + + def testReceivingJobAndStatusResponse(self): + """Test ReceivingJobAndStatusResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_receiving_job_status_response.py b/src/visier.sdk.api.data_in/test/test_receiving_job_status_response.py new file mode 100644 index 000000000..5766d4f2a --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_receiving_job_status_response.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.receiving_job_status_response import ReceivingJobStatusResponse + +class TestReceivingJobStatusResponse(unittest.TestCase): + """ReceivingJobStatusResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ReceivingJobStatusResponse: + """Test ReceivingJobStatusResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ReceivingJobStatusResponse` + """ + model = ReceivingJobStatusResponse() + if include_optional: + return ReceivingJobStatusResponse( + job_id = '', + parent_job_id = '', + parent_tenant_code = '', + receiving_jobs = [ + visier.sdk.api.data_in.models.receiving_job.ReceivingJob( + receiving_job_id = '', + status = '', + tenant_code = '', ) + ], + status = '' + ) + else: + return ReceivingJobStatusResponse( + ) + """ + + def testReceivingJobStatusResponse(self): + """Test ReceivingJobStatusResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_redshift_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_redshift_auth_params_dto.py new file mode 100644 index 000000000..4f9e14e44 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_redshift_auth_params_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.redshift_auth_params_dto import RedshiftAuthParamsDTO + +class TestRedshiftAuthParamsDTO(unittest.TestCase): + """RedshiftAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RedshiftAuthParamsDTO: + """Test RedshiftAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RedshiftAuthParamsDTO` + """ + model = RedshiftAuthParamsDTO() + if include_optional: + return RedshiftAuthParamsDTO( + database = '', + endpoint = '', + password = '', + port = '', + var_schema = '', + table_prefix = '', + username = '' + ) + else: + return RedshiftAuthParamsDTO( + ) + """ + + def testRedshiftAuthParamsDTO(self): + """Test RedshiftAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_result.py b/src/visier.sdk.api.data_in/test/test_result.py new file mode 100644 index 000000000..98b123186 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_result.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.result import Result + +class TestResult(unittest.TestCase): + """Result unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Result: + """Test Result + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Result` + """ + model = Result() + if include_optional: + return Result( + data_version = '', + job_id = '', + message = '', + status = '', + tenant_code = '' + ) + else: + return Result( + ) + """ + + def testResult(self): + """Test Result""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_salesforce_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_salesforce_auth_params_dto.py new file mode 100644 index 000000000..30941b8f8 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_salesforce_auth_params_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.salesforce_auth_params_dto import SalesforceAuthParamsDTO + +class TestSalesforceAuthParamsDTO(unittest.TestCase): + """SalesforceAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SalesforceAuthParamsDTO: + """Test SalesforceAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SalesforceAuthParamsDTO` + """ + model = SalesforceAuthParamsDTO() + if include_optional: + return SalesforceAuthParamsDTO( + client_id = '', + refresh_token = '' + ) + else: + return SalesforceAuthParamsDTO( + ) + """ + + def testSalesforceAuthParamsDTO(self): + """Test SalesforceAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_salesforce_v2_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_salesforce_v2_auth_params_dto.py new file mode 100644 index 000000000..03f54644d --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_salesforce_v2_auth_params_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.salesforce_v2_auth_params_dto import SalesforceV2AuthParamsDTO + +class TestSalesforceV2AuthParamsDTO(unittest.TestCase): + """SalesforceV2AuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SalesforceV2AuthParamsDTO: + """Test SalesforceV2AuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SalesforceV2AuthParamsDTO` + """ + model = SalesforceV2AuthParamsDTO() + if include_optional: + return SalesforceV2AuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '', + login_host = '' + ) + else: + return SalesforceV2AuthParamsDTO( + ) + """ + + def testSalesforceV2AuthParamsDTO(self): + """Test SalesforceV2AuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_service_now_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_service_now_auth_params_dto.py new file mode 100644 index 000000000..7550de662 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_service_now_auth_params_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.service_now_auth_params_dto import ServiceNowAuthParamsDTO + +class TestServiceNowAuthParamsDTO(unittest.TestCase): + """ServiceNowAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceNowAuthParamsDTO: + """Test ServiceNowAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceNowAuthParamsDTO` + """ + model = ServiceNowAuthParamsDTO() + if include_optional: + return ServiceNowAuthParamsDTO( + host_domain_name = '', + password = '', + username = '' + ) + else: + return ServiceNowAuthParamsDTO( + ) + """ + + def testServiceNowAuthParamsDTO(self): + """Test ServiceNowAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_slack_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_slack_auth_params_dto.py new file mode 100644 index 000000000..ec0ca3466 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_slack_auth_params_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.slack_auth_params_dto import SlackAuthParamsDTO + +class TestSlackAuthParamsDTO(unittest.TestCase): + """SlackAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SlackAuthParamsDTO: + """Test SlackAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SlackAuthParamsDTO` + """ + model = SlackAuthParamsDTO() + if include_optional: + return SlackAuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '' + ) + else: + return SlackAuthParamsDTO( + ) + """ + + def testSlackAuthParamsDTO(self): + """Test SlackAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_snowflake_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_snowflake_auth_params_dto.py new file mode 100644 index 000000000..313531179 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_snowflake_auth_params_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.snowflake_auth_params_dto import SnowflakeAuthParamsDTO + +class TestSnowflakeAuthParamsDTO(unittest.TestCase): + """SnowflakeAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SnowflakeAuthParamsDTO: + """Test SnowflakeAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SnowflakeAuthParamsDTO` + """ + model = SnowflakeAuthParamsDTO() + if include_optional: + return SnowflakeAuthParamsDTO( + account_identifier = '', + database = '', + password = '', + private_key = '', + var_schema = '', + username = '', + warehouse = '' + ) + else: + return SnowflakeAuthParamsDTO( + ) + """ + + def testSnowflakeAuthParamsDTO(self): + """Test SnowflakeAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_source.py b/src/visier.sdk.api.data_in/test/test_source.py new file mode 100644 index 000000000..7f58d4ad6 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_source.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.source import Source + +class TestSource(unittest.TestCase): + """Source unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Source: + """Test Source + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Source` + """ + model = Source() + if include_optional: + return Source( + data_size = '', + message = '', + rows = '', + source_id = '', + source_name = '', + status = '' + ) + else: + return Source( + ) + """ + + def testSource(self): + """Test Source""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_sql_server_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_sql_server_auth_params_dto.py new file mode 100644 index 000000000..5a12a48a0 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_sql_server_auth_params_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.sql_server_auth_params_dto import SqlServerAuthParamsDTO + +class TestSqlServerAuthParamsDTO(unittest.TestCase): + """SqlServerAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SqlServerAuthParamsDTO: + """Test SqlServerAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SqlServerAuthParamsDTO` + """ + model = SqlServerAuthParamsDTO() + if include_optional: + return SqlServerAuthParamsDTO( + database = '', + host = '', + password = '', + port = '', + username = '' + ) + else: + return SqlServerAuthParamsDTO( + ) + """ + + def testSqlServerAuthParamsDTO(self): + """Test SqlServerAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_start_extraction_model.py b/src/visier.sdk.api.data_in/test/test_start_extraction_model.py new file mode 100644 index 000000000..e3389147e --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_start_extraction_model.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.start_extraction_model import StartExtractionModel + +class TestStartExtractionModel(unittest.TestCase): + """StartExtractionModel unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> StartExtractionModel: + """Test StartExtractionModel + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `StartExtractionModel` + """ + model = StartExtractionModel() + if include_optional: + return StartExtractionModel( + all_tenants = True, + batch_size_override = 56, + connector_ids = [ + '' + ], + data_category_id = '', + disable_artifact_generation = True, + extract_to_time_override = '', + force_update_existing_artifacts = True, + last_extraction_time_offset_weeks = 56, + months_to_extract = 56, + override_last_extraction_timestamp = '', + publish_data_load_artifacts = True, + run_processing_job = True, + sql_batch_size = 56, + tenants = [ + '' + ] + ) + else: + return StartExtractionModel( + ) + """ + + def testStartExtractionModel(self): + """Test StartExtractionModel""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_start_extraction_request.py b/src/visier.sdk.api.data_in/test/test_start_extraction_request.py new file mode 100644 index 000000000..5bab49579 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_start_extraction_request.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.start_extraction_request import StartExtractionRequest + +class TestStartExtractionRequest(unittest.TestCase): + """StartExtractionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> StartExtractionRequest: + """Test StartExtractionRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `StartExtractionRequest` + """ + model = StartExtractionRequest() + if include_optional: + return StartExtractionRequest( + model = visier.sdk.api.data_in.models.start_extraction_model.StartExtractionModel( + all_tenants = True, + batch_size_override = 56, + connector_ids = [ + '' + ], + data_category_id = '', + disable_artifact_generation = True, + extract_to_time_override = '', + force_update_existing_artifacts = True, + last_extraction_time_offset_weeks = 56, + months_to_extract = 56, + override_last_extraction_timestamp = '', + publish_data_load_artifacts = True, + run_processing_job = True, + sql_batch_size = 56, + tenants = [ + '' + ], ) + ) + else: + return StartExtractionRequest( + ) + """ + + def testStartExtractionRequest(self): + """Test StartExtractionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_start_extraction_response.py b/src/visier.sdk.api.data_in/test/test_start_extraction_response.py new file mode 100644 index 000000000..66d326a32 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_start_extraction_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.start_extraction_response import StartExtractionResponse + +class TestStartExtractionResponse(unittest.TestCase): + """StartExtractionResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> StartExtractionResponse: + """Test StartExtractionResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `StartExtractionResponse` + """ + model = StartExtractionResponse() + if include_optional: + return StartExtractionResponse( + job_id = '' + ) + else: + return StartExtractionResponse( + ) + """ + + def testStartExtractionResponse(self): + """Test StartExtractionResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_start_transfer_response.py b/src/visier.sdk.api.data_in/test/test_start_transfer_response.py new file mode 100644 index 000000000..5a925b2a3 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_start_transfer_response.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.start_transfer_response import StartTransferResponse + +class TestStartTransferResponse(unittest.TestCase): + """StartTransferResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> StartTransferResponse: + """Test StartTransferResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `StartTransferResponse` + """ + model = StartTransferResponse() + if include_optional: + return StartTransferResponse( + transfer_session_id = '' + ) + else: + return StartTransferResponse( + ) + """ + + def testStartTransferResponse(self): + """Test StartTransferResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_status.py b/src/visier.sdk.api.data_in/test/test_status.py new file mode 100644 index 000000000..7c588abc2 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_status.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.status import Status + +class TestStatus(unittest.TestCase): + """Status unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Status: + """Test Status + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Status` + """ + model = Status() + if include_optional: + return Status( + error_code = '', + localized_message = '', + message = '', + rci = '', + user_error = True + ) + else: + return Status( + ) + """ + + def testStatus(self): + """Test Status""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_subject_missing_access_dto.py b/src/visier.sdk.api.data_in/test/test_subject_missing_access_dto.py new file mode 100644 index 000000000..1c219e597 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_subject_missing_access_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.subject_missing_access_dto import SubjectMissingAccessDTO + +class TestSubjectMissingAccessDTO(unittest.TestCase): + """SubjectMissingAccessDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubjectMissingAccessDTO: + """Test SubjectMissingAccessDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubjectMissingAccessDTO` + """ + model = SubjectMissingAccessDTO() + if include_optional: + return SubjectMissingAccessDTO( + attributes = [ + '' + ], + subject = 'Employee' + ) + else: + return SubjectMissingAccessDTO( + ) + """ + + def testSubjectMissingAccessDTO(self): + """Test SubjectMissingAccessDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_success_factors_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_success_factors_auth_params_dto.py new file mode 100644 index 000000000..e8af90623 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_success_factors_auth_params_dto.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.success_factors_auth_params_dto import SuccessFactorsAuthParamsDTO + +class TestSuccessFactorsAuthParamsDTO(unittest.TestCase): + """SuccessFactorsAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SuccessFactorsAuthParamsDTO: + """Test SuccessFactorsAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SuccessFactorsAuthParamsDTO` + """ + model = SuccessFactorsAuthParamsDTO() + if include_optional: + return SuccessFactorsAuthParamsDTO( + company_id = '', + host_domain_name = '', + o_auth = visier.sdk.api.data_in.models.success_factors_o_auth_params_dto.SuccessFactorsOAuthParamsDTO( + api_key = '', + private_x509_key = '', + public_x509_cert = '', ), + password = '', + username = '' + ) + else: + return SuccessFactorsAuthParamsDTO( + ) + """ + + def testSuccessFactorsAuthParamsDTO(self): + """Test SuccessFactorsAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_success_factors_o_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_success_factors_o_auth_params_dto.py new file mode 100644 index 000000000..305c3f4f0 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_success_factors_o_auth_params_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.success_factors_o_auth_params_dto import SuccessFactorsOAuthParamsDTO + +class TestSuccessFactorsOAuthParamsDTO(unittest.TestCase): + """SuccessFactorsOAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SuccessFactorsOAuthParamsDTO: + """Test SuccessFactorsOAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SuccessFactorsOAuthParamsDTO` + """ + model = SuccessFactorsOAuthParamsDTO() + if include_optional: + return SuccessFactorsOAuthParamsDTO( + api_key = '', + private_x509_key = '', + public_x509_cert = '' + ) + else: + return SuccessFactorsOAuthParamsDTO( + ) + """ + + def testSuccessFactorsOAuthParamsDTO(self): + """Test SuccessFactorsOAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_tenant.py b/src/visier.sdk.api.data_in/test/test_tenant.py new file mode 100644 index 000000000..ffedd9655 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_tenant.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.tenant import Tenant + +class TestTenant(unittest.TestCase): + """Tenant unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Tenant: + """Test Tenant + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Tenant` + """ + model = Tenant() + if include_optional: + return Tenant( + sources = [ + visier.sdk.api.data_in.models.source.Source( + data_size = '', + message = '', + rows = '', + source_id = '', + source_name = '', + status = '', ) + ], + status = '', + tenant_code = '' + ) + else: + return Tenant( + ) + """ + + def testTenant(self): + """Test Tenant""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_tenant_and_credential.py b/src/visier.sdk.api.data_in/test/test_tenant_and_credential.py new file mode 100644 index 000000000..26afa800e --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_tenant_and_credential.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.tenant_and_credential import TenantAndCredential + +class TestTenantAndCredential(unittest.TestCase): + """TenantAndCredential unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantAndCredential: + """Test TenantAndCredential + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantAndCredential` + """ + model = TenantAndCredential() + if include_optional: + return TenantAndCredential( + credential_id = '', + tenant_code = '' + ) + else: + return TenantAndCredential( + ) + """ + + def testTenantAndCredential(self): + """Test TenantAndCredential""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_tenant_data_upload_status_response_dto.py b/src/visier.sdk.api.data_in/test/test_tenant_data_upload_status_response_dto.py new file mode 100644 index 000000000..406328f89 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_tenant_data_upload_status_response_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.tenant_data_upload_status_response_dto import TenantDataUploadStatusResponseDTO + +class TestTenantDataUploadStatusResponseDTO(unittest.TestCase): + """TenantDataUploadStatusResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantDataUploadStatusResponseDTO: + """Test TenantDataUploadStatusResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantDataUploadStatusResponseDTO` + """ + model = TenantDataUploadStatusResponseDTO() + if include_optional: + return TenantDataUploadStatusResponseDTO( + included = True, + upload_time = '' + ) + else: + return TenantDataUploadStatusResponseDTO( + ) + """ + + def testTenantDataUploadStatusResponseDTO(self): + """Test TenantDataUploadStatusResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_tenant_data_upload_update_status_response_dto.py b/src/visier.sdk.api.data_in/test/test_tenant_data_upload_update_status_response_dto.py new file mode 100644 index 000000000..9e6272dff --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_tenant_data_upload_update_status_response_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.tenant_data_upload_update_status_response_dto import TenantDataUploadUpdateStatusResponseDTO + +class TestTenantDataUploadUpdateStatusResponseDTO(unittest.TestCase): + """TenantDataUploadUpdateStatusResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantDataUploadUpdateStatusResponseDTO: + """Test TenantDataUploadUpdateStatusResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantDataUploadUpdateStatusResponseDTO` + """ + model = TenantDataUploadUpdateStatusResponseDTO() + if include_optional: + return TenantDataUploadUpdateStatusResponseDTO( + message = '', + status = '', + tenant_code = '', + upload_time = '' + ) + else: + return TenantDataUploadUpdateStatusResponseDTO( + ) + """ + + def testTenantDataUploadUpdateStatusResponseDTO(self): + """Test TenantDataUploadUpdateStatusResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_tenant_data_uploads_list_response_dto.py b/src/visier.sdk.api.data_in/test/test_tenant_data_uploads_list_response_dto.py new file mode 100644 index 000000000..559ade1ce --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_tenant_data_uploads_list_response_dto.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.tenant_data_uploads_list_response_dto import TenantDataUploadsListResponseDTO + +class TestTenantDataUploadsListResponseDTO(unittest.TestCase): + """TenantDataUploadsListResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantDataUploadsListResponseDTO: + """Test TenantDataUploadsListResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantDataUploadsListResponseDTO` + """ + model = TenantDataUploadsListResponseDTO() + if include_optional: + return TenantDataUploadsListResponseDTO( + limit = 56, + start = 56, + tenants = [ + visier.sdk.api.data_in.models.tenant_data_uploads_response_dto.TenantDataUploadsResponseDTO( + tenant_code = '', + uploads = [ + visier.sdk.api.data_in.models.tenant_data_upload_status_response_dto.TenantDataUploadStatusResponseDTO( + included = True, + upload_time = '', ) + ], ) + ] + ) + else: + return TenantDataUploadsListResponseDTO( + ) + """ + + def testTenantDataUploadsListResponseDTO(self): + """Test TenantDataUploadsListResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_tenant_data_uploads_response_dto.py b/src/visier.sdk.api.data_in/test/test_tenant_data_uploads_response_dto.py new file mode 100644 index 000000000..c6bde6849 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_tenant_data_uploads_response_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.tenant_data_uploads_response_dto import TenantDataUploadsResponseDTO + +class TestTenantDataUploadsResponseDTO(unittest.TestCase): + """TenantDataUploadsResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantDataUploadsResponseDTO: + """Test TenantDataUploadsResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantDataUploadsResponseDTO` + """ + model = TenantDataUploadsResponseDTO() + if include_optional: + return TenantDataUploadsResponseDTO( + tenant_code = '', + uploads = [ + visier.sdk.api.data_in.models.tenant_data_upload_status_response_dto.TenantDataUploadStatusResponseDTO( + included = True, + upload_time = '', ) + ] + ) + else: + return TenantDataUploadsResponseDTO( + ) + """ + + def testTenantDataUploadsResponseDTO(self): + """Test TenantDataUploadsResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_tenant_data_uploads_update_response_dto.py b/src/visier.sdk.api.data_in/test/test_tenant_data_uploads_update_response_dto.py new file mode 100644 index 000000000..f8dcde3a9 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_tenant_data_uploads_update_response_dto.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.tenant_data_uploads_update_response_dto import TenantDataUploadsUpdateResponseDTO + +class TestTenantDataUploadsUpdateResponseDTO(unittest.TestCase): + """TenantDataUploadsUpdateResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TenantDataUploadsUpdateResponseDTO: + """Test TenantDataUploadsUpdateResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TenantDataUploadsUpdateResponseDTO` + """ + model = TenantDataUploadsUpdateResponseDTO() + if include_optional: + return TenantDataUploadsUpdateResponseDTO( + total_failures = 56, + total_success = 56, + uploads = [ + visier.sdk.api.data_in.models.tenant_data_upload_update_status_response_dto.TenantDataUploadUpdateStatusResponseDTO( + message = '', + status = '', + tenant_code = '', + upload_time = '', ) + ] + ) + else: + return TenantDataUploadsUpdateResponseDTO( + ) + """ + + def testTenantDataUploadsUpdateResponseDTO(self): + """Test TenantDataUploadsUpdateResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_ultimate_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_ultimate_auth_params_dto.py new file mode 100644 index 000000000..9bf4ac0ba --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_ultimate_auth_params_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.ultimate_auth_params_dto import UltimateAuthParamsDTO + +class TestUltimateAuthParamsDTO(unittest.TestCase): + """UltimateAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UltimateAuthParamsDTO: + """Test UltimateAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UltimateAuthParamsDTO` + """ + model = UltimateAuthParamsDTO() + if include_optional: + return UltimateAuthParamsDTO( + api_key = '', + host_domain_name = '', + password = '', + user_access_key = '', + username = '' + ) + else: + return UltimateAuthParamsDTO( + ) + """ + + def testUltimateAuthParamsDTO(self): + """Test UltimateAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_upload_to_exclude.py b/src/visier.sdk.api.data_in/test/test_upload_to_exclude.py new file mode 100644 index 000000000..42e4feaed --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_upload_to_exclude.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.upload_to_exclude import UploadToExclude + +class TestUploadToExclude(unittest.TestCase): + """UploadToExclude unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UploadToExclude: + """Test UploadToExclude + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UploadToExclude` + """ + model = UploadToExclude() + if include_optional: + return UploadToExclude( + exclude_all = True, + tenant_code = '', + upload_times = [ + '' + ] + ) + else: + return UploadToExclude( + ) + """ + + def testUploadToExclude(self): + """Test UploadToExclude""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_upload_to_exclude_model.py b/src/visier.sdk.api.data_in/test/test_upload_to_exclude_model.py new file mode 100644 index 000000000..db9a1c439 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_upload_to_exclude_model.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.upload_to_exclude_model import UploadToExcludeModel + +class TestUploadToExcludeModel(unittest.TestCase): + """UploadToExcludeModel unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UploadToExcludeModel: + """Test UploadToExcludeModel + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UploadToExcludeModel` + """ + model = UploadToExcludeModel() + if include_optional: + return UploadToExcludeModel( + uploads = [ + visier.sdk.api.data_in.models.upload_to_exclude.UploadToExclude( + exclude_all = True, + tenant_code = '', + upload_times = [ + '' + ], ) + ] + ) + else: + return UploadToExcludeModel( + ) + """ + + def testUploadToExcludeModel(self): + """Test UploadToExcludeModel""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_upload_to_include.py b/src/visier.sdk.api.data_in/test/test_upload_to_include.py new file mode 100644 index 000000000..f68f5e441 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_upload_to_include.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.upload_to_include import UploadToInclude + +class TestUploadToInclude(unittest.TestCase): + """UploadToInclude unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UploadToInclude: + """Test UploadToInclude + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UploadToInclude` + """ + model = UploadToInclude() + if include_optional: + return UploadToInclude( + include_all = True, + tenant_code = '', + upload_times = [ + '' + ] + ) + else: + return UploadToInclude( + ) + """ + + def testUploadToInclude(self): + """Test UploadToInclude""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_upload_to_include_model.py b/src/visier.sdk.api.data_in/test/test_upload_to_include_model.py new file mode 100644 index 000000000..05c32c094 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_upload_to_include_model.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.upload_to_include_model import UploadToIncludeModel + +class TestUploadToIncludeModel(unittest.TestCase): + """UploadToIncludeModel unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UploadToIncludeModel: + """Test UploadToIncludeModel + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UploadToIncludeModel` + """ + model = UploadToIncludeModel() + if include_optional: + return UploadToIncludeModel( + uploads = [ + visier.sdk.api.data_in.models.upload_to_include.UploadToInclude( + include_all = True, + tenant_code = '', + upload_times = [ + '' + ], ) + ] + ) + else: + return UploadToIncludeModel( + ) + """ + + def testUploadToIncludeModel(self): + """Test UploadToIncludeModel""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_willow_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_willow_auth_params_dto.py new file mode 100644 index 000000000..e382b77ad --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_willow_auth_params_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.willow_auth_params_dto import WillowAuthParamsDTO + +class TestWillowAuthParamsDTO(unittest.TestCase): + """WillowAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> WillowAuthParamsDTO: + """Test WillowAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `WillowAuthParamsDTO` + """ + model = WillowAuthParamsDTO() + if include_optional: + return WillowAuthParamsDTO( + api_token = '', + host_name = '' + ) + else: + return WillowAuthParamsDTO( + ) + """ + + def testWillowAuthParamsDTO(self): + """Test WillowAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_workday_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_workday_auth_params_dto.py new file mode 100644 index 000000000..3e72f087d --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_workday_auth_params_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.workday_auth_params_dto import WorkdayAuthParamsDTO + +class TestWorkdayAuthParamsDTO(unittest.TestCase): + """WorkdayAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> WorkdayAuthParamsDTO: + """Test WorkdayAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `WorkdayAuthParamsDTO` + """ + model = WorkdayAuthParamsDTO() + if include_optional: + return WorkdayAuthParamsDTO( + api_key = '', + domain_name = '', + implementation_name = '', + integration_system_id = '', + o_auth = visier.sdk.api.data_in.models.workday_o_auth_params_dto.WorkdayOAuthParamsDTO( + api_client_id = '', + private_x509_key = '', + public_x509_cert = '', ), + password = '', + ref_token = visier.sdk.api.data_in.models.workday_refresh_token_params_dto.WorkdayRefreshTokenParamsDTO( + api_client_id = '', + client_secret = '', + refresh_token = '', ), + user_id = '' + ) + else: + return WorkdayAuthParamsDTO( + ) + """ + + def testWorkdayAuthParamsDTO(self): + """Test WorkdayAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_workday_o_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_workday_o_auth_params_dto.py new file mode 100644 index 000000000..332ede26f --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_workday_o_auth_params_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.workday_o_auth_params_dto import WorkdayOAuthParamsDTO + +class TestWorkdayOAuthParamsDTO(unittest.TestCase): + """WorkdayOAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> WorkdayOAuthParamsDTO: + """Test WorkdayOAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `WorkdayOAuthParamsDTO` + """ + model = WorkdayOAuthParamsDTO() + if include_optional: + return WorkdayOAuthParamsDTO( + api_client_id = '', + private_x509_key = '', + public_x509_cert = '' + ) + else: + return WorkdayOAuthParamsDTO( + ) + """ + + def testWorkdayOAuthParamsDTO(self): + """Test WorkdayOAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_workday_raas_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_workday_raas_auth_params_dto.py new file mode 100644 index 000000000..a02c3855f --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_workday_raas_auth_params_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.workday_raas_auth_params_dto import WorkdayRaasAuthParamsDTO + +class TestWorkdayRaasAuthParamsDTO(unittest.TestCase): + """WorkdayRaasAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> WorkdayRaasAuthParamsDTO: + """Test WorkdayRaasAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `WorkdayRaasAuthParamsDTO` + """ + model = WorkdayRaasAuthParamsDTO() + if include_optional: + return WorkdayRaasAuthParamsDTO( + domain_name = '', + implementation_name = '', + password = '', + test_report_url = '', + user_id = '' + ) + else: + return WorkdayRaasAuthParamsDTO( + ) + """ + + def testWorkdayRaasAuthParamsDTO(self): + """Test WorkdayRaasAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_workday_refresh_token_params_dto.py b/src/visier.sdk.api.data_in/test/test_workday_refresh_token_params_dto.py new file mode 100644 index 000000000..9905310b2 --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_workday_refresh_token_params_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.workday_refresh_token_params_dto import WorkdayRefreshTokenParamsDTO + +class TestWorkdayRefreshTokenParamsDTO(unittest.TestCase): + """WorkdayRefreshTokenParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> WorkdayRefreshTokenParamsDTO: + """Test WorkdayRefreshTokenParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `WorkdayRefreshTokenParamsDTO` + """ + model = WorkdayRefreshTokenParamsDTO() + if include_optional: + return WorkdayRefreshTokenParamsDTO( + api_client_id = '', + client_secret = '', + refresh_token = '' + ) + else: + return WorkdayRefreshTokenParamsDTO( + ) + """ + + def testWorkdayRefreshTokenParamsDTO(self): + """Test WorkdayRefreshTokenParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/test/test_zoom_auth_params_dto.py b/src/visier.sdk.api.data_in/test/test_zoom_auth_params_dto.py new file mode 100644 index 000000000..8577efabc --- /dev/null +++ b/src/visier.sdk.api.data_in/test/test_zoom_auth_params_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_in.models.zoom_auth_params_dto import ZoomAuthParamsDTO + +class TestZoomAuthParamsDTO(unittest.TestCase): + """ZoomAuthParamsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ZoomAuthParamsDTO: + """Test ZoomAuthParamsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ZoomAuthParamsDTO` + """ + model = ZoomAuthParamsDTO() + if include_optional: + return ZoomAuthParamsDTO( + auth_code = '', + client_id = '', + client_secret = '' + ) + else: + return ZoomAuthParamsDTO( + ) + """ + + def testZoomAuthParamsDTO(self): + """Test ZoomAuthParamsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_in/tox.ini b/src/visier.sdk.api.data_in/tox.ini new file mode 100644 index 000000000..85564818e --- /dev/null +++ b/src/visier.sdk.api.data_in/tox.ini @@ -0,0 +1,9 @@ +[tox] +envlist = py38, py39, py310, py311, py312 + +[testenv] +deps=-r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt + +commands= + pytest --cov=visier.sdk.api.data_in diff --git a/src/visier.sdk.api.data_in/visier/__init__.py b/src/visier.sdk.api.data_in/visier/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.data_in/visier/sdk/__init__.py b/src/visier.sdk.api.data_in/visier/sdk/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/__init__.py b/src/visier.sdk.api.data_in/visier/sdk/api/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/__init__.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/__init__.py new file mode 100644 index 000000000..ef8cc4a2d --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/__init__.py @@ -0,0 +1,155 @@ +# coding: utf-8 + +# flake8: noqa + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +__version__ = "0.0.1" + +# import apis into sdk package +from visier.sdk.api.data_in.api.data_and_job_handling_api import DataAndJobHandlingApi +from visier.sdk.api.data_in.api.data_intake_api import DataIntakeApi +from visier.sdk.api.data_in.api.data_upload_api import DataUploadApi +from visier.sdk.api.data_in.api.direct_data_intake_api import DirectDataIntakeApi + +# import ApiClient +from visier.sdk.api.data_in.api_response import ApiResponse +from visier.sdk.api.data_in.api_client import ApiClient +from visier.sdk.api.data_in.configuration import Configuration +from visier.sdk.api.data_in.exceptions import OpenApiException +from visier.sdk.api.data_in.exceptions import ApiTypeError +from visier.sdk.api.data_in.exceptions import ApiValueError +from visier.sdk.api.data_in.exceptions import ApiKeyError +from visier.sdk.api.data_in.exceptions import ApiAttributeError +from visier.sdk.api.data_in.exceptions import ApiException + +# import models into sdk package +from visier.sdk.api.data_in.models.adp_auth_params_dto import AdpAuthParamsDTO +from visier.sdk.api.data_in.models.assign_connector_credential_request import AssignConnectorCredentialRequest +from visier.sdk.api.data_in.models.assign_connector_credentials_by_tenant_response_dto import AssignConnectorCredentialsByTenantResponseDTO +from visier.sdk.api.data_in.models.assign_connector_credentials_response_dto import AssignConnectorCredentialsResponseDTO +from visier.sdk.api.data_in.models.assign_connector_with_credentials_response_dto import AssignConnectorWithCredentialsResponseDTO +from visier.sdk.api.data_in.models.assigned_credential_info_response_dto import AssignedCredentialInfoResponseDTO +from visier.sdk.api.data_in.models.bamboo_auth_params_dto import BambooAuthParamsDTO +from visier.sdk.api.data_in.models.basic_s3_auth_params_dto import BasicS3AuthParamsDTO +from visier.sdk.api.data_in.models.big_query_auth_params_dto import BigQueryAuthParamsDTO +from visier.sdk.api.data_in.models.big_query_service_account_params_dto import BigQueryServiceAccountParamsDTO +from visier.sdk.api.data_in.models.cancel_job_batch_from_job_id_dto import CancelJobBatchFromJobIdDTO +from visier.sdk.api.data_in.models.connector import Connector +from visier.sdk.api.data_in.models.connector_info_response_dto import ConnectorInfoResponseDTO +from visier.sdk.api.data_in.models.copy_s3_auth_params_dto import CopyS3AuthParamsDTO +from visier.sdk.api.data_in.models.credential_creation_api_response_dto import CredentialCreationAPIResponseDTO +from visier.sdk.api.data_in.models.data_categories_response_dto import DataCategoriesResponseDTO +from visier.sdk.api.data_in.models.data_category_response_dto import DataCategoryResponseDTO +from visier.sdk.api.data_in.models.data_load_request import DataLoadRequest +from visier.sdk.api.data_in.models.data_load_request_model import DataLoadRequestModel +from visier.sdk.api.data_in.models.data_load_response import DataLoadResponse +from visier.sdk.api.data_in.models.data_provider_auth_information_dto import DataProviderAuthInformationDTO +from visier.sdk.api.data_in.models.data_provider_auth_params_dto import DataProviderAuthParamsDTO +from visier.sdk.api.data_in.models.data_provider_basic_information_dto import DataProviderBasicInformationDTO +from visier.sdk.api.data_in.models.data_provider_basic_metadata_dto import DataProviderBasicMetadataDTO +from visier.sdk.api.data_in.models.data_transfer_result_detail import DataTransferResultDetail +from visier.sdk.api.data_in.models.data_version_and_date_dto import DataVersionAndDateDTO +from visier.sdk.api.data_in.models.data_version_object import DataVersionObject +from visier.sdk.api.data_in.models.dayforce_v2_auth_params_dto import DayforceV2AuthParamsDTO +from visier.sdk.api.data_in.models.dimensions_auth_params_dto import DimensionsAuthParamsDTO +from visier.sdk.api.data_in.models.direct_data_job_config_dto import DirectDataJobConfigDTO +from visier.sdk.api.data_in.models.direct_data_job_status_response_dto import DirectDataJobStatusResponseDTO +from visier.sdk.api.data_in.models.direct_data_load_config_dto import DirectDataLoadConfigDTO +from visier.sdk.api.data_in.models.direct_data_schema_field_dto import DirectDataSchemaFieldDTO +from visier.sdk.api.data_in.models.direct_data_transaction_start_response_dto import DirectDataTransactionStartResponseDTO +from visier.sdk.api.data_in.models.direct_data_upload_file_response_dto import DirectDataUploadFileResponseDTO +from visier.sdk.api.data_in.models.disable_dv_model import DisableDVModel +from visier.sdk.api.data_in.models.disable_dv_request import DisableDVRequest +from visier.sdk.api.data_in.models.disable_dv_response import DisableDVResponse +from visier.sdk.api.data_in.models.dispatching_job_status_response import DispatchingJobStatusResponse +from visier.sdk.api.data_in.models.exclude_data_uploads_request import ExcludeDataUploadsRequest +from visier.sdk.api.data_in.models.extraction_job import ExtractionJob +from visier.sdk.api.data_in.models.extraction_job_and_status_response import ExtractionJobAndStatusResponse +from visier.sdk.api.data_in.models.extractor_credential_apidto import ExtractorCredentialAPIDTO +from visier.sdk.api.data_in.models.extractor_credentials_apidto import ExtractorCredentialsAPIDTO +from visier.sdk.api.data_in.models.fusion_auth_params_dto import FusionAuthParamsDTO +from visier.sdk.api.data_in.models.gong_auth_params_dto import GongAuthParamsDTO +from visier.sdk.api.data_in.models.google_protobuf_any import GoogleProtobufAny +from visier.sdk.api.data_in.models.google_sheets_auth_params_dto import GoogleSheetsAuthParamsDTO +from visier.sdk.api.data_in.models.google_workspace_auth_params_dto import GoogleWorkspaceAuthParamsDTO +from visier.sdk.api.data_in.models.greenhouse_auth_params_dto import GreenhouseAuthParamsDTO +from visier.sdk.api.data_in.models.icims_auth_params_dto import IcimsAuthParamsDTO +from visier.sdk.api.data_in.models.import_definition_apidto import ImportDefinitionAPIDTO +from visier.sdk.api.data_in.models.import_definitions_apidto import ImportDefinitionsAPIDTO +from visier.sdk.api.data_in.models.include_data_uploads_request import IncludeDataUploadsRequest +from visier.sdk.api.data_in.models.internal_s3_auth_params_dto import InternalS3AuthParamsDTO +from visier.sdk.api.data_in.models.jdbc_auth_params_dto import JdbcAuthParamsDTO +from visier.sdk.api.data_in.models.jira_auth_params_dto import JiraAuthParamsDTO +from visier.sdk.api.data_in.models.jira_connect_params_dto import JiraConnectParamsDTO +from visier.sdk.api.data_in.models.job_cancellation_result_dto import JobCancellationResultDTO +from visier.sdk.api.data_in.models.job_cancellation_results_dto import JobCancellationResultsDTO +from visier.sdk.api.data_in.models.job_status_list_response import JobStatusListResponse +from visier.sdk.api.data_in.models.job_status_with_start_time import JobStatusWithStartTime +from visier.sdk.api.data_in.models.lever_auth_params_dto import LeverAuthParamsDTO +from visier.sdk.api.data_in.models.medallia_auth_params_dto import MedalliaAuthParamsDTO +from visier.sdk.api.data_in.models.microsoft365_auth_params_dto import Microsoft365AuthParamsDTO +from visier.sdk.api.data_in.models.multiple_tenant_data_versions_details_dto import MultipleTenantDataVersionsDetailsDTO +from visier.sdk.api.data_in.models.multiple_tenant_data_versions_list_dto import MultipleTenantDataVersionsListDTO +from visier.sdk.api.data_in.models.my_sql_auth_params_dto import MySqlAuthParamsDTO +from visier.sdk.api.data_in.models.namely_auth_params_dto import NamelyAuthParamsDTO +from visier.sdk.api.data_in.models.oracle_db_auth_params_dto import OracleDbAuthParamsDTO +from visier.sdk.api.data_in.models.processing_job import ProcessingJob +from visier.sdk.api.data_in.models.processing_job_and_status_response import ProcessingJobAndStatusResponse +from visier.sdk.api.data_in.models.processing_job_status_response import ProcessingJobStatusResponse +from visier.sdk.api.data_in.models.push_data_cancel_response import PushDataCancelResponse +from visier.sdk.api.data_in.models.push_data_column_definition_dto import PushDataColumnDefinitionDTO +from visier.sdk.api.data_in.models.push_data_complete_request import PushDataCompleteRequest +from visier.sdk.api.data_in.models.push_data_complete_response import PushDataCompleteResponse +from visier.sdk.api.data_in.models.push_data_response import PushDataResponse +from visier.sdk.api.data_in.models.push_data_source_definition_dto import PushDataSourceDefinitionDTO +from visier.sdk.api.data_in.models.push_data_source_definitions_dto import PushDataSourceDefinitionsDTO +from visier.sdk.api.data_in.models.qualtrics_auth_params_dto import QualtricsAuthParamsDTO +from visier.sdk.api.data_in.models.receiving_job import ReceivingJob +from visier.sdk.api.data_in.models.receiving_job_and_status_response import ReceivingJobAndStatusResponse +from visier.sdk.api.data_in.models.receiving_job_status_response import ReceivingJobStatusResponse +from visier.sdk.api.data_in.models.redshift_auth_params_dto import RedshiftAuthParamsDTO +from visier.sdk.api.data_in.models.result import Result +from visier.sdk.api.data_in.models.salesforce_auth_params_dto import SalesforceAuthParamsDTO +from visier.sdk.api.data_in.models.salesforce_v2_auth_params_dto import SalesforceV2AuthParamsDTO +from visier.sdk.api.data_in.models.service_now_auth_params_dto import ServiceNowAuthParamsDTO +from visier.sdk.api.data_in.models.slack_auth_params_dto import SlackAuthParamsDTO +from visier.sdk.api.data_in.models.snowflake_auth_params_dto import SnowflakeAuthParamsDTO +from visier.sdk.api.data_in.models.source import Source +from visier.sdk.api.data_in.models.sql_server_auth_params_dto import SqlServerAuthParamsDTO +from visier.sdk.api.data_in.models.start_extraction_model import StartExtractionModel +from visier.sdk.api.data_in.models.start_extraction_request import StartExtractionRequest +from visier.sdk.api.data_in.models.start_extraction_response import StartExtractionResponse +from visier.sdk.api.data_in.models.start_transfer_response import StartTransferResponse +from visier.sdk.api.data_in.models.status import Status +from visier.sdk.api.data_in.models.subject_missing_access_dto import SubjectMissingAccessDTO +from visier.sdk.api.data_in.models.success_factors_auth_params_dto import SuccessFactorsAuthParamsDTO +from visier.sdk.api.data_in.models.success_factors_o_auth_params_dto import SuccessFactorsOAuthParamsDTO +from visier.sdk.api.data_in.models.tenant import Tenant +from visier.sdk.api.data_in.models.tenant_and_credential import TenantAndCredential +from visier.sdk.api.data_in.models.tenant_data_upload_status_response_dto import TenantDataUploadStatusResponseDTO +from visier.sdk.api.data_in.models.tenant_data_upload_update_status_response_dto import TenantDataUploadUpdateStatusResponseDTO +from visier.sdk.api.data_in.models.tenant_data_uploads_list_response_dto import TenantDataUploadsListResponseDTO +from visier.sdk.api.data_in.models.tenant_data_uploads_response_dto import TenantDataUploadsResponseDTO +from visier.sdk.api.data_in.models.tenant_data_uploads_update_response_dto import TenantDataUploadsUpdateResponseDTO +from visier.sdk.api.data_in.models.ultimate_auth_params_dto import UltimateAuthParamsDTO +from visier.sdk.api.data_in.models.upload_to_exclude import UploadToExclude +from visier.sdk.api.data_in.models.upload_to_exclude_model import UploadToExcludeModel +from visier.sdk.api.data_in.models.upload_to_include import UploadToInclude +from visier.sdk.api.data_in.models.upload_to_include_model import UploadToIncludeModel +from visier.sdk.api.data_in.models.willow_auth_params_dto import WillowAuthParamsDTO +from visier.sdk.api.data_in.models.workday_auth_params_dto import WorkdayAuthParamsDTO +from visier.sdk.api.data_in.models.workday_o_auth_params_dto import WorkdayOAuthParamsDTO +from visier.sdk.api.data_in.models.workday_raas_auth_params_dto import WorkdayRaasAuthParamsDTO +from visier.sdk.api.data_in.models.workday_refresh_token_params_dto import WorkdayRefreshTokenParamsDTO +from visier.sdk.api.data_in.models.zoom_auth_params_dto import ZoomAuthParamsDTO diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/__init__.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/__init__.py new file mode 100644 index 000000000..3c6869e4e --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/__init__.py @@ -0,0 +1,8 @@ +# flake8: noqa + +# import apis into api package +from visier.sdk.api.data_in.api.data_and_job_handling_api import DataAndJobHandlingApi +from visier.sdk.api.data_in.api.data_intake_api import DataIntakeApi +from visier.sdk.api.data_in.api.data_upload_api import DataUploadApi +from visier.sdk.api.data_in.api.direct_data_intake_api import DirectDataIntakeApi + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/data_and_job_handling_api.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/data_and_job_handling_api.py new file mode 100644 index 000000000..b42856d06 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/data_and_job_handling_api.py @@ -0,0 +1,6528 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + 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, StrictInt, StrictStr +from typing import Optional +from typing_extensions import Annotated +from visier.sdk.api.data_in.models.assign_connector_credential_request import AssignConnectorCredentialRequest +from visier.sdk.api.data_in.models.assign_connector_credentials_response_dto import AssignConnectorCredentialsResponseDTO +from visier.sdk.api.data_in.models.cancel_job_batch_from_job_id_dto import CancelJobBatchFromJobIdDTO +from visier.sdk.api.data_in.models.credential_creation_api_response_dto import CredentialCreationAPIResponseDTO +from visier.sdk.api.data_in.models.data_categories_response_dto import DataCategoriesResponseDTO +from visier.sdk.api.data_in.models.data_load_request import DataLoadRequest +from visier.sdk.api.data_in.models.data_load_response import DataLoadResponse +from visier.sdk.api.data_in.models.data_provider_auth_information_dto import DataProviderAuthInformationDTO +from visier.sdk.api.data_in.models.disable_dv_request import DisableDVRequest +from visier.sdk.api.data_in.models.disable_dv_response import DisableDVResponse +from visier.sdk.api.data_in.models.dispatching_job_status_response import DispatchingJobStatusResponse +from visier.sdk.api.data_in.models.exclude_data_uploads_request import ExcludeDataUploadsRequest +from visier.sdk.api.data_in.models.extraction_job_and_status_response import ExtractionJobAndStatusResponse +from visier.sdk.api.data_in.models.extractor_credentials_apidto import ExtractorCredentialsAPIDTO +from visier.sdk.api.data_in.models.import_definitions_apidto import ImportDefinitionsAPIDTO +from visier.sdk.api.data_in.models.include_data_uploads_request import IncludeDataUploadsRequest +from visier.sdk.api.data_in.models.job_cancellation_results_dto import JobCancellationResultsDTO +from visier.sdk.api.data_in.models.job_status_list_response import JobStatusListResponse +from visier.sdk.api.data_in.models.multiple_tenant_data_versions_list_dto import MultipleTenantDataVersionsListDTO +from visier.sdk.api.data_in.models.processing_job_and_status_response import ProcessingJobAndStatusResponse +from visier.sdk.api.data_in.models.processing_job_status_response import ProcessingJobStatusResponse +from visier.sdk.api.data_in.models.receiving_job_and_status_response import ReceivingJobAndStatusResponse +from visier.sdk.api.data_in.models.receiving_job_status_response import ReceivingJobStatusResponse +from visier.sdk.api.data_in.models.start_extraction_request import StartExtractionRequest +from visier.sdk.api.data_in.models.start_extraction_response import StartExtractionResponse +from visier.sdk.api.data_in.models.tenant_data_uploads_list_response_dto import TenantDataUploadsListResponseDTO +from visier.sdk.api.data_in.models.tenant_data_uploads_update_response_dto import TenantDataUploadsUpdateResponseDTO + +from visier.sdk.api.data_in.api_client import ApiClient, RequestSerialized +from visier.sdk.api.data_in.api_response import ApiResponse +from visier.sdk.api.data_in.rest import RESTResponseType + + +class DataAndJobHandlingApi: + """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 assign_connector_credential( + self, + assign_connector_credential_request: AssignConnectorCredentialRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AssignConnectorCredentialsResponseDTO: + """Assign connector credentials to data connectors + + Assign a connector credential to a data connector. + + :param assign_connector_credential_request: (required) + :type assign_connector_credential_request: AssignConnectorCredentialRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._assign_connector_credential_serialize( + assign_connector_credential_request=assign_connector_credential_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssignConnectorCredentialsResponseDTO", + } + response_data = self.api_client.call_api( + *_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 assign_connector_credential_with_http_info( + self, + assign_connector_credential_request: AssignConnectorCredentialRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[AssignConnectorCredentialsResponseDTO]: + """Assign connector credentials to data connectors + + Assign a connector credential to a data connector. + + :param assign_connector_credential_request: (required) + :type assign_connector_credential_request: AssignConnectorCredentialRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._assign_connector_credential_serialize( + assign_connector_credential_request=assign_connector_credential_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssignConnectorCredentialsResponseDTO", + } + response_data = self.api_client.call_api( + *_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 assign_connector_credential_without_preload_content( + self, + assign_connector_credential_request: AssignConnectorCredentialRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 connector credentials to data connectors + + Assign a connector credential to a data connector. + + :param assign_connector_credential_request: (required) + :type assign_connector_credential_request: AssignConnectorCredentialRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._assign_connector_credential_serialize( + assign_connector_credential_request=assign_connector_credential_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssignConnectorCredentialsResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _assign_connector_credential_serialize( + self, + assign_connector_credential_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]] = {} + _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 assign_connector_credential_request is not None: + _body_params = assign_connector_credential_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/op/data-connectors/assignCredentials', + 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 cancel_jobs( + self, + cancel_job_batch_from_job_id_dto: CancelJobBatchFromJobIdDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> JobCancellationResultsDTO: + """Cancel a list of jobs + + Cancel a list of processing jobs, upload jobs, receiving jobs, and extraction jobs. **Note:** Receiving jobs with the Running status cannot be cancelled. + + :param cancel_job_batch_from_job_id_dto: (required) + :type cancel_job_batch_from_job_id_dto: CancelJobBatchFromJobIdDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._cancel_jobs_serialize( + cancel_job_batch_from_job_id_dto=cancel_job_batch_from_job_id_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "JobCancellationResultsDTO", + } + response_data = self.api_client.call_api( + *_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 cancel_jobs_with_http_info( + self, + cancel_job_batch_from_job_id_dto: CancelJobBatchFromJobIdDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[JobCancellationResultsDTO]: + """Cancel a list of jobs + + Cancel a list of processing jobs, upload jobs, receiving jobs, and extraction jobs. **Note:** Receiving jobs with the Running status cannot be cancelled. + + :param cancel_job_batch_from_job_id_dto: (required) + :type cancel_job_batch_from_job_id_dto: CancelJobBatchFromJobIdDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._cancel_jobs_serialize( + cancel_job_batch_from_job_id_dto=cancel_job_batch_from_job_id_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "JobCancellationResultsDTO", + } + response_data = self.api_client.call_api( + *_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 cancel_jobs_without_preload_content( + self, + cancel_job_batch_from_job_id_dto: CancelJobBatchFromJobIdDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Cancel a list of jobs + + Cancel a list of processing jobs, upload jobs, receiving jobs, and extraction jobs. **Note:** Receiving jobs with the Running status cannot be cancelled. + + :param cancel_job_batch_from_job_id_dto: (required) + :type cancel_job_batch_from_job_id_dto: CancelJobBatchFromJobIdDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._cancel_jobs_serialize( + cancel_job_batch_from_job_id_dto=cancel_job_batch_from_job_id_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "JobCancellationResultsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _cancel_jobs_serialize( + self, + cancel_job_batch_from_job_id_dto, + _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]] = {} + _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 cancel_job_batch_from_job_id_dto is not None: + _body_params = cancel_job_batch_from_job_id_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/op/jobs/cancel', + 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_connector_credential( + self, + data_provider_auth_information_dto: DataProviderAuthInformationDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to create the credential for.")] = 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, + ) -> CredentialCreationAPIResponseDTO: + """Create a connector credential + + Create connector credentials for a specified tenant. Connector credentials allow Visier to retrieve data from your source systems through an integration user in the source system. + + :param data_provider_auth_information_dto: (required) + :type data_provider_auth_information_dto: DataProviderAuthInformationDTO + :param tenant_code: The tenant code of a specific analytic tenant that you want to create the credential for. + :type tenant_code: 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._create_connector_credential_serialize( + data_provider_auth_information_dto=data_provider_auth_information_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CredentialCreationAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_connector_credential_with_http_info( + self, + data_provider_auth_information_dto: DataProviderAuthInformationDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to create the credential for.")] = 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[CredentialCreationAPIResponseDTO]: + """Create a connector credential + + Create connector credentials for a specified tenant. Connector credentials allow Visier to retrieve data from your source systems through an integration user in the source system. + + :param data_provider_auth_information_dto: (required) + :type data_provider_auth_information_dto: DataProviderAuthInformationDTO + :param tenant_code: The tenant code of a specific analytic tenant that you want to create the credential for. + :type tenant_code: 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._create_connector_credential_serialize( + data_provider_auth_information_dto=data_provider_auth_information_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CredentialCreationAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_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_connector_credential_without_preload_content( + self, + data_provider_auth_information_dto: DataProviderAuthInformationDTO, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to create the credential for.")] = 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 connector credential + + Create connector credentials for a specified tenant. Connector credentials allow Visier to retrieve data from your source systems through an integration user in the source system. + + :param data_provider_auth_information_dto: (required) + :type data_provider_auth_information_dto: DataProviderAuthInformationDTO + :param tenant_code: The tenant code of a specific analytic tenant that you want to create the credential for. + :type tenant_code: 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._create_connector_credential_serialize( + data_provider_auth_information_dto=data_provider_auth_information_dto, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CredentialCreationAPIResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_connector_credential_serialize( + self, + data_provider_auth_information_dto, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # process the header parameters + # process the form parameters + # process the body parameter + if data_provider_auth_information_dto is not None: + _body_params = data_provider_auth_information_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/op/data-connector-credentials', + 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 data_connector_credentials( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve for.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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, + ) -> ExtractorCredentialsAPIDTO: + """Retrieve a list of all data connector credentials + + Retrieve a list of the connector credentials in a specified tenant. Connector credentials allow Visier to retrieve data from your source systems through an integration user in the source system. + + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve for. + :type tenant_code: str + :param limit: The limit to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._data_connector_credentials_serialize( + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ExtractorCredentialsAPIDTO", + } + response_data = self.api_client.call_api( + *_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 data_connector_credentials_with_http_info( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve for.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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[ExtractorCredentialsAPIDTO]: + """Retrieve a list of all data connector credentials + + Retrieve a list of the connector credentials in a specified tenant. Connector credentials allow Visier to retrieve data from your source systems through an integration user in the source system. + + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve for. + :type tenant_code: str + :param limit: The limit to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._data_connector_credentials_serialize( + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ExtractorCredentialsAPIDTO", + } + response_data = self.api_client.call_api( + *_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 data_connector_credentials_without_preload_content( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve for.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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: + """Retrieve a list of all data connector credentials + + Retrieve a list of the connector credentials in a specified tenant. Connector credentials allow Visier to retrieve data from your source systems through an integration user in the source system. + + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve for. + :type tenant_code: str + :param limit: The limit to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._data_connector_credentials_serialize( + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ExtractorCredentialsAPIDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _data_connector_credentials_serialize( + self, + tenant_code, + limit, + start, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/data-connector-credentials', + 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 data_connectors( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve for.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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, + ) -> ImportDefinitionsAPIDTO: + """Retrieve a list of all data connectors + + Retrieve a list of the data connectors in a specified tenant. Data connectors are an alternative to generating flat files and transferring them to Visier via SFTP. + + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve for. + :type tenant_code: str + :param limit: The limit to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._data_connectors_serialize( + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ImportDefinitionsAPIDTO", + } + response_data = self.api_client.call_api( + *_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 data_connectors_with_http_info( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve for.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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[ImportDefinitionsAPIDTO]: + """Retrieve a list of all data connectors + + Retrieve a list of the data connectors in a specified tenant. Data connectors are an alternative to generating flat files and transferring them to Visier via SFTP. + + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve for. + :type tenant_code: str + :param limit: The limit to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._data_connectors_serialize( + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ImportDefinitionsAPIDTO", + } + response_data = self.api_client.call_api( + *_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 data_connectors_without_preload_content( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve for.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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: + """Retrieve a list of all data connectors + + Retrieve a list of the data connectors in a specified tenant. Data connectors are an alternative to generating flat files and transferring them to Visier via SFTP. + + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve for. + :type tenant_code: str + :param limit: The limit to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._data_connectors_serialize( + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ImportDefinitionsAPIDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _data_connectors_serialize( + self, + tenant_code, + limit, + start, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/data-connectors', + 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_connector_credential( + self, + id: Annotated[StrictStr, Field(description="The credentialId of the credential you want to delete.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of the analytic tenant in which the credential you're deleting.")] = 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, + ) -> str: + """Delete a connector credential + + Use this API to delete connector credentials from your tenants. Credentials that are no longer valid should be deleted. + + :param id: The credentialId of the credential you want to delete. (required) + :type id: str + :param tenant_code: The tenant code of the analytic tenant in which the credential you're deleting. + :type tenant_code: 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_connector_credential_serialize( + id=id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + } + response_data = self.api_client.call_api( + *_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_connector_credential_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The credentialId of the credential you want to delete.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of the analytic tenant in which the credential you're deleting.")] = 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[str]: + """Delete a connector credential + + Use this API to delete connector credentials from your tenants. Credentials that are no longer valid should be deleted. + + :param id: The credentialId of the credential you want to delete. (required) + :type id: str + :param tenant_code: The tenant code of the analytic tenant in which the credential you're deleting. + :type tenant_code: 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_connector_credential_serialize( + id=id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + } + response_data = self.api_client.call_api( + *_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_connector_credential_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The credentialId of the credential you want to delete.")], + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of the analytic tenant in which the credential you're deleting.")] = 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 a connector credential + + Use this API to delete connector credentials from your tenants. Credentials that are no longer valid should be deleted. + + :param id: The credentialId of the credential you want to delete. (required) + :type id: str + :param tenant_code: The tenant code of the analytic tenant in which the credential you're deleting. + :type tenant_code: 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_connector_credential_serialize( + id=id, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_connector_credential_serialize( + self, + id, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/op/data-connector-credentials/{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 disable_dv( + self, + disable_dv_request: DisableDVRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DisableDVResponse: + """Disable data versions for a list of analytic tenants + + If you discover that a data version is not what is expected after running metric value validation on a data load, you may want to disable the data version for that processing job. Disable the latest enabled data versions for affected analytic tenants or to disable a particular data version for each analytic tenant. **Note:** Disabling an older data version may not have an effect on the state of the solution. + + :param disable_dv_request: (required) + :type disable_dv_request: DisableDVRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._disable_dv_serialize( + disable_dv_request=disable_dv_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DisableDVResponse", + } + response_data = self.api_client.call_api( + *_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 disable_dv_with_http_info( + self, + disable_dv_request: DisableDVRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DisableDVResponse]: + """Disable data versions for a list of analytic tenants + + If you discover that a data version is not what is expected after running metric value validation on a data load, you may want to disable the data version for that processing job. Disable the latest enabled data versions for affected analytic tenants or to disable a particular data version for each analytic tenant. **Note:** Disabling an older data version may not have an effect on the state of the solution. + + :param disable_dv_request: (required) + :type disable_dv_request: DisableDVRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._disable_dv_serialize( + disable_dv_request=disable_dv_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DisableDVResponse", + } + response_data = self.api_client.call_api( + *_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 disable_dv_without_preload_content( + self, + disable_dv_request: DisableDVRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Disable data versions for a list of analytic tenants + + If you discover that a data version is not what is expected after running metric value validation on a data load, you may want to disable the data version for that processing job. Disable the latest enabled data versions for affected analytic tenants or to disable a particular data version for each analytic tenant. **Note:** Disabling an older data version may not have an effect on the state of the solution. + + :param disable_dv_request: (required) + :type disable_dv_request: DisableDVRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._disable_dv_serialize( + disable_dv_request=disable_dv_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DisableDVResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _disable_dv_serialize( + self, + disable_dv_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]] = {} + _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 disable_dv_request is not None: + _body_params = disable_dv_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/op/data-versions/disable', + 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 dispatching_job_status( + self, + job_id: Annotated[StrictStr, Field(description="The ID of the job you want to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DispatchingJobStatusResponse: + """Retrieve a dispatching job's status + + Retrieve the status of a dispatching job, including its job ID and the number of jobs it generated. + + :param job_id: The ID of the job you want to retrieve. (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._dispatching_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': "DispatchingJobStatusResponse", + } + response_data = self.api_client.call_api( + *_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 dispatching_job_status_with_http_info( + self, + job_id: Annotated[StrictStr, Field(description="The ID of the job you want to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DispatchingJobStatusResponse]: + """Retrieve a dispatching job's status + + Retrieve the status of a dispatching job, including its job ID and the number of jobs it generated. + + :param job_id: The ID of the job you want to retrieve. (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._dispatching_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': "DispatchingJobStatusResponse", + } + response_data = self.api_client.call_api( + *_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 dispatching_job_status_without_preload_content( + self, + job_id: Annotated[StrictStr, Field(description="The ID of the job you want to retrieve.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a dispatching job's status + + Retrieve the status of a dispatching job, including its job ID and the number of jobs it generated. + + :param job_id: The ID of the job you want to retrieve. (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._dispatching_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': "DispatchingJobStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _dispatching_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if job_id is not None: + _path_params['jobId'] = job_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/jobs/dispatching-jobs/{jobId}', + 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 exclude_data_uplaods( + self, + exclude_data_uploads_request: ExcludeDataUploadsRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TenantDataUploadsUpdateResponseDTO: + """Exclude data uploads + + Exclude either a specified list of data uploads or all data uploads for each analytic tenant. + + :param exclude_data_uploads_request: (required) + :type exclude_data_uploads_request: ExcludeDataUploadsRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._exclude_data_uplaods_serialize( + exclude_data_uploads_request=exclude_data_uploads_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantDataUploadsUpdateResponseDTO", + } + response_data = self.api_client.call_api( + *_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 exclude_data_uplaods_with_http_info( + self, + exclude_data_uploads_request: ExcludeDataUploadsRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[TenantDataUploadsUpdateResponseDTO]: + """Exclude data uploads + + Exclude either a specified list of data uploads or all data uploads for each analytic tenant. + + :param exclude_data_uploads_request: (required) + :type exclude_data_uploads_request: ExcludeDataUploadsRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._exclude_data_uplaods_serialize( + exclude_data_uploads_request=exclude_data_uploads_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantDataUploadsUpdateResponseDTO", + } + response_data = self.api_client.call_api( + *_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 exclude_data_uplaods_without_preload_content( + self, + exclude_data_uploads_request: ExcludeDataUploadsRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Exclude data uploads + + Exclude either a specified list of data uploads or all data uploads for each analytic tenant. + + :param exclude_data_uploads_request: (required) + :type exclude_data_uploads_request: ExcludeDataUploadsRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._exclude_data_uplaods_serialize( + exclude_data_uploads_request=exclude_data_uploads_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantDataUploadsUpdateResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _exclude_data_uplaods_serialize( + self, + exclude_data_uploads_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]] = {} + _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 exclude_data_uploads_request is not None: + _body_params = exclude_data_uploads_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/op/data/uploads/exclude', + 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 extraction_job_and_status( + self, + job_id: Annotated[StrictStr, Field(description="The ID of the dispatching job you want to retrieve.")], + dispatching_job_id: Annotated[Optional[StrictStr], Field(description="The ID of the dispatching job that generated the extraction jobs.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of extraction job statuses to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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, + ) -> ExtractionJobAndStatusResponse: + """Retrieve a dispatching job's extraction jobs with their statuses + + Retrieve the statuses of extraction jobs associated with a dispatching job. The dispatching job is a \"parent\" to extraction jobs, which retrieve data from your source systems through data connectors. + + :param job_id: The ID of the dispatching job you want to retrieve. (required) + :type job_id: str + :param dispatching_job_id: The ID of the dispatching job that generated the extraction jobs. + :type dispatching_job_id: str + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of extraction job statuses to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._extraction_job_and_status_serialize( + job_id=job_id, + dispatching_job_id=dispatching_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ExtractionJobAndStatusResponse", + } + response_data = self.api_client.call_api( + *_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 extraction_job_and_status_with_http_info( + self, + job_id: Annotated[StrictStr, Field(description="The ID of the dispatching job you want to retrieve.")], + dispatching_job_id: Annotated[Optional[StrictStr], Field(description="The ID of the dispatching job that generated the extraction jobs.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of extraction job statuses to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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[ExtractionJobAndStatusResponse]: + """Retrieve a dispatching job's extraction jobs with their statuses + + Retrieve the statuses of extraction jobs associated with a dispatching job. The dispatching job is a \"parent\" to extraction jobs, which retrieve data from your source systems through data connectors. + + :param job_id: The ID of the dispatching job you want to retrieve. (required) + :type job_id: str + :param dispatching_job_id: The ID of the dispatching job that generated the extraction jobs. + :type dispatching_job_id: str + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of extraction job statuses to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._extraction_job_and_status_serialize( + job_id=job_id, + dispatching_job_id=dispatching_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ExtractionJobAndStatusResponse", + } + response_data = self.api_client.call_api( + *_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 extraction_job_and_status_without_preload_content( + self, + job_id: Annotated[StrictStr, Field(description="The ID of the dispatching job you want to retrieve.")], + dispatching_job_id: Annotated[Optional[StrictStr], Field(description="The ID of the dispatching job that generated the extraction jobs.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of extraction job statuses to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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: + """Retrieve a dispatching job's extraction jobs with their statuses + + Retrieve the statuses of extraction jobs associated with a dispatching job. The dispatching job is a \"parent\" to extraction jobs, which retrieve data from your source systems through data connectors. + + :param job_id: The ID of the dispatching job you want to retrieve. (required) + :type job_id: str + :param dispatching_job_id: The ID of the dispatching job that generated the extraction jobs. + :type dispatching_job_id: str + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of extraction job statuses to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._extraction_job_and_status_serialize( + job_id=job_id, + dispatching_job_id=dispatching_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ExtractionJobAndStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _extraction_job_and_status_serialize( + self, + job_id, + dispatching_job_id, + tenant_code, + limit, + start, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if job_id is not None: + _path_params['jobId'] = job_id + # process the query parameters + if dispatching_job_id is not None: + + _query_params.append(('dispatchingJobId', dispatching_job_id)) + + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/jobs/dispatching-jobs/{jobId}/extraction-jobs', + 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 include_data_uploads( + self, + include_data_uploads_request: IncludeDataUploadsRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TenantDataUploadsUpdateResponseDTO: + """Include data uploads + + Include either the specified list of data uploads or all data uploads for each analytic tenant. + + :param include_data_uploads_request: (required) + :type include_data_uploads_request: IncludeDataUploadsRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._include_data_uploads_serialize( + include_data_uploads_request=include_data_uploads_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantDataUploadsUpdateResponseDTO", + } + response_data = self.api_client.call_api( + *_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 include_data_uploads_with_http_info( + self, + include_data_uploads_request: IncludeDataUploadsRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[TenantDataUploadsUpdateResponseDTO]: + """Include data uploads + + Include either the specified list of data uploads or all data uploads for each analytic tenant. + + :param include_data_uploads_request: (required) + :type include_data_uploads_request: IncludeDataUploadsRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._include_data_uploads_serialize( + include_data_uploads_request=include_data_uploads_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantDataUploadsUpdateResponseDTO", + } + response_data = self.api_client.call_api( + *_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 include_data_uploads_without_preload_content( + self, + include_data_uploads_request: IncludeDataUploadsRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Include data uploads + + Include either the specified list of data uploads or all data uploads for each analytic tenant. + + :param include_data_uploads_request: (required) + :type include_data_uploads_request: IncludeDataUploadsRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._include_data_uploads_serialize( + include_data_uploads_request=include_data_uploads_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantDataUploadsUpdateResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _include_data_uploads_serialize( + self, + include_data_uploads_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]] = {} + _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 include_data_uploads_request is not None: + _body_params = include_data_uploads_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/op/data/uploads/include', + 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 job_id_status( + self, + job_id: Annotated[StrictStr, Field(description="The unique ID of the job to retrieve the status for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ReceivingJobStatusResponse: + """Retrieve a specific job's status + + Use this API to retrieve the list of statuses for a specific job with id `jobId`. You can retrieve all job statuses or specify a time period to retrieve statuses from. + + :param job_id: The unique ID of the job to retrieve the status for. (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._job_id_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': "ReceivingJobStatusResponse", + } + response_data = self.api_client.call_api( + *_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 job_id_status_with_http_info( + self, + job_id: Annotated[StrictStr, Field(description="The unique ID of the job to retrieve the status for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ReceivingJobStatusResponse]: + """Retrieve a specific job's status + + Use this API to retrieve the list of statuses for a specific job with id `jobId`. You can retrieve all job statuses or specify a time period to retrieve statuses from. + + :param job_id: The unique ID of the job to retrieve the status for. (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._job_id_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': "ReceivingJobStatusResponse", + } + response_data = self.api_client.call_api( + *_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 job_id_status_without_preload_content( + self, + job_id: Annotated[StrictStr, Field(description="The unique ID of the job to retrieve the status for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a specific job's status + + Use this API to retrieve the list of statuses for a specific job with id `jobId`. You can retrieve all job statuses or specify a time period to retrieve statuses from. + + :param job_id: The unique ID of the job to retrieve the status for. (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._job_id_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': "ReceivingJobStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _job_id_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if job_id is not None: + _path_params['jobId'] = job_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/job-status/jobs/{jobId}', + 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 job_status( + self, + start_time: Annotated[Optional[StrictStr], Field(description="The start time from which to retrieve job statuses.")] = None, + end_time: Annotated[Optional[StrictStr], Field(description="The end time from which to retrieve job statuses.")] = None, + status: Annotated[Optional[StrictStr], Field(description="The specific status to restrict the list of jobs to.")] = 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, + ) -> JobStatusListResponse: + """Retrieve the statuses of all jobs + + Retrieve the list of statuses for all jobs. + + :param start_time: The start time from which to retrieve job statuses. + :type start_time: str + :param end_time: The end time from which to retrieve job statuses. + :type end_time: str + :param status: The specific status to restrict the list of jobs to. + :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._job_status_serialize( + start_time=start_time, + end_time=end_time, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "JobStatusListResponse", + } + response_data = self.api_client.call_api( + *_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 job_status_with_http_info( + self, + start_time: Annotated[Optional[StrictStr], Field(description="The start time from which to retrieve job statuses.")] = None, + end_time: Annotated[Optional[StrictStr], Field(description="The end time from which to retrieve job statuses.")] = None, + status: Annotated[Optional[StrictStr], Field(description="The specific status to restrict the list of jobs to.")] = 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[JobStatusListResponse]: + """Retrieve the statuses of all jobs + + Retrieve the list of statuses for all jobs. + + :param start_time: The start time from which to retrieve job statuses. + :type start_time: str + :param end_time: The end time from which to retrieve job statuses. + :type end_time: str + :param status: The specific status to restrict the list of jobs to. + :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._job_status_serialize( + start_time=start_time, + end_time=end_time, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "JobStatusListResponse", + } + response_data = self.api_client.call_api( + *_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 job_status_without_preload_content( + self, + start_time: Annotated[Optional[StrictStr], Field(description="The start time from which to retrieve job statuses.")] = None, + end_time: Annotated[Optional[StrictStr], Field(description="The end time from which to retrieve job statuses.")] = None, + status: Annotated[Optional[StrictStr], Field(description="The specific status to restrict the list of jobs to.")] = 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: + """Retrieve the statuses of all jobs + + Retrieve the list of statuses for all jobs. + + :param start_time: The start time from which to retrieve job statuses. + :type start_time: str + :param end_time: The end time from which to retrieve job statuses. + :type end_time: str + :param status: The specific status to restrict the list of jobs to. + :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._job_status_serialize( + start_time=start_time, + end_time=end_time, + status=status, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "JobStatusListResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _job_status_serialize( + self, + start_time, + end_time, + 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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if start_time is not None: + + _query_params.append(('startTime', start_time)) + + if end_time is not None: + + _query_params.append(('endTime', end_time)) + + 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/job-status/jobs', + 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 latest_enabled_dv( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve data versions for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of analytic tenants to retrieve data versions for. This parameter is not used if the tenantCode parameter is specified.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + number_of_versions: Annotated[Optional[StrictInt], Field(description="The number of latest enabled data versions to retrieve. The maximum value is 5.")] = 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, + ) -> MultipleTenantDataVersionsListDTO: + """Retrieve the latest enabled data versions for all analytic tenants + + If you discover any inconsistencies after running metric value validation, you may want to find the data versions causing inconsistencies so you can later disable them. Retrieve up to five (5) of the latest enabled data versions for all your analytic tenants or a single specified analytic tenant. + + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve data versions for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of analytic tenants to retrieve data versions for. This parameter is not used if the tenantCode parameter is specified. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param number_of_versions: The number of latest enabled data versions to retrieve. The maximum value is 5. + :type number_of_versions: 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._latest_enabled_dv_serialize( + tenant_code=tenant_code, + limit=limit, + start=start, + number_of_versions=number_of_versions, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MultipleTenantDataVersionsListDTO", + } + response_data = self.api_client.call_api( + *_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 latest_enabled_dv_with_http_info( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve data versions for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of analytic tenants to retrieve data versions for. This parameter is not used if the tenantCode parameter is specified.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + number_of_versions: Annotated[Optional[StrictInt], Field(description="The number of latest enabled data versions to retrieve. The maximum value is 5.")] = 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[MultipleTenantDataVersionsListDTO]: + """Retrieve the latest enabled data versions for all analytic tenants + + If you discover any inconsistencies after running metric value validation, you may want to find the data versions causing inconsistencies so you can later disable them. Retrieve up to five (5) of the latest enabled data versions for all your analytic tenants or a single specified analytic tenant. + + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve data versions for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of analytic tenants to retrieve data versions for. This parameter is not used if the tenantCode parameter is specified. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param number_of_versions: The number of latest enabled data versions to retrieve. The maximum value is 5. + :type number_of_versions: 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._latest_enabled_dv_serialize( + tenant_code=tenant_code, + limit=limit, + start=start, + number_of_versions=number_of_versions, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MultipleTenantDataVersionsListDTO", + } + response_data = self.api_client.call_api( + *_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 latest_enabled_dv_without_preload_content( + self, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve data versions for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of analytic tenants to retrieve data versions for. This parameter is not used if the tenantCode parameter is specified.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + number_of_versions: Annotated[Optional[StrictInt], Field(description="The number of latest enabled data versions to retrieve. The maximum value is 5.")] = 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: + """Retrieve the latest enabled data versions for all analytic tenants + + If you discover any inconsistencies after running metric value validation, you may want to find the data versions causing inconsistencies so you can later disable them. Retrieve up to five (5) of the latest enabled data versions for all your analytic tenants or a single specified analytic tenant. + + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve data versions for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of analytic tenants to retrieve data versions for. This parameter is not used if the tenantCode parameter is specified. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param number_of_versions: The number of latest enabled data versions to retrieve. The maximum value is 5. + :type number_of_versions: 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._latest_enabled_dv_serialize( + tenant_code=tenant_code, + limit=limit, + start=start, + number_of_versions=number_of_versions, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MultipleTenantDataVersionsListDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _latest_enabled_dv_serialize( + self, + tenant_code, + limit, + start, + number_of_versions, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + if number_of_versions is not None: + + _query_params.append(('numberOfVersions', number_of_versions)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/data-versions', + 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 processing_job_and_status( + self, + job_id: Annotated[StrictStr, Field(description="The ID of the dispatching job you want to retrieve.")], + dispatching_job_id: Annotated[Optional[StrictStr], Field(description="The ID of the dispatching job that generated the extraction jobs.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of extraction job statuses to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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, + ) -> ProcessingJobAndStatusResponse: + """Retrieve a dispatching job's processing jobs with their statuses + + Retrieve the statuses of processing jobs associated with a dispatching job. The dispatching job is a \"parent\" to extraction jobs, which in turn generate processing jobs and receiving jobs. + + :param job_id: The ID of the dispatching job you want to retrieve. (required) + :type job_id: str + :param dispatching_job_id: The ID of the dispatching job that generated the extraction jobs. + :type dispatching_job_id: str + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of extraction job statuses to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._processing_job_and_status_serialize( + job_id=job_id, + dispatching_job_id=dispatching_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProcessingJobAndStatusResponse", + } + response_data = self.api_client.call_api( + *_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 processing_job_and_status_with_http_info( + self, + job_id: Annotated[StrictStr, Field(description="The ID of the dispatching job you want to retrieve.")], + dispatching_job_id: Annotated[Optional[StrictStr], Field(description="The ID of the dispatching job that generated the extraction jobs.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of extraction job statuses to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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[ProcessingJobAndStatusResponse]: + """Retrieve a dispatching job's processing jobs with their statuses + + Retrieve the statuses of processing jobs associated with a dispatching job. The dispatching job is a \"parent\" to extraction jobs, which in turn generate processing jobs and receiving jobs. + + :param job_id: The ID of the dispatching job you want to retrieve. (required) + :type job_id: str + :param dispatching_job_id: The ID of the dispatching job that generated the extraction jobs. + :type dispatching_job_id: str + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of extraction job statuses to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._processing_job_and_status_serialize( + job_id=job_id, + dispatching_job_id=dispatching_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProcessingJobAndStatusResponse", + } + response_data = self.api_client.call_api( + *_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 processing_job_and_status_without_preload_content( + self, + job_id: Annotated[StrictStr, Field(description="The ID of the dispatching job you want to retrieve.")], + dispatching_job_id: Annotated[Optional[StrictStr], Field(description="The ID of the dispatching job that generated the extraction jobs.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of extraction job statuses to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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: + """Retrieve a dispatching job's processing jobs with their statuses + + Retrieve the statuses of processing jobs associated with a dispatching job. The dispatching job is a \"parent\" to extraction jobs, which in turn generate processing jobs and receiving jobs. + + :param job_id: The ID of the dispatching job you want to retrieve. (required) + :type job_id: str + :param dispatching_job_id: The ID of the dispatching job that generated the extraction jobs. + :type dispatching_job_id: str + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of extraction job statuses to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._processing_job_and_status_serialize( + job_id=job_id, + dispatching_job_id=dispatching_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProcessingJobAndStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _processing_job_and_status_serialize( + self, + job_id, + dispatching_job_id, + tenant_code, + limit, + start, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if job_id is not None: + _path_params['jobId'] = job_id + # process the query parameters + if dispatching_job_id is not None: + + _query_params.append(('dispatchingJobId', dispatching_job_id)) + + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/jobs/dispatching-jobs/{jobId}/processing-jobs', + 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 processing_job_status( + self, + receiving_job_id: Annotated[StrictStr, Field(description="The receiving job ID")], + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of the tenant you want to retrieve the processing jobs for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of processing jobs to retrieve per page.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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, + ) -> ProcessingJobStatusResponse: + """Retrieve processing job statuses by receiving job ID + + Retrieve a list of statuses for all processing jobs associated with the given receiving job ID. Processing jobs deal with an individual analytic tenant's data load. A processing job is either triggered through the UI or is one of many processing jobs spawned from a receiving job. When a processing job is triggered as part of a set from an receiving job, it is associated to the receiving job through a Parent ID. + + :param receiving_job_id: The receiving job ID (required) + :type receiving_job_id: str + :param tenant_code: The tenant code of the tenant you want to retrieve the processing jobs for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of processing jobs to retrieve per page. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._processing_job_status_serialize( + receiving_job_id=receiving_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProcessingJobStatusResponse", + } + response_data = self.api_client.call_api( + *_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 processing_job_status_with_http_info( + self, + receiving_job_id: Annotated[StrictStr, Field(description="The receiving job ID")], + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of the tenant you want to retrieve the processing jobs for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of processing jobs to retrieve per page.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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[ProcessingJobStatusResponse]: + """Retrieve processing job statuses by receiving job ID + + Retrieve a list of statuses for all processing jobs associated with the given receiving job ID. Processing jobs deal with an individual analytic tenant's data load. A processing job is either triggered through the UI or is one of many processing jobs spawned from a receiving job. When a processing job is triggered as part of a set from an receiving job, it is associated to the receiving job through a Parent ID. + + :param receiving_job_id: The receiving job ID (required) + :type receiving_job_id: str + :param tenant_code: The tenant code of the tenant you want to retrieve the processing jobs for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of processing jobs to retrieve per page. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._processing_job_status_serialize( + receiving_job_id=receiving_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProcessingJobStatusResponse", + } + response_data = self.api_client.call_api( + *_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 processing_job_status_without_preload_content( + self, + receiving_job_id: Annotated[StrictStr, Field(description="The receiving job ID")], + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of the tenant you want to retrieve the processing jobs for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of processing jobs to retrieve per page.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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: + """Retrieve processing job statuses by receiving job ID + + Retrieve a list of statuses for all processing jobs associated with the given receiving job ID. Processing jobs deal with an individual analytic tenant's data load. A processing job is either triggered through the UI or is one of many processing jobs spawned from a receiving job. When a processing job is triggered as part of a set from an receiving job, it is associated to the receiving job through a Parent ID. + + :param receiving_job_id: The receiving job ID (required) + :type receiving_job_id: str + :param tenant_code: The tenant code of the tenant you want to retrieve the processing jobs for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of processing jobs to retrieve per page. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._processing_job_status_serialize( + receiving_job_id=receiving_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ProcessingJobStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _processing_job_status_serialize( + self, + receiving_job_id, + tenant_code, + limit, + start, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if receiving_job_id is not None: + _path_params['receivingJobId'] = receiving_job_id + # process the query parameters + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/jobs/processing-jobs/{receivingJobId}', + 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 receiving_job_and_status( + self, + job_id: Annotated[StrictStr, Field(description="The ID of the dispatching job you want to retrieve.")], + dispatching_job_id: Annotated[Optional[StrictStr], Field(description="The ID of the dispatching job that generated the extraction jobs.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of extraction job statuses to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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, + ) -> ReceivingJobAndStatusResponse: + """Retrieve a dispatching job's receiving jobs with their statuses + + Retrieve the statuses of receiving jobs associated with a dispatching job. The dispatching job is a \"parent\" to extraction jobs, which in turn generate processing jobs and receiving jobs. + + :param job_id: The ID of the dispatching job you want to retrieve. (required) + :type job_id: str + :param dispatching_job_id: The ID of the dispatching job that generated the extraction jobs. + :type dispatching_job_id: str + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of extraction job statuses to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._receiving_job_and_status_serialize( + job_id=job_id, + dispatching_job_id=dispatching_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ReceivingJobAndStatusResponse", + } + response_data = self.api_client.call_api( + *_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 receiving_job_and_status_with_http_info( + self, + job_id: Annotated[StrictStr, Field(description="The ID of the dispatching job you want to retrieve.")], + dispatching_job_id: Annotated[Optional[StrictStr], Field(description="The ID of the dispatching job that generated the extraction jobs.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of extraction job statuses to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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[ReceivingJobAndStatusResponse]: + """Retrieve a dispatching job's receiving jobs with their statuses + + Retrieve the statuses of receiving jobs associated with a dispatching job. The dispatching job is a \"parent\" to extraction jobs, which in turn generate processing jobs and receiving jobs. + + :param job_id: The ID of the dispatching job you want to retrieve. (required) + :type job_id: str + :param dispatching_job_id: The ID of the dispatching job that generated the extraction jobs. + :type dispatching_job_id: str + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of extraction job statuses to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._receiving_job_and_status_serialize( + job_id=job_id, + dispatching_job_id=dispatching_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ReceivingJobAndStatusResponse", + } + response_data = self.api_client.call_api( + *_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 receiving_job_and_status_without_preload_content( + self, + job_id: Annotated[StrictStr, Field(description="The ID of the dispatching job you want to retrieve.")], + dispatching_job_id: Annotated[Optional[StrictStr], Field(description="The ID of the dispatching job that generated the extraction jobs.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of extraction job statuses to retrieve.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = 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: + """Retrieve a dispatching job's receiving jobs with their statuses + + Retrieve the statuses of receiving jobs associated with a dispatching job. The dispatching job is a \"parent\" to extraction jobs, which in turn generate processing jobs and receiving jobs. + + :param job_id: The ID of the dispatching job you want to retrieve. (required) + :type job_id: str + :param dispatching_job_id: The ID of the dispatching job that generated the extraction jobs. + :type dispatching_job_id: str + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve the extraction job status for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param limit: The limit of extraction job statuses to retrieve. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: 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._receiving_job_and_status_serialize( + job_id=job_id, + dispatching_job_id=dispatching_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ReceivingJobAndStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _receiving_job_and_status_serialize( + self, + job_id, + dispatching_job_id, + tenant_code, + limit, + start, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if job_id is not None: + _path_params['jobId'] = job_id + # process the query parameters + if dispatching_job_id is not None: + + _query_params.append(('dispatchingJobId', dispatching_job_id)) + + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/jobs/dispatching-jobs/{jobId}/receiving-jobs', + 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 receiving_job_status( + self, + receiving_job_id: Annotated[StrictStr, Field(description="The jobId provided after sending data to Visier.")], + jobs: Annotated[Optional[StrictBool], Field(description="If `true`, returns the status of receiving jobs spawned by the receiving job specified by `jobId`.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of the tenant you want to retrieve the receiving jobs for. Use this if you are only interested in the results for one analytic tenant.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of job statuses to return per 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, + ) -> ReceivingJobStatusResponse: + """Retrieve a receiving job's status + + After sending data to Visier, you may want to know the status of the receiving job and the associated tenant receiving jobs. A receiving job validates the transferred data and adds the transferred data to Visier's data store. Retrieve the receiving job status and summary of analytic tenant receiving jobs. + + :param receiving_job_id: The jobId provided after sending data to Visier. (required) + :type receiving_job_id: str + :param jobs: If `true`, returns the status of receiving jobs spawned by the receiving job specified by `jobId`. + :type jobs: bool + :param tenant_code: The tenant code of the tenant you want to retrieve the receiving jobs for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param limit: The number of job statuses to return per page. + :type limit: 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._receiving_job_status_serialize( + receiving_job_id=receiving_job_id, + jobs=jobs, + tenant_code=tenant_code, + start=start, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ReceivingJobStatusResponse", + } + response_data = self.api_client.call_api( + *_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 receiving_job_status_with_http_info( + self, + receiving_job_id: Annotated[StrictStr, Field(description="The jobId provided after sending data to Visier.")], + jobs: Annotated[Optional[StrictBool], Field(description="If `true`, returns the status of receiving jobs spawned by the receiving job specified by `jobId`.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of the tenant you want to retrieve the receiving jobs for. Use this if you are only interested in the results for one analytic tenant.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of job statuses to return per 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[ReceivingJobStatusResponse]: + """Retrieve a receiving job's status + + After sending data to Visier, you may want to know the status of the receiving job and the associated tenant receiving jobs. A receiving job validates the transferred data and adds the transferred data to Visier's data store. Retrieve the receiving job status and summary of analytic tenant receiving jobs. + + :param receiving_job_id: The jobId provided after sending data to Visier. (required) + :type receiving_job_id: str + :param jobs: If `true`, returns the status of receiving jobs spawned by the receiving job specified by `jobId`. + :type jobs: bool + :param tenant_code: The tenant code of the tenant you want to retrieve the receiving jobs for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param limit: The number of job statuses to return per page. + :type limit: 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._receiving_job_status_serialize( + receiving_job_id=receiving_job_id, + jobs=jobs, + tenant_code=tenant_code, + start=start, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ReceivingJobStatusResponse", + } + response_data = self.api_client.call_api( + *_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 receiving_job_status_without_preload_content( + self, + receiving_job_id: Annotated[StrictStr, Field(description="The jobId provided after sending data to Visier.")], + jobs: Annotated[Optional[StrictBool], Field(description="If `true`, returns the status of receiving jobs spawned by the receiving job specified by `jobId`.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The tenant code of the tenant you want to retrieve the receiving jobs for. Use this if you are only interested in the results for one analytic tenant.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The number of job statuses to return per 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: + """Retrieve a receiving job's status + + After sending data to Visier, you may want to know the status of the receiving job and the associated tenant receiving jobs. A receiving job validates the transferred data and adds the transferred data to Visier's data store. Retrieve the receiving job status and summary of analytic tenant receiving jobs. + + :param receiving_job_id: The jobId provided after sending data to Visier. (required) + :type receiving_job_id: str + :param jobs: If `true`, returns the status of receiving jobs spawned by the receiving job specified by `jobId`. + :type jobs: bool + :param tenant_code: The tenant code of the tenant you want to retrieve the receiving jobs for. Use this if you are only interested in the results for one analytic tenant. + :type tenant_code: str + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param limit: The number of job statuses to return per page. + :type limit: 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._receiving_job_status_serialize( + receiving_job_id=receiving_job_id, + jobs=jobs, + tenant_code=tenant_code, + start=start, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ReceivingJobStatusResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _receiving_job_status_serialize( + self, + receiving_job_id, + jobs, + tenant_code, + start, + limit, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if receiving_job_id is not None: + _path_params['receivingJobId'] = receiving_job_id + # process the query parameters + if jobs is not None: + + _query_params.append(('jobs', jobs)) + + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if start is not None: + + _query_params.append(('start', start)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/jobs/receiving-jobs/{receivingJobId}', + 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 retrieve_data_categories( + 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, + ) -> DataCategoriesResponseDTO: + """Retrieve a list of all data categories + + Retrieve a list of all available data categories. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._retrieve_data_categories_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataCategoriesResponseDTO", + } + response_data = self.api_client.call_api( + *_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 retrieve_data_categories_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[DataCategoriesResponseDTO]: + """Retrieve a list of all data categories + + Retrieve a list of all available data categories. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._retrieve_data_categories_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataCategoriesResponseDTO", + } + response_data = self.api_client.call_api( + *_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 retrieve_data_categories_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: + """Retrieve a list of all data categories + + Retrieve a list of all available data categories. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._retrieve_data_categories_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataCategoriesResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _retrieve_data_categories_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/data/categories', + 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 retrieve_data_uploads( + self, + upload_job_id: Annotated[Optional[StrictStr], Field(description="The job ID of an upload job. Use this if you are interested in the data uploads for a specific upload job.")] = None, + tenant_code: Annotated[Optional[StrictInt], Field(description="The tenant code of a specific analytic tenant that you want to retrieve the data uploads for.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of analytic tenants to retrieve data uploads for. This parameter is not used if the tenantCode parameter is specified.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + number_of_data_uploads: Annotated[Optional[StrictInt], Field(description="The maximum number of latest enabled data uploads to retrieve for each analytic tenant. The maximum value is 5.")] = 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, + ) -> TenantDataUploadsListResponseDTO: + """Retrieve data uploads + + Retrieve the data uploads and whether they're included in one of: - A list of analytic tenants managed by you. - A single specified analytic tenant. - An upload job. + + :param upload_job_id: The job ID of an upload job. Use this if you are interested in the data uploads for a specific upload job. + :type upload_job_id: str + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve the data uploads for. + :type tenant_code: int + :param limit: The limit of analytic tenants to retrieve data uploads for. This parameter is not used if the tenantCode parameter is specified. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param number_of_data_uploads: The maximum number of latest enabled data uploads to retrieve for each analytic tenant. The maximum value is 5. + :type number_of_data_uploads: 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._retrieve_data_uploads_serialize( + upload_job_id=upload_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + number_of_data_uploads=number_of_data_uploads, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantDataUploadsListResponseDTO", + } + response_data = self.api_client.call_api( + *_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 retrieve_data_uploads_with_http_info( + self, + upload_job_id: Annotated[Optional[StrictStr], Field(description="The job ID of an upload job. Use this if you are interested in the data uploads for a specific upload job.")] = None, + tenant_code: Annotated[Optional[StrictInt], Field(description="The tenant code of a specific analytic tenant that you want to retrieve the data uploads for.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of analytic tenants to retrieve data uploads for. This parameter is not used if the tenantCode parameter is specified.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + number_of_data_uploads: Annotated[Optional[StrictInt], Field(description="The maximum number of latest enabled data uploads to retrieve for each analytic tenant. The maximum value is 5.")] = 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[TenantDataUploadsListResponseDTO]: + """Retrieve data uploads + + Retrieve the data uploads and whether they're included in one of: - A list of analytic tenants managed by you. - A single specified analytic tenant. - An upload job. + + :param upload_job_id: The job ID of an upload job. Use this if you are interested in the data uploads for a specific upload job. + :type upload_job_id: str + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve the data uploads for. + :type tenant_code: int + :param limit: The limit of analytic tenants to retrieve data uploads for. This parameter is not used if the tenantCode parameter is specified. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param number_of_data_uploads: The maximum number of latest enabled data uploads to retrieve for each analytic tenant. The maximum value is 5. + :type number_of_data_uploads: 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._retrieve_data_uploads_serialize( + upload_job_id=upload_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + number_of_data_uploads=number_of_data_uploads, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantDataUploadsListResponseDTO", + } + response_data = self.api_client.call_api( + *_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 retrieve_data_uploads_without_preload_content( + self, + upload_job_id: Annotated[Optional[StrictStr], Field(description="The job ID of an upload job. Use this if you are interested in the data uploads for a specific upload job.")] = None, + tenant_code: Annotated[Optional[StrictInt], Field(description="The tenant code of a specific analytic tenant that you want to retrieve the data uploads for.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The limit of analytic tenants to retrieve data uploads for. This parameter is not used if the tenantCode parameter is specified.")] = None, + start: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. The index begins at 0.")] = None, + number_of_data_uploads: Annotated[Optional[StrictInt], Field(description="The maximum number of latest enabled data uploads to retrieve for each analytic tenant. The maximum value is 5.")] = 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: + """Retrieve data uploads + + Retrieve the data uploads and whether they're included in one of: - A list of analytic tenants managed by you. - A single specified analytic tenant. - An upload job. + + :param upload_job_id: The job ID of an upload job. Use this if you are interested in the data uploads for a specific upload job. + :type upload_job_id: str + :param tenant_code: The tenant code of a specific analytic tenant that you want to retrieve the data uploads for. + :type tenant_code: int + :param limit: The limit of analytic tenants to retrieve data uploads for. This parameter is not used if the tenantCode parameter is specified. + :type limit: int + :param start: The index to start retrieving results from, also known as offset. The index begins at 0. + :type start: int + :param number_of_data_uploads: The maximum number of latest enabled data uploads to retrieve for each analytic tenant. The maximum value is 5. + :type number_of_data_uploads: 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._retrieve_data_uploads_serialize( + upload_job_id=upload_job_id, + tenant_code=tenant_code, + limit=limit, + start=start, + number_of_data_uploads=number_of_data_uploads, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TenantDataUploadsListResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _retrieve_data_uploads_serialize( + self, + upload_job_id, + tenant_code, + limit, + start, + number_of_data_uploads, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if upload_job_id is not None: + + _query_params.append(('uploadJobId', upload_job_id)) + + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if start is not None: + + _query_params.append(('start', start)) + + if number_of_data_uploads is not None: + + _query_params.append(('numberOfDataUploads', number_of_data_uploads)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/data/uploads', + 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 start_extraction( + self, + start_extraction_request: StartExtractionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> StartExtractionResponse: + """Trigger extraction jobs + + Generate extraction jobs for a list of analytic tenants or for the administrating tenant. This API creates a dispatching job that generates one extraction job per tenant. The extraction jobs retrieve data from your source systems through data connectors. The dispatching job is the \"parent\" of the extraction jobs and its job ID is returned in the response. + + :param start_extraction_request: (required) + :type start_extraction_request: StartExtractionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_extraction_serialize( + start_extraction_request=start_extraction_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StartExtractionResponse", + } + response_data = self.api_client.call_api( + *_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 start_extraction_with_http_info( + self, + start_extraction_request: StartExtractionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[StartExtractionResponse]: + """Trigger extraction jobs + + Generate extraction jobs for a list of analytic tenants or for the administrating tenant. This API creates a dispatching job that generates one extraction job per tenant. The extraction jobs retrieve data from your source systems through data connectors. The dispatching job is the \"parent\" of the extraction jobs and its job ID is returned in the response. + + :param start_extraction_request: (required) + :type start_extraction_request: StartExtractionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_extraction_serialize( + start_extraction_request=start_extraction_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StartExtractionResponse", + } + response_data = self.api_client.call_api( + *_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 start_extraction_without_preload_content( + self, + start_extraction_request: StartExtractionRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Trigger extraction jobs + + Generate extraction jobs for a list of analytic tenants or for the administrating tenant. This API creates a dispatching job that generates one extraction job per tenant. The extraction jobs retrieve data from your source systems through data connectors. The dispatching job is the \"parent\" of the extraction jobs and its job ID is returned in the response. + + :param start_extraction_request: (required) + :type start_extraction_request: StartExtractionRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_extraction_serialize( + start_extraction_request=start_extraction_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StartExtractionResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _start_extraction_serialize( + self, + start_extraction_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]] = {} + _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 start_extraction_request is not None: + _body_params = start_extraction_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/op/data/startExtractAndLoad', + 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 start_load( + self, + data_load_request: DataLoadRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DataLoadResponse: + """Start the data load for an analytic tenant + + This API starts the data load process for all analytic tenants included in the specified data files uploaded to the Visier SFTP server. On success, you receive a job ID that can be filtered and searched for within the Jobs room in Visier. This job ID is associated with the receiving job, and related to all processing jobs that spawn for each analytic tenant. With the job ID, you can also call the next two APIs to retrieve the status of the receiving job and the status list of all related processing jobs. **Prerequisite:** You must first obtain Visier's public encryption key and upload the source data files to Visier's SFTP server. Files must have a .zip.gpg extension, meaning the files are encrypted using the PGP protocol and compressed. Visier provides SFTP server credentials and instructions. You can find the encryption key at https://www.visier.com/pgp/visier.public.pgp.asc. After downloading the file, open the file in a text editor or by dragging it into your browser. **Note:** - To see the full status of all analytic tenant data loads, navigate to the Jobs room in a project. - For performance and efficiency, Visier requires that the uncompressed batch file size is below 5 GB and that no more than 5000 tenants are included in a batch. + + :param data_load_request: (required) + :type data_load_request: DataLoadRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_load_serialize( + data_load_request=data_load_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataLoadResponse", + } + response_data = self.api_client.call_api( + *_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 start_load_with_http_info( + self, + data_load_request: DataLoadRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DataLoadResponse]: + """Start the data load for an analytic tenant + + This API starts the data load process for all analytic tenants included in the specified data files uploaded to the Visier SFTP server. On success, you receive a job ID that can be filtered and searched for within the Jobs room in Visier. This job ID is associated with the receiving job, and related to all processing jobs that spawn for each analytic tenant. With the job ID, you can also call the next two APIs to retrieve the status of the receiving job and the status list of all related processing jobs. **Prerequisite:** You must first obtain Visier's public encryption key and upload the source data files to Visier's SFTP server. Files must have a .zip.gpg extension, meaning the files are encrypted using the PGP protocol and compressed. Visier provides SFTP server credentials and instructions. You can find the encryption key at https://www.visier.com/pgp/visier.public.pgp.asc. After downloading the file, open the file in a text editor or by dragging it into your browser. **Note:** - To see the full status of all analytic tenant data loads, navigate to the Jobs room in a project. - For performance and efficiency, Visier requires that the uncompressed batch file size is below 5 GB and that no more than 5000 tenants are included in a batch. + + :param data_load_request: (required) + :type data_load_request: DataLoadRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_load_serialize( + data_load_request=data_load_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataLoadResponse", + } + response_data = self.api_client.call_api( + *_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 start_load_without_preload_content( + self, + data_load_request: DataLoadRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Start the data load for an analytic tenant + + This API starts the data load process for all analytic tenants included in the specified data files uploaded to the Visier SFTP server. On success, you receive a job ID that can be filtered and searched for within the Jobs room in Visier. This job ID is associated with the receiving job, and related to all processing jobs that spawn for each analytic tenant. With the job ID, you can also call the next two APIs to retrieve the status of the receiving job and the status list of all related processing jobs. **Prerequisite:** You must first obtain Visier's public encryption key and upload the source data files to Visier's SFTP server. Files must have a .zip.gpg extension, meaning the files are encrypted using the PGP protocol and compressed. Visier provides SFTP server credentials and instructions. You can find the encryption key at https://www.visier.com/pgp/visier.public.pgp.asc. After downloading the file, open the file in a text editor or by dragging it into your browser. **Note:** - To see the full status of all analytic tenant data loads, navigate to the Jobs room in a project. - For performance and efficiency, Visier requires that the uncompressed batch file size is below 5 GB and that no more than 5000 tenants are included in a batch. + + :param data_load_request: (required) + :type data_load_request: DataLoadRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_load_serialize( + data_load_request=data_load_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataLoadResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _start_load_serialize( + self, + data_load_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]] = {} + _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 data_load_request is not None: + _body_params = data_load_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/op/data/startload', + 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/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/data_intake_api.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/data_intake_api.py new file mode 100644 index 000000000..d9e9596b2 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/data_intake_api.py @@ -0,0 +1,1748 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + 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, StrictInt, StrictStr +from typing import Optional +from typing_extensions import Annotated +from visier.sdk.api.data_in.models.push_data_cancel_response import PushDataCancelResponse +from visier.sdk.api.data_in.models.push_data_complete_request import PushDataCompleteRequest +from visier.sdk.api.data_in.models.push_data_complete_response import PushDataCompleteResponse +from visier.sdk.api.data_in.models.push_data_response import PushDataResponse +from visier.sdk.api.data_in.models.push_data_source_definitions_dto import PushDataSourceDefinitionsDTO +from visier.sdk.api.data_in.models.start_transfer_response import StartTransferResponse + +from visier.sdk.api.data_in.api_client import ApiClient, RequestSerialized +from visier.sdk.api.data_in.api_response import ApiResponse +from visier.sdk.api.data_in.rest import RESTResponseType + + +class DataIntakeApi: + """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_sources( + 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, + ) -> PushDataSourceDefinitionsDTO: + """Retrieve a list of sources + + Prior to transferring data to Visier, you must identify the sources you want to target. Sources store data for the solution and are used to map data to Visier's data model. **Note:** To set up sources in your tenant, contact Visier Customer Success. This API allows you to query the list of available sources, and identify the source schema and required fields. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_sources_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataSourceDefinitionsDTO", + } + response_data = self.api_client.call_api( + *_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_sources_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[PushDataSourceDefinitionsDTO]: + """Retrieve a list of sources + + Prior to transferring data to Visier, you must identify the sources you want to target. Sources store data for the solution and are used to map data to Visier's data model. **Note:** To set up sources in your tenant, contact Visier Customer Success. This API allows you to query the list of available sources, and identify the source schema and required fields. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_sources_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataSourceDefinitionsDTO", + } + response_data = self.api_client.call_api( + *_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_sources_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: + """Retrieve a list of sources + + Prior to transferring data to Visier, you must identify the sources you want to target. Sources store data for the solution and are used to map data to Visier's data model. **Note:** To set up sources in your tenant, contact Visier Customer Success. This API allows you to query the list of available sources, and identify the source schema and required fields. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_sources_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataSourceDefinitionsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_sources_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/op/data-sources', + 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 push_data( + self, + transfer_session_id: Annotated[StrictStr, Field(description="The transfer session ID returned after the data transfer session starts.")], + body: StrictStr, + source_id: Annotated[Optional[StrictStr], Field(description="The unique identifier associated with the source you want to transfer data to.")] = None, + sequence: Annotated[Optional[StrictInt], Field(description="The unique sequence number associated with a batch of records.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o.")] = 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, + ) -> PushDataResponse: + """Transfer data to sources via JSON + + Transfer data to Visier in batches of records. Each request includes a batch of records formatted as a comma separated array with the first row containing the column headers in the request body. Each subsequent request should also include the first row as a header. Each request transfers a batch of records to a single source. Transfer sessions may include one or more batches before completion. Each batch is identified by a sequence number. Sequence numbers help identify any batches that were delivered incorrectly. Each batch is limited to the following request size: - Batch size limit: 10 MB - Record count limit: 300,000 rows + + :param transfer_session_id: The transfer session ID returned after the data transfer session starts. (required) + :type transfer_session_id: str + :param body: (required) + :type body: str + :param source_id: The unique identifier associated with the source you want to transfer data to. + :type source_id: str + :param sequence: The unique sequence number associated with a batch of records. + :type sequence: int + :param tenant_code: The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o. + :type tenant_code: 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._push_data_serialize( + transfer_session_id=transfer_session_id, + body=body, + source_id=source_id, + sequence=sequence, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataResponse", + } + response_data = self.api_client.call_api( + *_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 push_data_with_http_info( + self, + transfer_session_id: Annotated[StrictStr, Field(description="The transfer session ID returned after the data transfer session starts.")], + body: StrictStr, + source_id: Annotated[Optional[StrictStr], Field(description="The unique identifier associated with the source you want to transfer data to.")] = None, + sequence: Annotated[Optional[StrictInt], Field(description="The unique sequence number associated with a batch of records.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o.")] = 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[PushDataResponse]: + """Transfer data to sources via JSON + + Transfer data to Visier in batches of records. Each request includes a batch of records formatted as a comma separated array with the first row containing the column headers in the request body. Each subsequent request should also include the first row as a header. Each request transfers a batch of records to a single source. Transfer sessions may include one or more batches before completion. Each batch is identified by a sequence number. Sequence numbers help identify any batches that were delivered incorrectly. Each batch is limited to the following request size: - Batch size limit: 10 MB - Record count limit: 300,000 rows + + :param transfer_session_id: The transfer session ID returned after the data transfer session starts. (required) + :type transfer_session_id: str + :param body: (required) + :type body: str + :param source_id: The unique identifier associated with the source you want to transfer data to. + :type source_id: str + :param sequence: The unique sequence number associated with a batch of records. + :type sequence: int + :param tenant_code: The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o. + :type tenant_code: 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._push_data_serialize( + transfer_session_id=transfer_session_id, + body=body, + source_id=source_id, + sequence=sequence, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataResponse", + } + response_data = self.api_client.call_api( + *_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 push_data_without_preload_content( + self, + transfer_session_id: Annotated[StrictStr, Field(description="The transfer session ID returned after the data transfer session starts.")], + body: StrictStr, + source_id: Annotated[Optional[StrictStr], Field(description="The unique identifier associated with the source you want to transfer data to.")] = None, + sequence: Annotated[Optional[StrictInt], Field(description="The unique sequence number associated with a batch of records.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o.")] = 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: + """Transfer data to sources via JSON + + Transfer data to Visier in batches of records. Each request includes a batch of records formatted as a comma separated array with the first row containing the column headers in the request body. Each subsequent request should also include the first row as a header. Each request transfers a batch of records to a single source. Transfer sessions may include one or more batches before completion. Each batch is identified by a sequence number. Sequence numbers help identify any batches that were delivered incorrectly. Each batch is limited to the following request size: - Batch size limit: 10 MB - Record count limit: 300,000 rows + + :param transfer_session_id: The transfer session ID returned after the data transfer session starts. (required) + :type transfer_session_id: str + :param body: (required) + :type body: str + :param source_id: The unique identifier associated with the source you want to transfer data to. + :type source_id: str + :param sequence: The unique sequence number associated with a batch of records. + :type sequence: int + :param tenant_code: The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o. + :type tenant_code: 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._push_data_serialize( + transfer_session_id=transfer_session_id, + body=body, + source_id=source_id, + sequence=sequence, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _push_data_serialize( + self, + transfer_session_id, + body, + source_id, + sequence, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if transfer_session_id is not None: + _path_params['transferSessionId'] = transfer_session_id + # process the query parameters + if source_id is not None: + + _query_params.append(('sourceId', source_id)) + + if sequence is not None: + + _query_params.append(('sequence', sequence)) + + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/op/data-transfer-sessions/{transferSessionId}/add', + 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 push_data_cancel( + self, + transfer_session_id: Annotated[StrictStr, Field(description="The transfer session ID to cancel.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PushDataCancelResponse: + """Cancel a transfer session + + Cancel a transfer session after starting it. If a transfer session is cancelled, all records within the transfer session do not persist in Visier's data store. If you cancel a transfer session, please start a new transfer session and resend the complete data set. You might cancel a transfer session if: - A request to send a batch of records failed. - The original set of records is incomplete. - An infrastructure error occurs. + + :param transfer_session_id: The transfer session ID to cancel. (required) + :type transfer_session_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._push_data_cancel_serialize( + transfer_session_id=transfer_session_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataCancelResponse", + } + response_data = self.api_client.call_api( + *_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 push_data_cancel_with_http_info( + self, + transfer_session_id: Annotated[StrictStr, Field(description="The transfer session ID to cancel.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[PushDataCancelResponse]: + """Cancel a transfer session + + Cancel a transfer session after starting it. If a transfer session is cancelled, all records within the transfer session do not persist in Visier's data store. If you cancel a transfer session, please start a new transfer session and resend the complete data set. You might cancel a transfer session if: - A request to send a batch of records failed. - The original set of records is incomplete. - An infrastructure error occurs. + + :param transfer_session_id: The transfer session ID to cancel. (required) + :type transfer_session_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._push_data_cancel_serialize( + transfer_session_id=transfer_session_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataCancelResponse", + } + response_data = self.api_client.call_api( + *_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 push_data_cancel_without_preload_content( + self, + transfer_session_id: Annotated[StrictStr, Field(description="The transfer session ID to cancel.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Cancel a transfer session + + Cancel a transfer session after starting it. If a transfer session is cancelled, all records within the transfer session do not persist in Visier's data store. If you cancel a transfer session, please start a new transfer session and resend the complete data set. You might cancel a transfer session if: - A request to send a batch of records failed. - The original set of records is incomplete. - An infrastructure error occurs. + + :param transfer_session_id: The transfer session ID to cancel. (required) + :type transfer_session_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._push_data_cancel_serialize( + transfer_session_id=transfer_session_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataCancelResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _push_data_cancel_serialize( + self, + transfer_session_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if transfer_session_id is not None: + _path_params['transferSessionId'] = transfer_session_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/op/data-transfer-sessions/{transferSessionId}/cancel', + 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 push_data_complete( + self, + push_data_complete_request: PushDataCompleteRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PushDataCompleteResponse: + """Complete a transfer session + + Complete the specified transfer session by triggering a receiving job. A receiving job validates the transferred data and adds the transferred data to Visier's data store. You can set an optional parameter to generate a data version through a processing job immediately after the receiving job completes. + + :param push_data_complete_request: (required) + :type push_data_complete_request: PushDataCompleteRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._push_data_complete_serialize( + push_data_complete_request=push_data_complete_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataCompleteResponse", + } + response_data = self.api_client.call_api( + *_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 push_data_complete_with_http_info( + self, + push_data_complete_request: PushDataCompleteRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[PushDataCompleteResponse]: + """Complete a transfer session + + Complete the specified transfer session by triggering a receiving job. A receiving job validates the transferred data and adds the transferred data to Visier's data store. You can set an optional parameter to generate a data version through a processing job immediately after the receiving job completes. + + :param push_data_complete_request: (required) + :type push_data_complete_request: PushDataCompleteRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._push_data_complete_serialize( + push_data_complete_request=push_data_complete_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataCompleteResponse", + } + response_data = self.api_client.call_api( + *_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 push_data_complete_without_preload_content( + self, + push_data_complete_request: PushDataCompleteRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Complete a transfer session + + Complete the specified transfer session by triggering a receiving job. A receiving job validates the transferred data and adds the transferred data to Visier's data store. You can set an optional parameter to generate a data version through a processing job immediately after the receiving job completes. + + :param push_data_complete_request: (required) + :type push_data_complete_request: PushDataCompleteRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._push_data_complete_serialize( + push_data_complete_request=push_data_complete_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataCompleteResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _push_data_complete_serialize( + self, + push_data_complete_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]] = {} + _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 push_data_complete_request is not None: + _body_params = push_data_complete_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/op/jobs/receiving-jobs', + 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 start_transfer( + 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, + ) -> StartTransferResponse: + """Start a transfer session + + Start a new transfer session. A transfer session can include one or more batches of records to be sent to Visier. Batches of records may be transferred as JSON or file payloads. Recommended: For optimal performance, please include all batches of records in a single transfer session. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_transfer_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StartTransferResponse", + } + response_data = self.api_client.call_api( + *_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 start_transfer_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[StartTransferResponse]: + """Start a transfer session + + Start a new transfer session. A transfer session can include one or more batches of records to be sent to Visier. Batches of records may be transferred as JSON or file payloads. Recommended: For optimal performance, please include all batches of records in a single transfer session. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_transfer_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StartTransferResponse", + } + response_data = self.api_client.call_api( + *_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 start_transfer_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: + """Start a transfer session + + Start a new transfer session. A transfer session can include one or more batches of records to be sent to Visier. Batches of records may be transferred as JSON or file payloads. Recommended: For optimal performance, please include all batches of records in a single transfer session. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_transfer_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StartTransferResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _start_transfer_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/op/data-transfer-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 upload_data( + self, + transfer_session_id: Annotated[StrictStr, Field(description="The transfer session ID returned after the data transfer session starts.")], + source_id: Annotated[Optional[StrictStr], Field(description="The unique identifier associated with the source you want to transfer data to.")] = None, + sequence: Annotated[Optional[StrictStr], Field(description="The unique sequence number associated with a batch of records.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o.")] = 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, + ) -> PushDataResponse: + """Transfer data to sources via file upload + + Upload data to Visier as CSV or ZIP files. Each request transfers a single file. If the data intended for Visier is stored in multiple files, you may compress them into a single ZIP file or make multiple requests within the same transfer session. File size limit: 3 GB Each file is identified by a sequence number. Sequence numbers help identify any batches that were delivered incorrectly. If you define a specific source in the request, all files within the request will target the declared source. If a source is not defined, the filenames are matched against the source regex to correctly assign each file to a source. To find out the source regex, please contact Visier Customer Success. **Note:** If you include files that should target multiple sources in one ZIP file, do not define a source in the request. Analytic tenants: For optimal transfer speed, provide one ZIP file per source. Administrating tenants: For optimal transfer speed, provide one ZIP file containing all the required data files for your analytic tenants. In the ZIP file, use one folder per analytic tenant. The ZIP file must adhere to the following file structure: File1.zip - Folder1: WFF_tenantCode1 - Filename1.csv - Filename2.csv - Folder2: WFF_tenantCode2 - Filename3.csv - Filename4.csv + + :param transfer_session_id: The transfer session ID returned after the data transfer session starts. (required) + :type transfer_session_id: str + :param source_id: The unique identifier associated with the source you want to transfer data to. + :type source_id: str + :param sequence: The unique sequence number associated with a batch of records. + :type sequence: str + :param tenant_code: The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o. + :type tenant_code: 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._upload_data_serialize( + transfer_session_id=transfer_session_id, + source_id=source_id, + sequence=sequence, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataResponse", + } + response_data = self.api_client.call_api( + *_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 upload_data_with_http_info( + self, + transfer_session_id: Annotated[StrictStr, Field(description="The transfer session ID returned after the data transfer session starts.")], + source_id: Annotated[Optional[StrictStr], Field(description="The unique identifier associated with the source you want to transfer data to.")] = None, + sequence: Annotated[Optional[StrictStr], Field(description="The unique sequence number associated with a batch of records.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o.")] = 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[PushDataResponse]: + """Transfer data to sources via file upload + + Upload data to Visier as CSV or ZIP files. Each request transfers a single file. If the data intended for Visier is stored in multiple files, you may compress them into a single ZIP file or make multiple requests within the same transfer session. File size limit: 3 GB Each file is identified by a sequence number. Sequence numbers help identify any batches that were delivered incorrectly. If you define a specific source in the request, all files within the request will target the declared source. If a source is not defined, the filenames are matched against the source regex to correctly assign each file to a source. To find out the source regex, please contact Visier Customer Success. **Note:** If you include files that should target multiple sources in one ZIP file, do not define a source in the request. Analytic tenants: For optimal transfer speed, provide one ZIP file per source. Administrating tenants: For optimal transfer speed, provide one ZIP file containing all the required data files for your analytic tenants. In the ZIP file, use one folder per analytic tenant. The ZIP file must adhere to the following file structure: File1.zip - Folder1: WFF_tenantCode1 - Filename1.csv - Filename2.csv - Folder2: WFF_tenantCode2 - Filename3.csv - Filename4.csv + + :param transfer_session_id: The transfer session ID returned after the data transfer session starts. (required) + :type transfer_session_id: str + :param source_id: The unique identifier associated with the source you want to transfer data to. + :type source_id: str + :param sequence: The unique sequence number associated with a batch of records. + :type sequence: str + :param tenant_code: The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o. + :type tenant_code: 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._upload_data_serialize( + transfer_session_id=transfer_session_id, + source_id=source_id, + sequence=sequence, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataResponse", + } + response_data = self.api_client.call_api( + *_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 upload_data_without_preload_content( + self, + transfer_session_id: Annotated[StrictStr, Field(description="The transfer session ID returned after the data transfer session starts.")], + source_id: Annotated[Optional[StrictStr], Field(description="The unique identifier associated with the source you want to transfer data to.")] = None, + sequence: Annotated[Optional[StrictStr], Field(description="The unique sequence number associated with a batch of records.")] = None, + tenant_code: Annotated[Optional[StrictStr], Field(description="The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o.")] = 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: + """Transfer data to sources via file upload + + Upload data to Visier as CSV or ZIP files. Each request transfers a single file. If the data intended for Visier is stored in multiple files, you may compress them into a single ZIP file or make multiple requests within the same transfer session. File size limit: 3 GB Each file is identified by a sequence number. Sequence numbers help identify any batches that were delivered incorrectly. If you define a specific source in the request, all files within the request will target the declared source. If a source is not defined, the filenames are matched against the source regex to correctly assign each file to a source. To find out the source regex, please contact Visier Customer Success. **Note:** If you include files that should target multiple sources in one ZIP file, do not define a source in the request. Analytic tenants: For optimal transfer speed, provide one ZIP file per source. Administrating tenants: For optimal transfer speed, provide one ZIP file containing all the required data files for your analytic tenants. In the ZIP file, use one folder per analytic tenant. The ZIP file must adhere to the following file structure: File1.zip - Folder1: WFF_tenantCode1 - Filename1.csv - Filename2.csv - Folder2: WFF_tenantCode2 - Filename3.csv - Filename4.csv + + :param transfer_session_id: The transfer session ID returned after the data transfer session starts. (required) + :type transfer_session_id: str + :param source_id: The unique identifier associated with the source you want to transfer data to. + :type source_id: str + :param sequence: The unique sequence number associated with a batch of records. + :type sequence: str + :param tenant_code: The code of the tenant you want to transfer data to. For example, WFF_j1r or WFF_j1r~c7o. + :type tenant_code: 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._upload_data_serialize( + transfer_session_id=transfer_session_id, + source_id=source_id, + sequence=sequence, + tenant_code=tenant_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PushDataResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _upload_data_serialize( + self, + transfer_session_id, + source_id, + sequence, + tenant_code, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if transfer_session_id is not None: + _path_params['transferSessionId'] = transfer_session_id + # process the query parameters + if source_id is not None: + + _query_params.append(('sourceId', source_id)) + + if sequence is not None: + + _query_params.append(('sequence', sequence)) + + if tenant_code is not None: + + _query_params.append(('tenantCode', tenant_code)) + + # 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( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/op/data-transfer-sessions/{transferSessionId}/upload', + 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/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/data_upload_api.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/data_upload_api.py new file mode 100644 index 000000000..c73bd6504 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/data_upload_api.py @@ -0,0 +1,322 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + 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, StrictBytes, StrictStr +from typing import Optional, Union +from typing_extensions import Annotated +from visier.sdk.api.data_in.models.status import Status + +from visier.sdk.api.data_in.api_client import ApiClient, RequestSerialized +from visier.sdk.api.data_in.api_response import ApiResponse +from visier.sdk.api.data_in.rest import RESTResponseType + + +class DataUploadApi: + """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 v1_data_upload_files_filename_put( + self, + filename: Annotated[StrictStr, Field(description="The filename of the data file to upload, including the file extension (such as .zip or .csv).")], + body: Optional[Union[StrictBytes, StrictStr]] = 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, + ) -> Status: + """Upload a data file to Visier + + Use this API to upload data files to Visier. You can upload ZIP, CSV, XLS, and XLSX filetypes in plaintext or encrypted with Visier's PGP key. Use of this API requires client redirect. This API redirects requests directly to Visier's upload infrastructure to support long-running uploads. To ensure efficient uploading, we recommend that you use an HTTP client that supports the 100 Continue status code. The maximum file upload size is 500 MB. We recommend using SFTP for larger file sizes. + + :param filename: The filename of the data file to upload, including the file extension (such as .zip or .csv). (required) + :type filename: str + :param body: + :type body: 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._v1_data_upload_files_filename_put_serialize( + filename=filename, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '307': 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 v1_data_upload_files_filename_put_with_http_info( + self, + filename: Annotated[StrictStr, Field(description="The filename of the data file to upload, including the file extension (such as .zip or .csv).")], + body: Optional[Union[StrictBytes, StrictStr]] = 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[Status]: + """Upload a data file to Visier + + Use this API to upload data files to Visier. You can upload ZIP, CSV, XLS, and XLSX filetypes in plaintext or encrypted with Visier's PGP key. Use of this API requires client redirect. This API redirects requests directly to Visier's upload infrastructure to support long-running uploads. To ensure efficient uploading, we recommend that you use an HTTP client that supports the 100 Continue status code. The maximum file upload size is 500 MB. We recommend using SFTP for larger file sizes. + + :param filename: The filename of the data file to upload, including the file extension (such as .zip or .csv). (required) + :type filename: str + :param body: + :type body: 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._v1_data_upload_files_filename_put_serialize( + filename=filename, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '307': 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 v1_data_upload_files_filename_put_without_preload_content( + self, + filename: Annotated[StrictStr, Field(description="The filename of the data file to upload, including the file extension (such as .zip or .csv).")], + body: Optional[Union[StrictBytes, StrictStr]] = 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: + """Upload a data file to Visier + + Use this API to upload data files to Visier. You can upload ZIP, CSV, XLS, and XLSX filetypes in plaintext or encrypted with Visier's PGP key. Use of this API requires client redirect. This API redirects requests directly to Visier's upload infrastructure to support long-running uploads. To ensure efficient uploading, we recommend that you use an HTTP client that supports the 100 Continue status code. The maximum file upload size is 500 MB. We recommend using SFTP for larger file sizes. + + :param filename: The filename of the data file to upload, including the file extension (such as .zip or .csv). (required) + :type filename: str + :param body: + :type body: 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._v1_data_upload_files_filename_put_serialize( + filename=filename, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '307': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _v1_data_upload_files_filename_put_serialize( + self, + filename, + body, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if filename is not None: + _path_params['filename'] = filename + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + # convert to byte array if the input is a file name (str) + if isinstance(body, str): + with open(body, "rb") as _fp: + _body_params = _fp.read() + else: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/data/upload/files/{filename}', + 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/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/direct_data_intake_api.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/direct_data_intake_api.py new file mode 100644 index 000000000..f511c16aa --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api/direct_data_intake_api.py @@ -0,0 +1,2298 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + 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, StrictBytes, StrictStr +from typing import Optional, Union +from typing_extensions import Annotated +from visier.sdk.api.data_in.models.direct_data_job_status_response_dto import DirectDataJobStatusResponseDTO +from visier.sdk.api.data_in.models.direct_data_load_config_dto import DirectDataLoadConfigDTO +from visier.sdk.api.data_in.models.direct_data_schema_field_dto import DirectDataSchemaFieldDTO +from visier.sdk.api.data_in.models.direct_data_transaction_start_response_dto import DirectDataTransactionStartResponseDTO +from visier.sdk.api.data_in.models.direct_data_upload_file_response_dto import DirectDataUploadFileResponseDTO + +from visier.sdk.api.data_in.api_client import ApiClient, RequestSerialized +from visier.sdk.api.data_in.api_response import ApiResponse +from visier.sdk.api.data_in.rest import RESTResponseType + + +class DirectDataIntakeApi: + """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 commit_transaction( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + transaction_id: Annotated[StrictStr, Field(description="The unique identifier of the transaction.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DirectDataUploadFileResponseDTO: + """Commit a transaction + + Process a transaction and its uploaded data files. This starts a processing job to load the data files into Visier. After committing a transaction, you cannot upload additional files to the transaction. Use the `Check transaction status` endpoint to monitor the progress of the processing job. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param transaction_id: The unique identifier of the transaction. (required) + :type transaction_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._commit_transaction_serialize( + draft_id=draft_id, + transaction_id=transaction_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataUploadFileResponseDTO", + } + response_data = self.api_client.call_api( + *_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 commit_transaction_with_http_info( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + transaction_id: Annotated[StrictStr, Field(description="The unique identifier of the transaction.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DirectDataUploadFileResponseDTO]: + """Commit a transaction + + Process a transaction and its uploaded data files. This starts a processing job to load the data files into Visier. After committing a transaction, you cannot upload additional files to the transaction. Use the `Check transaction status` endpoint to monitor the progress of the processing job. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param transaction_id: The unique identifier of the transaction. (required) + :type transaction_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._commit_transaction_serialize( + draft_id=draft_id, + transaction_id=transaction_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataUploadFileResponseDTO", + } + response_data = self.api_client.call_api( + *_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 commit_transaction_without_preload_content( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + transaction_id: Annotated[StrictStr, Field(description="The unique identifier of the transaction.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Commit a transaction + + Process a transaction and its uploaded data files. This starts a processing job to load the data files into Visier. After committing a transaction, you cannot upload additional files to the transaction. Use the `Check transaction status` endpoint to monitor the progress of the processing job. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param transaction_id: The unique identifier of the transaction. (required) + :type transaction_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._commit_transaction_serialize( + draft_id=draft_id, + transaction_id=transaction_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataUploadFileResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _commit_transaction_serialize( + self, + draft_id, + transaction_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if draft_id is not None: + _path_params['draftId'] = draft_id + if transaction_id is not None: + _path_params['transactionId'] = transaction_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/data/directloads/{draftId}/transactions/{transactionId}', + 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_config( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DirectDataLoadConfigDTO: + """Get the direct data intake configuration + + Get the direct data intake configuration. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_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_config_serialize( + draft_id=draft_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataLoadConfigDTO", + } + response_data = self.api_client.call_api( + *_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_config_with_http_info( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DirectDataLoadConfigDTO]: + """Get the direct data intake configuration + + Get the direct data intake configuration. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_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_config_serialize( + draft_id=draft_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataLoadConfigDTO", + } + response_data = self.api_client.call_api( + *_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_config_without_preload_content( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 the direct data intake configuration + + Get the direct data intake configuration. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_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_config_serialize( + draft_id=draft_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataLoadConfigDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_config_serialize( + self, + draft_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if draft_id is not None: + _path_params['draftId'] = draft_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/directloads/{draftId}/configs', + 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 job_status( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + transaction_id: Annotated[StrictStr, Field(description="The unique identifier of the transaction.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DirectDataJobStatusResponseDTO: + """Check transaction status + + Retrieve the status of a committed transaction's processing job. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param transaction_id: The unique identifier of the transaction. (required) + :type transaction_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._job_status_serialize( + draft_id=draft_id, + transaction_id=transaction_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataJobStatusResponseDTO", + } + response_data = self.api_client.call_api( + *_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 job_status_with_http_info( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + transaction_id: Annotated[StrictStr, Field(description="The unique identifier of the transaction.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DirectDataJobStatusResponseDTO]: + """Check transaction status + + Retrieve the status of a committed transaction's processing job. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param transaction_id: The unique identifier of the transaction. (required) + :type transaction_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._job_status_serialize( + draft_id=draft_id, + transaction_id=transaction_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataJobStatusResponseDTO", + } + response_data = self.api_client.call_api( + *_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 job_status_without_preload_content( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + transaction_id: Annotated[StrictStr, Field(description="The unique identifier of the transaction.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Check transaction status + + Retrieve the status of a committed transaction's processing job. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param transaction_id: The unique identifier of the transaction. (required) + :type transaction_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._job_status_serialize( + draft_id=draft_id, + transaction_id=transaction_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataJobStatusResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _job_status_serialize( + self, + draft_id, + transaction_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if draft_id is not None: + _path_params['draftId'] = draft_id + if transaction_id is not None: + _path_params['transactionId'] = transaction_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/directloads/{draftId}/transactions/{transactionId}', + 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 object_schema( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + object_name: Annotated[StrictStr, Field(description="The name of the object to return the load schema for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DirectDataSchemaFieldDTO: + """Retrieve an object's data load schema + + Gets the load schema for a specified object. The object's load schema represents the structure that the data upload file must follow to upload data to the object. In the load schema, the listed columns must be present in the data file as column headers and exactly match the load schema (case sensitive), however, only the columns whose `isMandatory` field is `true` must contain values in the data file. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param object_name: The name of the object to return the load schema for. (required) + :type object_name: 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._object_schema_serialize( + draft_id=draft_id, + object_name=object_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataSchemaFieldDTO", + } + response_data = self.api_client.call_api( + *_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 object_schema_with_http_info( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + object_name: Annotated[StrictStr, Field(description="The name of the object to return the load schema for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DirectDataSchemaFieldDTO]: + """Retrieve an object's data load schema + + Gets the load schema for a specified object. The object's load schema represents the structure that the data upload file must follow to upload data to the object. In the load schema, the listed columns must be present in the data file as column headers and exactly match the load schema (case sensitive), however, only the columns whose `isMandatory` field is `true` must contain values in the data file. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param object_name: The name of the object to return the load schema for. (required) + :type object_name: 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._object_schema_serialize( + draft_id=draft_id, + object_name=object_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataSchemaFieldDTO", + } + response_data = self.api_client.call_api( + *_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 object_schema_without_preload_content( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + object_name: Annotated[StrictStr, Field(description="The name of the object to return the load schema for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve an object's data load schema + + Gets the load schema for a specified object. The object's load schema represents the structure that the data upload file must follow to upload data to the object. In the load schema, the listed columns must be present in the data file as column headers and exactly match the load schema (case sensitive), however, only the columns whose `isMandatory` field is `true` must contain values in the data file. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param object_name: The name of the object to return the load schema for. (required) + :type object_name: 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._object_schema_serialize( + draft_id=draft_id, + object_name=object_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataSchemaFieldDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _object_schema_serialize( + self, + draft_id, + object_name, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if draft_id is not None: + _path_params['draftId'] = draft_id + if object_name is not None: + _path_params['objectName'] = object_name + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/data/directloads/{draftId}/schemas/{objectName}', + 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 put_config( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + direct_data_load_config_dto: DirectDataLoadConfigDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DirectDataLoadConfigDTO: + """Update the direct data intake configuration + + Configure the data intake settings, such as the direct data intake job type. Only provide values for the configuration options that should change. Configuration options that are not present in the PUT request are ignored and left unchanged. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param direct_data_load_config_dto: (required) + :type direct_data_load_config_dto: DirectDataLoadConfigDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_config_serialize( + draft_id=draft_id, + direct_data_load_config_dto=direct_data_load_config_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataLoadConfigDTO", + } + response_data = self.api_client.call_api( + *_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 put_config_with_http_info( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + direct_data_load_config_dto: DirectDataLoadConfigDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DirectDataLoadConfigDTO]: + """Update the direct data intake configuration + + Configure the data intake settings, such as the direct data intake job type. Only provide values for the configuration options that should change. Configuration options that are not present in the PUT request are ignored and left unchanged. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param direct_data_load_config_dto: (required) + :type direct_data_load_config_dto: DirectDataLoadConfigDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_config_serialize( + draft_id=draft_id, + direct_data_load_config_dto=direct_data_load_config_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataLoadConfigDTO", + } + response_data = self.api_client.call_api( + *_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 put_config_without_preload_content( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + direct_data_load_config_dto: DirectDataLoadConfigDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 the direct data intake configuration + + Configure the data intake settings, such as the direct data intake job type. Only provide values for the configuration options that should change. Configuration options that are not present in the PUT request are ignored and left unchanged. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param direct_data_load_config_dto: (required) + :type direct_data_load_config_dto: DirectDataLoadConfigDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._put_config_serialize( + draft_id=draft_id, + direct_data_load_config_dto=direct_data_load_config_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataLoadConfigDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_config_serialize( + self, + draft_id, + direct_data_load_config_dto, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if draft_id is not None: + _path_params['draftId'] = draft_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if direct_data_load_config_dto is not None: + _body_params = direct_data_load_config_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/data/directloads/{draftId}/configs', + 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 rollback_transaction( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + transaction_id: Annotated[StrictStr, Field(description="The unique identifier of the transaction.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DirectDataUploadFileResponseDTO: + """Roll back a transaction + + Rolls back the specified transaction. This discards all files uploaded within the transaction and deletes the transaction. After rolling back a transaction, you cannot use the transaction to upload data files. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param transaction_id: The unique identifier of the transaction. (required) + :type transaction_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._rollback_transaction_serialize( + draft_id=draft_id, + transaction_id=transaction_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataUploadFileResponseDTO", + } + response_data = self.api_client.call_api( + *_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 rollback_transaction_with_http_info( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + transaction_id: Annotated[StrictStr, Field(description="The unique identifier of the transaction.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DirectDataUploadFileResponseDTO]: + """Roll back a transaction + + Rolls back the specified transaction. This discards all files uploaded within the transaction and deletes the transaction. After rolling back a transaction, you cannot use the transaction to upload data files. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param transaction_id: The unique identifier of the transaction. (required) + :type transaction_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._rollback_transaction_serialize( + draft_id=draft_id, + transaction_id=transaction_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataUploadFileResponseDTO", + } + response_data = self.api_client.call_api( + *_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 rollback_transaction_without_preload_content( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + transaction_id: Annotated[StrictStr, Field(description="The unique identifier of the transaction.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Roll back a transaction + + Rolls back the specified transaction. This discards all files uploaded within the transaction and deletes the transaction. After rolling back a transaction, you cannot use the transaction to upload data files. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param transaction_id: The unique identifier of the transaction. (required) + :type transaction_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._rollback_transaction_serialize( + draft_id=draft_id, + transaction_id=transaction_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataUploadFileResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _rollback_transaction_serialize( + self, + draft_id, + transaction_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if draft_id is not None: + _path_params['draftId'] = draft_id + if transaction_id is not None: + _path_params['transactionId'] = transaction_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/data/directloads/{draftId}/transactions/{transactionId}', + 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 start_transaction( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DirectDataTransactionStartResponseDTO: + """Start a direct data intake transaction + + Create a transaction to contain your data files. To upload files to objects in Visier, you must first start a transaction. After starting a transaction and uploading files to the transaction, you can commit the transaction to process the uploaded files or roll back the transaction to discard the uploaded files. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_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._start_transaction_serialize( + draft_id=draft_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataTransactionStartResponseDTO", + } + response_data = self.api_client.call_api( + *_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 start_transaction_with_http_info( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DirectDataTransactionStartResponseDTO]: + """Start a direct data intake transaction + + Create a transaction to contain your data files. To upload files to objects in Visier, you must first start a transaction. After starting a transaction and uploading files to the transaction, you can commit the transaction to process the uploaded files or roll back the transaction to discard the uploaded files. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_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._start_transaction_serialize( + draft_id=draft_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataTransactionStartResponseDTO", + } + response_data = self.api_client.call_api( + *_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 start_transaction_without_preload_content( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Start a direct data intake transaction + + Create a transaction to contain your data files. To upload files to objects in Visier, you must first start a transaction. After starting a transaction and uploading files to the transaction, you can commit the transaction to process the uploaded files or roll back the transaction to discard the uploaded files. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_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._start_transaction_serialize( + draft_id=draft_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataTransactionStartResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _start_transaction_serialize( + self, + draft_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if draft_id is not None: + _path_params['draftId'] = draft_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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/data/directloads/{draftId}/transactions', + 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 upload_file( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + transaction_id: Annotated[StrictStr, Field(description="The unique identifier of the transaction to load data files into.")], + object_name: Annotated[StrictStr, Field(description="The name of the object to upload the data to. If uploading data to a multi-value property (MVP), specify the property in `{object}--{property}` format; for example, `Employee--Employee_Budgeted_Compensation`.")], + body: Optional[Union[StrictBytes, StrictStr]] = 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, + ) -> DirectDataUploadFileResponseDTO: + """Upload files + + Send upload files to a previously-created transaction. Each upload file is associated with a target object in Visier. The files are not processed in Visier until you commit the transaction. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param transaction_id: The unique identifier of the transaction to load data files into. (required) + :type transaction_id: str + :param object_name: The name of the object to upload the data to. If uploading data to a multi-value property (MVP), specify the property in `{object}--{property}` format; for example, `Employee--Employee_Budgeted_Compensation`. (required) + :type object_name: str + :param body: + :type body: 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._upload_file_serialize( + draft_id=draft_id, + transaction_id=transaction_id, + object_name=object_name, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataUploadFileResponseDTO", + } + response_data = self.api_client.call_api( + *_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 upload_file_with_http_info( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + transaction_id: Annotated[StrictStr, Field(description="The unique identifier of the transaction to load data files into.")], + object_name: Annotated[StrictStr, Field(description="The name of the object to upload the data to. If uploading data to a multi-value property (MVP), specify the property in `{object}--{property}` format; for example, `Employee--Employee_Budgeted_Compensation`.")], + body: Optional[Union[StrictBytes, StrictStr]] = 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[DirectDataUploadFileResponseDTO]: + """Upload files + + Send upload files to a previously-created transaction. Each upload file is associated with a target object in Visier. The files are not processed in Visier until you commit the transaction. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param transaction_id: The unique identifier of the transaction to load data files into. (required) + :type transaction_id: str + :param object_name: The name of the object to upload the data to. If uploading data to a multi-value property (MVP), specify the property in `{object}--{property}` format; for example, `Employee--Employee_Budgeted_Compensation`. (required) + :type object_name: str + :param body: + :type body: 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._upload_file_serialize( + draft_id=draft_id, + transaction_id=transaction_id, + object_name=object_name, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataUploadFileResponseDTO", + } + response_data = self.api_client.call_api( + *_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 upload_file_without_preload_content( + self, + draft_id: Annotated[StrictStr, Field(description="The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version.")], + transaction_id: Annotated[StrictStr, Field(description="The unique identifier of the transaction to load data files into.")], + object_name: Annotated[StrictStr, Field(description="The name of the object to upload the data to. If uploading data to a multi-value property (MVP), specify the property in `{object}--{property}` format; for example, `Employee--Employee_Budgeted_Compensation`.")], + body: Optional[Union[StrictBytes, StrictStr]] = 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: + """Upload files + + Send upload files to a previously-created transaction. Each upload file is associated with a target object in Visier. The files are not processed in Visier until you commit the transaction. + + :param draft_id: The unique identifier of the project to load data into. Currently, the only supported value is `prod` to update the production version. (required) + :type draft_id: str + :param transaction_id: The unique identifier of the transaction to load data files into. (required) + :type transaction_id: str + :param object_name: The name of the object to upload the data to. If uploading data to a multi-value property (MVP), specify the property in `{object}--{property}` format; for example, `Employee--Employee_Budgeted_Compensation`. (required) + :type object_name: str + :param body: + :type body: 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._upload_file_serialize( + draft_id=draft_id, + transaction_id=transaction_id, + object_name=object_name, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DirectDataUploadFileResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _upload_file_serialize( + self, + draft_id, + transaction_id, + object_name, + body, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if draft_id is not None: + _path_params['draftId'] = draft_id + if transaction_id is not None: + _path_params['transactionId'] = transaction_id + if object_name is not None: + _path_params['objectName'] = object_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + # convert to byte array if the input is a file name (str) + if isinstance(body, str): + with open(body, "rb") as _fp: + _body_params = _fp.read() + else: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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/octetstream' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/data/directloads/{draftId}/transactions/{transactionId}/{objectName}', + 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/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api_client.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api_client.py new file mode 100644 index 000000000..4a8cdbe1d --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api_client.py @@ -0,0 +1,796 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + 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 json +import mimetypes +import os +import re +import tempfile + +from urllib.parse import quote +from typing import Tuple, Optional, List, Dict, Union +from pydantic import SecretStr + +from visier.sdk.api.data_in.configuration import Configuration +from visier.sdk.api.data_in.api_response import ApiResponse, T as ApiResponseT +import visier.sdk.api.data_in.models +from visier.sdk.api.data_in import rest +from visier.sdk.api.data_in.exceptions import ( + ApiValueError, + ApiException, + BadRequestException, + UnauthorizedException, + ForbiddenException, + NotFoundException, + ServiceException +) + +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, + 'object': object, + } + _pool = None + + def __init__( + self, + configuration=None, + header_name=None, + header_value=None, + cookie=None, + auth_retries=2 + ) -> 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 = 'OpenAPI-Generator/0.0.1/python' + self.client_side_validation = configuration.client_side_validation + self.auth_retries = auth_retries + + 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) + ) + + # 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 or self.configuration.ignore_operation_servers: + url = self.configuration.host + 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 + """ + + attempt = 0 + while attempt < self.auth_retries: + # 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 + ) + if response_data.status == 401: + if not self.configuration.refresh_config: + break + attempt += 1 + self.configuration.refresh_config(self.configuration, True) + self.update_params_for_auth(header_params, + post_params, + ['ApiKeyAuth', 'CookieAuth', 'OAuth2Auth'], + None, + None, + None + ) + continue + return response_data + + raise ApiException(f"Request failed after {self.auth_retries} retries") + + 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 = response_data.data + 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 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 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, 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("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(visier.sdk.api.data_in.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 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, 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]]): + """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 + 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, 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 + + for accept in accepts: + if re.search('json', accept, re.IGNORECASE): + return accept + + 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: + config_auth_settings = self.configuration.auth_settings() + for auth in auth_settings: + auth_setting = config_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/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/api_response.py new file mode 100644 index 000000000..9bc7c11f6 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/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/src/visier.sdk.api.data_in/visier/sdk/api/data_in/configuration.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/configuration.py new file mode 100644 index 000000000..ac6f76b26 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/configuration.py @@ -0,0 +1,795 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import base64 +import copy +import hashlib +import http.client as httplib +import logging +import multiprocessing +import secrets +import sys +import threading +import time +import webbrowser +from http import HTTPStatus +from logging import FileHandler +from queue import Queue, Empty +from typing import Optional +from urllib.parse import urljoin, quote, urlparse, urlencode +from wsgiref.simple_server import make_server + +import urllib3 +from flask import Flask, request +from pydantic import BaseModel + +from visier.sdk.api.data_in.exceptions import ApiException + +import multiprocessing +import urllib3 + + +JSON_SCHEMA_VALIDATION_KEYWORDS = { + 'multipleOf', 'maximum', 'exclusiveMaximum', + 'minimum', 'exclusiveMinimum', 'maxLength', + 'minLength', 'pattern', 'maxItems', 'minItems' +} + +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: + + API Key Authentication Example. + Given the following security scheme in the OpenAPI specification: + components: + securitySchemes: + cookieAuth: # name for the security scheme + type: apiKey + in: cookie + name: JSESSIONID # cookie name + + You can programmatically set the cookie: + +conf = visier.sdk.api.data_in.Configuration( + api_key={'cookieAuth': 'abc123'} + api_key_prefix={'cookieAuth': 'JSESSIONID'} +) + + The following cookie will be added to the HTTP request: + Cookie: JSESSIONID abc123 + """ + + _default = None + + def __init__(self, + host=None, + api_key=None, + username=None, + password=None, + client_id=None, + client_secret=None, + redirect_uri=None, + vanity=None, + scope=None, + asid_token=None, + access_token=None, + refresh_token=None, + token_expiration_secs=3600, + server_index=None, + server_variables=None, + server_operation_index=None, + server_operation_variables=None, + ignore_operation_servers=False, + ssl_ca_cert=None, + retries=None, + *, + debug: Optional[bool] = None + ) -> None: + """Constructor + """ + self._base_path = "http://localhost" 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 = api_key + """API key is necessary for all types of authentication.""" + + # TODO remove api_key_prefix + self.api_key_prefix = {} + """dict to store API prefix (e.g. Bearer) + """ + self.refresh_config = default_refresh_config + """function hook to refresh config (e.g. asid_token, access_token, refresh_token) + """ + self.username = username + """Username for HTTP basic authentication + """ + self.password = password + """Password for HTTP basic authentication + """ + + # TODO add description + self.token_expiration_secs = token_expiration_secs + self._token_acquired_at = None + + self.client_id = client_id + self.client_secret = client_secret + self.redirect_uri = redirect_uri + self.vanity = vanity + self.scope = scope if scope else 'read' + self.asid_token = asid_token + self.access_token = access_token + """Access token + """ + self.refresh_token = refresh_token + + + self.logger = {} + """Logging Settings + """ + self.logger["package_logger"] = logging.getLogger("visier.sdk.api.data_in") + 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): + 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, value): + object.__setattr__(self, name, value) + + @classmethod + def set_default(cls, default): + """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): + """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): + """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 = Configuration() + return cls._default + + @property + def logger_file(self): + """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): + """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): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value): + """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): + """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): + """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, alias=None): + """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_config is not None: + self.refresh_config(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 + + def get_basic_auth_token(self): + """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): + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + + if self.refresh_config: + self.refresh_config(self, False) + + # Necessary apiKey for all auth types + auth = {'ApiKeyAuth': { + 'type': 'api_key', + 'in': 'header', + 'key': 'apikey', + 'value': self.api_key + }} + + if self.asid_token: + auth['CookieAuth'] = { + 'type': 'api_key', + 'in': 'cookie', + 'key': 'VisierASIDToken', + 'value': f'VisierASIDToken={self.asid_token}' + } + + if self.access_token: + auth['OAuth2Auth'] = { + 'type': 'bearer', + 'in': 'header', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + } + return auth + + def to_debug_report(self): + """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: 0.0.1\n"\ + "SDK Package Version: 0.0.1".\ + format(env=sys.platform, pyversion=sys.version) + + def get_host_settings(self): + """Gets an array of host settings + + :return: An array of host settings + """ + return [ + { + 'url': "", + 'description': "No description provided", + } + ] + + def get_host_from_settings(self, index, variables=None, servers=None): + """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): + """Return generated host.""" + return self.get_host_from_settings(self.server_index, variables=self.server_variables) + + @host.setter + def host(self, value): + """Fix base path.""" + self._base_path = value + self.server_index = None + + @property + def access_token(self): + return self._access_token + + @access_token.setter + def access_token(self, value): + self._access_token = value + self._token_acquired_at = time.time() + + @property + def asid_token(self): + return self._asid_token + + @asid_token.setter + def asid_token(self, value): + self._asid_token = value + self._token_acquired_at = time.time() + + def is_token_expired(self): + # Not using token expiration logic + if self.token_expiration_secs is None: + return False + + # Token has not been acquired yet + if not self._token_acquired_at: + return True + + return time.time() - self._token_acquired_at > self.token_expiration_secs + +# Additional logic to handle authentication +######################################################################################################################## +ACCESS_TOKEN = 'access_token' +API_KEY = "apikey" +AUTHORIZATION_CODE = "authorization_code" +CLIENT_ID = "client_id" +CODE = "code" +CODE_CHALLENGE = "code_challenge" +CODE_CHALLENGE_METHOD = "code_challenge_method" +CODE_VERIFIER = "code_verifier" +GRANT_TYPE = "grant_type" +PASSWORD = "password" +REDIRECT_URI = "redirect_uri" +REFRESH_TOKEN = "refresh_token" +RESPONSE_TYPE = "response_type" +SCOPE = "scope" +USERNAME = "username" + +# Disable werkzeug logging for the callback server +logging.getLogger('werkzeug').disabled = True + +class CallbackServer: + """Callback server that listens for the OAuth2 authorization code""" + + def __init__(self, provided_url: str) -> None: + parsed_uri = urlparse(provided_url) + self.host = parsed_uri.hostname or "localhost" + self.port = parsed_uri.port or 5000 + self.path = parsed_uri.path or "/oauth2/callback" + + self.server = None + self.flask_thread = None + self.app = Flask(__name__) + self.app.route(self.path, methods=["GET"])(self.callback) + self.queue = Queue() + + def callback(self): + """The handler for the OAuth2 callback providing the auth code""" + code = request.args.get(CODE) + self.queue.put(code) + return "

You can now close this window

" + + def start(self): + """Starts the callback server""" + self.server = make_server(self.host, self.port, self.app) + self.flask_thread = threading.Thread(target=self.server.serve_forever) + self.flask_thread.start() + + def stop(self): + """Stops the callback server""" + if self.server: + self.server.shutdown() + self.flask_thread.join() + self.server = None + self.flask_thread = None + + def __enter__(self): + self.start() + return self + + def __exit__(self, ex_type, ex_value, trace_back): + self.stop() + + +class TokenRequestDTO(BaseModel): + grant_type: str + client_id: str + scope: str + username: str = None + password: str = None + code: str = None + code_verifier: str = None + redirect_uri: str = None + refresh_token: str = None + + +class TokenResponseDTO(BaseModel): + access_token: str + refresh_token: str + id_token: str + token_type: str + expires_in: int + + +http = urllib3.PoolManager() + + +def _post_request(url: str, data: dict, additional_headers: dict = None, auth=None): + headers = { + 'Accept': 'application/jsonlines, application/json', + 'User-Agent': 'OpenAPI-python', + 'Content-Type': 'application/x-www-form-urlencoded' + } + if additional_headers: + headers.update(additional_headers) + + if auth: + username, password = auth + auth_header = base64.b64encode(f"{username}:{password}".encode('utf-8')).decode('ascii') + headers['Authorization'] = f'Basic {auth_header}' + + response = http.request( + 'POST', + url, + body=urlencode(data), + headers=headers, + retries=False + ) + if response.status != HTTPStatus.OK: + raise ApiException.from_response(response) + + return response + + +def _connect_asid(config): + url = urljoin(config.host, '/v1/admin/visierSecureToken') + data = { + USERNAME: config.username, + PASSWORD: config.password + } + if config.vanity: + data["vanityName"] = config.vanity + response = _post_request(url=url, data=data) + config.asid_token = response.data.decode(('utf-8')) + + +def _update_access_token(config, token_request: TokenRequestDTO): + url = config.host + "/v1/auth/oauth2/token" + body = token_request.dict() + if config.redirect_uri: + body[REDIRECT_URI] = config.redirect_uri + auth = (config.client_id, quote(config.client_secret, safe='')) + headers = { + API_KEY: config.api_key, + } + + response = _post_request(url=url, data=body, additional_headers=headers, auth=auth) + tokenResponse = TokenResponseDTO(**response.json()) + config.access_token = tokenResponse.access_token + config.refresh_token = tokenResponse.refresh_token + config.token_expiration_secs = tokenResponse.expires_in + + +def _refresh_token(config): + token_request = TokenRequestDTO( + grant_type=REFRESH_TOKEN, + client_id=config.client_id, + scope=config.scope, + refresh_token=config.refresh_token + ) + _update_access_token(config, token_request) + + +def _connect_oauth_password(config): + token_request = TokenRequestDTO( + grant_type=PASSWORD, + client_id=config.client_id, + scope=config.scope, + username=config.username, + password=config.password + ) + _update_access_token(config, token_request) + + +def _connect_oauth_code(config): + """Connect to Visier using (three-legged) OAuth2.""" + code_verifier = secrets.token_urlsafe(64) + code_challenge_digest = hashlib.sha256(code_verifier.encode()).digest() + code_challenge = base64.urlsafe_b64encode(code_challenge_digest).decode().rstrip("=") + + url_prefix = config.host + "/v1/auth/oauth2" + svr = CallbackServer(config.redirect_uri) + query_args = { + API_KEY: config.api_key, + RESPONSE_TYPE: CODE, + CLIENT_ID: config.client_id, + CODE_CHALLENGE_METHOD: "S256", + CODE_CHALLENGE: code_challenge + } + if config.redirect_uri: + query_args[REDIRECT_URI] = config.redirect_uri + + browser_url = f'{url_prefix}/authorize?{urlencode(query_args)}' + webbrowser.open(browser_url) + try: + svr.start() + code = svr.queue.get(block=True, timeout=120) + token_request = TokenRequestDTO( + grant_type=AUTHORIZATION_CODE, + client_id=config.client_id, + scope=config.scope, + code=code, + code_verifier=code_verifier + ) + _update_access_token(config, token_request) + except Empty as empty: + raise ApiException("Timed out waiting for OAuth2 auth code") from empty + finally: + svr.stop() + + +def _connect_oauth(config): + if config.refresh_token: + _refresh_token(config) + elif config.username and config.password: + _connect_oauth_password(config) + else: + _connect_oauth_code(config) + + +def _need_to_connect(config): + if config.client_id and config.client_secret: + return not config.access_token or config.is_token_expired() + + if config.username and config.password: + return not config.asid_token or config.is_token_expired() + + raise ValueError("No valid authentication method found") + + +def default_refresh_config(config, force_refresh: bool = False): + if not force_refresh and not _need_to_connect(config): + return + + if config.client_id and config.client_secret: + _connect_oauth(config) + elif config.username and config.password: + _connect_asid(config) diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/exceptions.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/exceptions.py new file mode 100644 index 000000000..dbb7532c3 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/exceptions.py @@ -0,0 +1,199 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + 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) + + 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.reason) + 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 + + +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/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/__init__.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/__init__.py new file mode 100644 index 000000000..361f538c5 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/__init__.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +# flake8: noqa +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +# import models into model package +from visier.sdk.api.data_in.models.adp_auth_params_dto import AdpAuthParamsDTO +from visier.sdk.api.data_in.models.assign_connector_credential_request import AssignConnectorCredentialRequest +from visier.sdk.api.data_in.models.assign_connector_credentials_by_tenant_response_dto import AssignConnectorCredentialsByTenantResponseDTO +from visier.sdk.api.data_in.models.assign_connector_credentials_response_dto import AssignConnectorCredentialsResponseDTO +from visier.sdk.api.data_in.models.assign_connector_with_credentials_response_dto import AssignConnectorWithCredentialsResponseDTO +from visier.sdk.api.data_in.models.assigned_credential_info_response_dto import AssignedCredentialInfoResponseDTO +from visier.sdk.api.data_in.models.bamboo_auth_params_dto import BambooAuthParamsDTO +from visier.sdk.api.data_in.models.basic_s3_auth_params_dto import BasicS3AuthParamsDTO +from visier.sdk.api.data_in.models.big_query_auth_params_dto import BigQueryAuthParamsDTO +from visier.sdk.api.data_in.models.big_query_service_account_params_dto import BigQueryServiceAccountParamsDTO +from visier.sdk.api.data_in.models.cancel_job_batch_from_job_id_dto import CancelJobBatchFromJobIdDTO +from visier.sdk.api.data_in.models.connector import Connector +from visier.sdk.api.data_in.models.connector_info_response_dto import ConnectorInfoResponseDTO +from visier.sdk.api.data_in.models.copy_s3_auth_params_dto import CopyS3AuthParamsDTO +from visier.sdk.api.data_in.models.credential_creation_api_response_dto import CredentialCreationAPIResponseDTO +from visier.sdk.api.data_in.models.data_categories_response_dto import DataCategoriesResponseDTO +from visier.sdk.api.data_in.models.data_category_response_dto import DataCategoryResponseDTO +from visier.sdk.api.data_in.models.data_load_request import DataLoadRequest +from visier.sdk.api.data_in.models.data_load_request_model import DataLoadRequestModel +from visier.sdk.api.data_in.models.data_load_response import DataLoadResponse +from visier.sdk.api.data_in.models.data_provider_auth_information_dto import DataProviderAuthInformationDTO +from visier.sdk.api.data_in.models.data_provider_auth_params_dto import DataProviderAuthParamsDTO +from visier.sdk.api.data_in.models.data_provider_basic_information_dto import DataProviderBasicInformationDTO +from visier.sdk.api.data_in.models.data_provider_basic_metadata_dto import DataProviderBasicMetadataDTO +from visier.sdk.api.data_in.models.data_transfer_result_detail import DataTransferResultDetail +from visier.sdk.api.data_in.models.data_version_and_date_dto import DataVersionAndDateDTO +from visier.sdk.api.data_in.models.data_version_object import DataVersionObject +from visier.sdk.api.data_in.models.dayforce_v2_auth_params_dto import DayforceV2AuthParamsDTO +from visier.sdk.api.data_in.models.dimensions_auth_params_dto import DimensionsAuthParamsDTO +from visier.sdk.api.data_in.models.direct_data_job_config_dto import DirectDataJobConfigDTO +from visier.sdk.api.data_in.models.direct_data_job_status_response_dto import DirectDataJobStatusResponseDTO +from visier.sdk.api.data_in.models.direct_data_load_config_dto import DirectDataLoadConfigDTO +from visier.sdk.api.data_in.models.direct_data_schema_field_dto import DirectDataSchemaFieldDTO +from visier.sdk.api.data_in.models.direct_data_transaction_start_response_dto import DirectDataTransactionStartResponseDTO +from visier.sdk.api.data_in.models.direct_data_upload_file_response_dto import DirectDataUploadFileResponseDTO +from visier.sdk.api.data_in.models.disable_dv_model import DisableDVModel +from visier.sdk.api.data_in.models.disable_dv_request import DisableDVRequest +from visier.sdk.api.data_in.models.disable_dv_response import DisableDVResponse +from visier.sdk.api.data_in.models.dispatching_job_status_response import DispatchingJobStatusResponse +from visier.sdk.api.data_in.models.exclude_data_uploads_request import ExcludeDataUploadsRequest +from visier.sdk.api.data_in.models.extraction_job import ExtractionJob +from visier.sdk.api.data_in.models.extraction_job_and_status_response import ExtractionJobAndStatusResponse +from visier.sdk.api.data_in.models.extractor_credential_apidto import ExtractorCredentialAPIDTO +from visier.sdk.api.data_in.models.extractor_credentials_apidto import ExtractorCredentialsAPIDTO +from visier.sdk.api.data_in.models.fusion_auth_params_dto import FusionAuthParamsDTO +from visier.sdk.api.data_in.models.gong_auth_params_dto import GongAuthParamsDTO +from visier.sdk.api.data_in.models.google_protobuf_any import GoogleProtobufAny +from visier.sdk.api.data_in.models.google_sheets_auth_params_dto import GoogleSheetsAuthParamsDTO +from visier.sdk.api.data_in.models.google_workspace_auth_params_dto import GoogleWorkspaceAuthParamsDTO +from visier.sdk.api.data_in.models.greenhouse_auth_params_dto import GreenhouseAuthParamsDTO +from visier.sdk.api.data_in.models.icims_auth_params_dto import IcimsAuthParamsDTO +from visier.sdk.api.data_in.models.import_definition_apidto import ImportDefinitionAPIDTO +from visier.sdk.api.data_in.models.import_definitions_apidto import ImportDefinitionsAPIDTO +from visier.sdk.api.data_in.models.include_data_uploads_request import IncludeDataUploadsRequest +from visier.sdk.api.data_in.models.internal_s3_auth_params_dto import InternalS3AuthParamsDTO +from visier.sdk.api.data_in.models.jdbc_auth_params_dto import JdbcAuthParamsDTO +from visier.sdk.api.data_in.models.jira_auth_params_dto import JiraAuthParamsDTO +from visier.sdk.api.data_in.models.jira_connect_params_dto import JiraConnectParamsDTO +from visier.sdk.api.data_in.models.job_cancellation_result_dto import JobCancellationResultDTO +from visier.sdk.api.data_in.models.job_cancellation_results_dto import JobCancellationResultsDTO +from visier.sdk.api.data_in.models.job_status_list_response import JobStatusListResponse +from visier.sdk.api.data_in.models.job_status_with_start_time import JobStatusWithStartTime +from visier.sdk.api.data_in.models.lever_auth_params_dto import LeverAuthParamsDTO +from visier.sdk.api.data_in.models.medallia_auth_params_dto import MedalliaAuthParamsDTO +from visier.sdk.api.data_in.models.microsoft365_auth_params_dto import Microsoft365AuthParamsDTO +from visier.sdk.api.data_in.models.multiple_tenant_data_versions_details_dto import MultipleTenantDataVersionsDetailsDTO +from visier.sdk.api.data_in.models.multiple_tenant_data_versions_list_dto import MultipleTenantDataVersionsListDTO +from visier.sdk.api.data_in.models.my_sql_auth_params_dto import MySqlAuthParamsDTO +from visier.sdk.api.data_in.models.namely_auth_params_dto import NamelyAuthParamsDTO +from visier.sdk.api.data_in.models.oracle_db_auth_params_dto import OracleDbAuthParamsDTO +from visier.sdk.api.data_in.models.processing_job import ProcessingJob +from visier.sdk.api.data_in.models.processing_job_and_status_response import ProcessingJobAndStatusResponse +from visier.sdk.api.data_in.models.processing_job_status_response import ProcessingJobStatusResponse +from visier.sdk.api.data_in.models.push_data_cancel_response import PushDataCancelResponse +from visier.sdk.api.data_in.models.push_data_column_definition_dto import PushDataColumnDefinitionDTO +from visier.sdk.api.data_in.models.push_data_complete_request import PushDataCompleteRequest +from visier.sdk.api.data_in.models.push_data_complete_response import PushDataCompleteResponse +from visier.sdk.api.data_in.models.push_data_response import PushDataResponse +from visier.sdk.api.data_in.models.push_data_source_definition_dto import PushDataSourceDefinitionDTO +from visier.sdk.api.data_in.models.push_data_source_definitions_dto import PushDataSourceDefinitionsDTO +from visier.sdk.api.data_in.models.qualtrics_auth_params_dto import QualtricsAuthParamsDTO +from visier.sdk.api.data_in.models.receiving_job import ReceivingJob +from visier.sdk.api.data_in.models.receiving_job_and_status_response import ReceivingJobAndStatusResponse +from visier.sdk.api.data_in.models.receiving_job_status_response import ReceivingJobStatusResponse +from visier.sdk.api.data_in.models.redshift_auth_params_dto import RedshiftAuthParamsDTO +from visier.sdk.api.data_in.models.result import Result +from visier.sdk.api.data_in.models.salesforce_auth_params_dto import SalesforceAuthParamsDTO +from visier.sdk.api.data_in.models.salesforce_v2_auth_params_dto import SalesforceV2AuthParamsDTO +from visier.sdk.api.data_in.models.service_now_auth_params_dto import ServiceNowAuthParamsDTO +from visier.sdk.api.data_in.models.slack_auth_params_dto import SlackAuthParamsDTO +from visier.sdk.api.data_in.models.snowflake_auth_params_dto import SnowflakeAuthParamsDTO +from visier.sdk.api.data_in.models.source import Source +from visier.sdk.api.data_in.models.sql_server_auth_params_dto import SqlServerAuthParamsDTO +from visier.sdk.api.data_in.models.start_extraction_model import StartExtractionModel +from visier.sdk.api.data_in.models.start_extraction_request import StartExtractionRequest +from visier.sdk.api.data_in.models.start_extraction_response import StartExtractionResponse +from visier.sdk.api.data_in.models.start_transfer_response import StartTransferResponse +from visier.sdk.api.data_in.models.status import Status +from visier.sdk.api.data_in.models.subject_missing_access_dto import SubjectMissingAccessDTO +from visier.sdk.api.data_in.models.success_factors_auth_params_dto import SuccessFactorsAuthParamsDTO +from visier.sdk.api.data_in.models.success_factors_o_auth_params_dto import SuccessFactorsOAuthParamsDTO +from visier.sdk.api.data_in.models.tenant import Tenant +from visier.sdk.api.data_in.models.tenant_and_credential import TenantAndCredential +from visier.sdk.api.data_in.models.tenant_data_upload_status_response_dto import TenantDataUploadStatusResponseDTO +from visier.sdk.api.data_in.models.tenant_data_upload_update_status_response_dto import TenantDataUploadUpdateStatusResponseDTO +from visier.sdk.api.data_in.models.tenant_data_uploads_list_response_dto import TenantDataUploadsListResponseDTO +from visier.sdk.api.data_in.models.tenant_data_uploads_response_dto import TenantDataUploadsResponseDTO +from visier.sdk.api.data_in.models.tenant_data_uploads_update_response_dto import TenantDataUploadsUpdateResponseDTO +from visier.sdk.api.data_in.models.ultimate_auth_params_dto import UltimateAuthParamsDTO +from visier.sdk.api.data_in.models.upload_to_exclude import UploadToExclude +from visier.sdk.api.data_in.models.upload_to_exclude_model import UploadToExcludeModel +from visier.sdk.api.data_in.models.upload_to_include import UploadToInclude +from visier.sdk.api.data_in.models.upload_to_include_model import UploadToIncludeModel +from visier.sdk.api.data_in.models.willow_auth_params_dto import WillowAuthParamsDTO +from visier.sdk.api.data_in.models.workday_auth_params_dto import WorkdayAuthParamsDTO +from visier.sdk.api.data_in.models.workday_o_auth_params_dto import WorkdayOAuthParamsDTO +from visier.sdk.api.data_in.models.workday_raas_auth_params_dto import WorkdayRaasAuthParamsDTO +from visier.sdk.api.data_in.models.workday_refresh_token_params_dto import WorkdayRefreshTokenParamsDTO +from visier.sdk.api.data_in.models.zoom_auth_params_dto import ZoomAuthParamsDTO diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/adp_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/adp_auth_params_dto.py new file mode 100644 index 000000000..b4b74e164 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/adp_auth_params_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 AdpAuthParamsDTO(BaseModel): + """ + AdpAuthParamsDTO + """ # noqa: E501 + auth_code: Optional[StrictStr] = Field(default=None, alias="authCode") + __properties: ClassVar[List[str]] = ["authCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AdpAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 AdpAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "authCode": obj.get("authCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_credential_request.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_credential_request.py new file mode 100644 index 000000000..10c256d5c --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_credential_request.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.connector import Connector +from typing import Optional, Set +from typing_extensions import Self + +class AssignConnectorCredentialRequest(BaseModel): + """ + AssignConnectorCredentialRequest + """ # noqa: E501 + connectors: Optional[List[Connector]] = Field(default=None, description="A list of objects representing the data connectors to be assigned with credentials.") + __properties: ClassVar[List[str]] = ["connectors"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AssignConnectorCredentialRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 connectors (list) + _items = [] + if self.connectors: + for _item in self.connectors: + if _item: + _items.append(_item.to_dict()) + _dict['connectors'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AssignConnectorCredentialRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "connectors": [Connector.from_dict(_item) for _item in obj["connectors"]] if obj.get("connectors") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_credentials_by_tenant_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_credentials_by_tenant_response_dto.py new file mode 100644 index 000000000..8c5521fba --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_credentials_by_tenant_response_dto.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.assign_connector_with_credentials_response_dto import AssignConnectorWithCredentialsResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class AssignConnectorCredentialsByTenantResponseDTO(BaseModel): + """ + AssignConnectorCredentialsByTenantResponseDTO + """ # noqa: E501 + connectors: Optional[List[AssignConnectorWithCredentialsResponseDTO]] = Field(default=None, description="A list of objects representing the assigned credentials and connectors.") + message: Optional[StrictStr] = None + status: Optional[StrictStr] = Field(default=None, description="The state of the credential assignment. Valid values are Succeed or Failed.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the tenant.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["connectors", "message", "status", "tenantCode"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Unknown', 'Succeed', 'Failed']): + raise ValueError("must be one of enum values ('Unknown', 'Succeed', 'Failed')") + 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 AssignConnectorCredentialsByTenantResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 connectors (list) + _items = [] + if self.connectors: + for _item in self.connectors: + if _item: + _items.append(_item.to_dict()) + _dict['connectors'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AssignConnectorCredentialsByTenantResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "connectors": [AssignConnectorWithCredentialsResponseDTO.from_dict(_item) for _item in obj["connectors"]] if obj.get("connectors") is not None else None, + "message": obj.get("message"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_credentials_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_credentials_response_dto.py new file mode 100644 index 000000000..0956f0e6e --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_credentials_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.assign_connector_credentials_by_tenant_response_dto import AssignConnectorCredentialsByTenantResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class AssignConnectorCredentialsResponseDTO(BaseModel): + """ + AssignConnectorCredentialsResponseDTO + """ # noqa: E501 + tenants: Optional[List[AssignConnectorCredentialsByTenantResponseDTO]] = Field(default=None, description="A list of objects representing the tenants and data connectors that were assigned connector credentials.") + __properties: ClassVar[List[str]] = ["tenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AssignConnectorCredentialsResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tenants (list) + _items = [] + if self.tenants: + for _item in self.tenants: + if _item: + _items.append(_item.to_dict()) + _dict['tenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AssignConnectorCredentialsResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tenants": [AssignConnectorCredentialsByTenantResponseDTO.from_dict(_item) for _item in obj["tenants"]] if obj.get("tenants") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_with_credentials_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_with_credentials_response_dto.py new file mode 100644 index 000000000..faf8c4962 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assign_connector_with_credentials_response_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.assigned_credential_info_response_dto import AssignedCredentialInfoResponseDTO +from visier.sdk.api.data_in.models.connector_info_response_dto import ConnectorInfoResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class AssignConnectorWithCredentialsResponseDTO(BaseModel): + """ + AssignConnectorWithCredentialsResponseDTO + """ # noqa: E501 + connector: Optional[ConnectorInfoResponseDTO] = Field(default=None, description="The data connector that was assigned a connector credential.") + credential: Optional[AssignedCredentialInfoResponseDTO] = Field(default=None, description="A connector credential that was assigned to a data connector") + __properties: ClassVar[List[str]] = ["connector", "credential"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AssignConnectorWithCredentialsResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 connector + if self.connector: + _dict['connector'] = self.connector.to_dict() + # override the default output from pydantic by calling `to_dict()` of credential + if self.credential: + _dict['credential'] = self.credential.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AssignConnectorWithCredentialsResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "connector": ConnectorInfoResponseDTO.from_dict(obj["connector"]) if obj.get("connector") is not None else None, + "credential": AssignedCredentialInfoResponseDTO.from_dict(obj["credential"]) if obj.get("credential") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assigned_credential_info_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assigned_credential_info_response_dto.py new file mode 100644 index 000000000..6d9b04b2c --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/assigned_credential_info_response_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 AssignedCredentialInfoResponseDTO(BaseModel): + """ + AssignedCredentialInfoResponseDTO + """ # noqa: E501 + credential_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the user.", alias="credentialId") + display_name: Optional[StrictStr] = Field(default=None, description="The user's username. This is typically the user's email, such as john@visier.com.", alias="displayName") + message: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["credentialId", "displayName", "message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AssignedCredentialInfoResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 AssignedCredentialInfoResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "credentialId": obj.get("credentialId"), + "displayName": obj.get("displayName"), + "message": obj.get("message") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/bamboo_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/bamboo_auth_params_dto.py new file mode 100644 index 000000000..4dd9a54f1 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/bamboo_auth_params_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 BambooAuthParamsDTO(BaseModel): + """ + BambooAuthParamsDTO + """ # noqa: E501 + access_key: Optional[StrictStr] = Field(default=None, alias="accessKey") + tenant_domain_name: Optional[StrictStr] = Field(default=None, alias="tenantDomainName") + __properties: ClassVar[List[str]] = ["accessKey", "tenantDomainName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BambooAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 BambooAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accessKey": obj.get("accessKey"), + "tenantDomainName": obj.get("tenantDomainName") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/basic_s3_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/basic_s3_auth_params_dto.py new file mode 100644 index 000000000..0481342b0 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/basic_s3_auth_params_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 BasicS3AuthParamsDTO(BaseModel): + """ + BasicS3AuthParamsDTO + """ # noqa: E501 + access_key: Optional[StrictStr] = Field(default=None, alias="accessKey") + bucket_name: Optional[StrictStr] = Field(default=None, alias="bucketName") + bucket_region: Optional[StrictStr] = Field(default=None, alias="bucketRegion") + path: Optional[StrictStr] = None + secret_key: Optional[StrictStr] = Field(default=None, alias="secretKey") + __properties: ClassVar[List[str]] = ["accessKey", "bucketName", "bucketRegion", "path", "secretKey"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BasicS3AuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 BasicS3AuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accessKey": obj.get("accessKey"), + "bucketName": obj.get("bucketName"), + "bucketRegion": obj.get("bucketRegion"), + "path": obj.get("path"), + "secretKey": obj.get("secretKey") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/big_query_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/big_query_auth_params_dto.py new file mode 100644 index 000000000..c0bd028bb --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/big_query_auth_params_dto.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.big_query_service_account_params_dto import BigQueryServiceAccountParamsDTO +from typing import Optional, Set +from typing_extensions import Self + +class BigQueryAuthParamsDTO(BaseModel): + """ + BigQueryAuthParamsDTO + """ # noqa: E501 + client_id: Optional[StrictStr] = Field(default=None, alias="clientId") + client_secret: Optional[StrictStr] = Field(default=None, alias="clientSecret") + dataset_location: Optional[StrictStr] = Field(default=None, alias="datasetLocation") + default_dataset: Optional[StrictStr] = Field(default=None, alias="defaultDataset") + project_id: Optional[StrictStr] = Field(default=None, alias="projectId") + refresh_token: Optional[StrictStr] = Field(default=None, alias="refreshToken") + service_account_params: Optional[BigQueryServiceAccountParamsDTO] = Field(default=None, alias="serviceAccountParams") + __properties: ClassVar[List[str]] = ["clientId", "clientSecret", "datasetLocation", "defaultDataset", "projectId", "refreshToken", "serviceAccountParams"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BigQueryAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 service_account_params + if self.service_account_params: + _dict['serviceAccountParams'] = self.service_account_params.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BigQueryAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "clientId": obj.get("clientId"), + "clientSecret": obj.get("clientSecret"), + "datasetLocation": obj.get("datasetLocation"), + "defaultDataset": obj.get("defaultDataset"), + "projectId": obj.get("projectId"), + "refreshToken": obj.get("refreshToken"), + "serviceAccountParams": BigQueryServiceAccountParamsDTO.from_dict(obj["serviceAccountParams"]) if obj.get("serviceAccountParams") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/big_query_service_account_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/big_query_service_account_params_dto.py new file mode 100644 index 000000000..f106b4f2a --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/big_query_service_account_params_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 BigQueryServiceAccountParamsDTO(BaseModel): + """ + BigQueryServiceAccountParamsDTO + """ # noqa: E501 + private_key: Optional[StrictStr] = Field(default=None, alias="privateKey") + service_account_email: Optional[StrictStr] = Field(default=None, alias="serviceAccountEmail") + __properties: ClassVar[List[str]] = ["privateKey", "serviceAccountEmail"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BigQueryServiceAccountParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 BigQueryServiceAccountParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "privateKey": obj.get("privateKey"), + "serviceAccountEmail": obj.get("serviceAccountEmail") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/cancel_job_batch_from_job_id_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/cancel_job_batch_from_job_id_dto.py new file mode 100644 index 000000000..7406dc504 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/cancel_job_batch_from_job_id_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 CancelJobBatchFromJobIdDTO(BaseModel): + """ + CancelJobBatchFromJobIdDTO + """ # noqa: E501 + job_ids: Optional[List[StrictStr]] = Field(default=None, description="A list of jobs to cancel. The maximum number of jobs that can be cancelled is 500.", alias="jobIds") + __properties: ClassVar[List[str]] = ["jobIds"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CancelJobBatchFromJobIdDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 CancelJobBatchFromJobIdDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "jobIds": obj.get("jobIds") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/connector.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/connector.py new file mode 100644 index 000000000..ef7ccfc73 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/connector.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.tenant_and_credential import TenantAndCredential +from typing import Optional, Set +from typing_extensions import Self + +class Connector(BaseModel): + """ + Connector + """ # noqa: E501 + connector_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the data connector.", alias="connectorId") + tenants: Optional[List[TenantAndCredential]] = Field(default=None, description="A list of analytic tenants and credentials to be assigned to the connector.") + __properties: ClassVar[List[str]] = ["connectorId", "tenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Connector from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tenants (list) + _items = [] + if self.tenants: + for _item in self.tenants: + if _item: + _items.append(_item.to_dict()) + _dict['tenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Connector from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "connectorId": obj.get("connectorId"), + "tenants": [TenantAndCredential.from_dict(_item) for _item in obj["tenants"]] if obj.get("tenants") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/connector_info_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/connector_info_response_dto.py new file mode 100644 index 000000000..d7caa873e --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/connector_info_response_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ConnectorInfoResponseDTO(BaseModel): + """ + ConnectorInfoResponseDTO + """ # noqa: E501 + connector_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the data connector.", alias="connectorId") + description: Optional[StrictStr] = None + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable data connector name that is displayed within Visier.", alias="displayName") + __properties: ClassVar[List[str]] = ["connectorId", "description", "displayName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConnectorInfoResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ConnectorInfoResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "connectorId": obj.get("connectorId"), + "description": obj.get("description"), + "displayName": obj.get("displayName") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/copy_s3_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/copy_s3_auth_params_dto.py new file mode 100644 index 000000000..4f0fdb66a --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/copy_s3_auth_params_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 CopyS3AuthParamsDTO(BaseModel): + """ + CopyS3AuthParamsDTO + """ # noqa: E501 + iam_role: Optional[StrictStr] = Field(default=None, alias="iamRole") + __properties: ClassVar[List[str]] = ["iamRole"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CopyS3AuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 CopyS3AuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "iamRole": obj.get("iamRole") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/credential_creation_api_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/credential_creation_api_response_dto.py new file mode 100644 index 000000000..e3110d924 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/credential_creation_api_response_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.subject_missing_access_dto import SubjectMissingAccessDTO +from typing import Optional, Set +from typing_extensions import Self + +class CredentialCreationAPIResponseDTO(BaseModel): + """ + CredentialCreationAPIResponseDTO + """ # noqa: E501 + missing_connection_properties: Optional[List[SubjectMissingAccessDTO]] = Field(default=None, description="The properties that the credential cannot access despite successful authentication. This is only returned for authentications that do not grant access to all data.", alias="missingConnectionProperties") + object_name: Optional[StrictStr] = Field(default=None, description="The object name of the newly created credential.", alias="objectName") + symbol_name: Optional[StrictStr] = Field(default=None, description="The symbol name of the newly created credential.", alias="symbolName") + uuid: Optional[StrictStr] = Field(default=None, description="The unique ID of the newly created credential.") + __properties: ClassVar[List[str]] = ["missingConnectionProperties", "objectName", "symbolName", "uuid"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CredentialCreationAPIResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 missing_connection_properties (list) + _items = [] + if self.missing_connection_properties: + for _item in self.missing_connection_properties: + if _item: + _items.append(_item.to_dict()) + _dict['missingConnectionProperties'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CredentialCreationAPIResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "missingConnectionProperties": [SubjectMissingAccessDTO.from_dict(_item) for _item in obj["missingConnectionProperties"]] if obj.get("missingConnectionProperties") is not None else None, + "objectName": obj.get("objectName"), + "symbolName": obj.get("symbolName"), + "uuid": obj.get("uuid") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_categories_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_categories_response_dto.py new file mode 100644 index 000000000..7a90a7b75 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_categories_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.data_category_response_dto import DataCategoryResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class DataCategoriesResponseDTO(BaseModel): + """ + DataCategoriesResponseDTO + """ # noqa: E501 + categories: Optional[List[DataCategoryResponseDTO]] = None + __properties: ClassVar[List[str]] = ["categories"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataCategoriesResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 categories (list) + _items = [] + if self.categories: + for _item in self.categories: + if _item: + _items.append(_item.to_dict()) + _dict['categories'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataCategoriesResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "categories": [DataCategoryResponseDTO.from_dict(_item) for _item in obj["categories"]] if obj.get("categories") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_category_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_category_response_dto.py new file mode 100644 index 000000000..b566062c6 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_category_response_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataCategoryResponseDTO(BaseModel): + """ + DataCategoryResponseDTO + """ # noqa: E501 + id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "name"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataCategoryResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataCategoryResponseDTO 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"), + "name": obj.get("name") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_load_request.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_load_request.py new file mode 100644 index 000000000..2bc427d62 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_load_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.data_load_request_model import DataLoadRequestModel +from typing import Optional, Set +from typing_extensions import Self + +class DataLoadRequest(BaseModel): + """ + DataLoadRequest + """ # noqa: E501 + model: Optional[DataLoadRequestModel] = Field(default=None, description="A form body key that contains a collection of key-value pairs.") + __properties: ClassVar[List[str]] = ["model"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataLoadRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 model + if self.model: + _dict['model'] = self.model.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataLoadRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "model": DataLoadRequestModel.from_dict(obj["model"]) if obj.get("model") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_load_request_model.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_load_request_model.py new file mode 100644 index 000000000..1bcbe0df7 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_load_request_model.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataLoadRequestModel(BaseModel): + """ + DataLoadRequestModel + """ # noqa: E501 + files: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of file names. Example: `\"files\": \"/path/to/file1.zip.gpg,/path/to/another/file.zip.gpg\"`") + skip_data_load: Optional[StrictBool] = Field(default=None, description="If `true`, receives the files and skips data loading. Does not generate a data version.", alias="skipDataLoad") + __properties: ClassVar[List[str]] = ["files", "skipDataLoad"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataLoadRequestModel from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataLoadRequestModel from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "files": obj.get("files"), + "skipDataLoad": obj.get("skipDataLoad") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_load_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_load_response.py new file mode 100644 index 000000000..5fb5c9e51 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_load_response.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataLoadResponse(BaseModel): + """ + DataLoadResponse + """ # noqa: E501 + job_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the receiving job.", alias="jobId") + __properties: ClassVar[List[str]] = ["jobId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataLoadResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataLoadResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "jobId": obj.get("jobId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_auth_information_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_auth_information_dto.py new file mode 100644 index 000000000..8598d6726 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_auth_information_dto.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.data_provider_auth_params_dto import DataProviderAuthParamsDTO +from visier.sdk.api.data_in.models.data_provider_basic_information_dto import DataProviderBasicInformationDTO +from visier.sdk.api.data_in.models.data_provider_basic_metadata_dto import DataProviderBasicMetadataDTO +from typing import Optional, Set +from typing_extensions import Self + +class DataProviderAuthInformationDTO(BaseModel): + """ + DataProviderAuthInformationDTO + """ # noqa: E501 + data_provider_auth_params: Optional[DataProviderAuthParamsDTO] = Field(default=None, description="The authentication information for the credential.", alias="dataProviderAuthParams") + data_provider_basic_information: Optional[DataProviderBasicInformationDTO] = Field(default=None, description="The display name and description for the credential.", alias="dataProviderBasicInformation") + data_provider_metadata: Optional[DataProviderBasicMetadataDTO] = Field(default=None, alias="dataProviderMetadata") + __properties: ClassVar[List[str]] = ["dataProviderAuthParams", "dataProviderBasicInformation", "dataProviderMetadata"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataProviderAuthInformationDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 data_provider_auth_params + if self.data_provider_auth_params: + _dict['dataProviderAuthParams'] = self.data_provider_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of data_provider_basic_information + if self.data_provider_basic_information: + _dict['dataProviderBasicInformation'] = self.data_provider_basic_information.to_dict() + # override the default output from pydantic by calling `to_dict()` of data_provider_metadata + if self.data_provider_metadata: + _dict['dataProviderMetadata'] = self.data_provider_metadata.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataProviderAuthInformationDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataProviderAuthParams": DataProviderAuthParamsDTO.from_dict(obj["dataProviderAuthParams"]) if obj.get("dataProviderAuthParams") is not None else None, + "dataProviderBasicInformation": DataProviderBasicInformationDTO.from_dict(obj["dataProviderBasicInformation"]) if obj.get("dataProviderBasicInformation") is not None else None, + "dataProviderMetadata": DataProviderBasicMetadataDTO.from_dict(obj["dataProviderMetadata"]) if obj.get("dataProviderMetadata") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_auth_params_dto.py new file mode 100644 index 000000000..5bb8a33dc --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_auth_params_dto.py @@ -0,0 +1,331 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.adp_auth_params_dto import AdpAuthParamsDTO +from visier.sdk.api.data_in.models.bamboo_auth_params_dto import BambooAuthParamsDTO +from visier.sdk.api.data_in.models.basic_s3_auth_params_dto import BasicS3AuthParamsDTO +from visier.sdk.api.data_in.models.big_query_auth_params_dto import BigQueryAuthParamsDTO +from visier.sdk.api.data_in.models.copy_s3_auth_params_dto import CopyS3AuthParamsDTO +from visier.sdk.api.data_in.models.dayforce_v2_auth_params_dto import DayforceV2AuthParamsDTO +from visier.sdk.api.data_in.models.dimensions_auth_params_dto import DimensionsAuthParamsDTO +from visier.sdk.api.data_in.models.fusion_auth_params_dto import FusionAuthParamsDTO +from visier.sdk.api.data_in.models.gong_auth_params_dto import GongAuthParamsDTO +from visier.sdk.api.data_in.models.google_sheets_auth_params_dto import GoogleSheetsAuthParamsDTO +from visier.sdk.api.data_in.models.google_workspace_auth_params_dto import GoogleWorkspaceAuthParamsDTO +from visier.sdk.api.data_in.models.greenhouse_auth_params_dto import GreenhouseAuthParamsDTO +from visier.sdk.api.data_in.models.icims_auth_params_dto import IcimsAuthParamsDTO +from visier.sdk.api.data_in.models.internal_s3_auth_params_dto import InternalS3AuthParamsDTO +from visier.sdk.api.data_in.models.jdbc_auth_params_dto import JdbcAuthParamsDTO +from visier.sdk.api.data_in.models.jira_auth_params_dto import JiraAuthParamsDTO +from visier.sdk.api.data_in.models.lever_auth_params_dto import LeverAuthParamsDTO +from visier.sdk.api.data_in.models.medallia_auth_params_dto import MedalliaAuthParamsDTO +from visier.sdk.api.data_in.models.microsoft365_auth_params_dto import Microsoft365AuthParamsDTO +from visier.sdk.api.data_in.models.my_sql_auth_params_dto import MySqlAuthParamsDTO +from visier.sdk.api.data_in.models.namely_auth_params_dto import NamelyAuthParamsDTO +from visier.sdk.api.data_in.models.oracle_db_auth_params_dto import OracleDbAuthParamsDTO +from visier.sdk.api.data_in.models.qualtrics_auth_params_dto import QualtricsAuthParamsDTO +from visier.sdk.api.data_in.models.redshift_auth_params_dto import RedshiftAuthParamsDTO +from visier.sdk.api.data_in.models.salesforce_auth_params_dto import SalesforceAuthParamsDTO +from visier.sdk.api.data_in.models.salesforce_v2_auth_params_dto import SalesforceV2AuthParamsDTO +from visier.sdk.api.data_in.models.service_now_auth_params_dto import ServiceNowAuthParamsDTO +from visier.sdk.api.data_in.models.slack_auth_params_dto import SlackAuthParamsDTO +from visier.sdk.api.data_in.models.snowflake_auth_params_dto import SnowflakeAuthParamsDTO +from visier.sdk.api.data_in.models.sql_server_auth_params_dto import SqlServerAuthParamsDTO +from visier.sdk.api.data_in.models.success_factors_auth_params_dto import SuccessFactorsAuthParamsDTO +from visier.sdk.api.data_in.models.ultimate_auth_params_dto import UltimateAuthParamsDTO +from visier.sdk.api.data_in.models.willow_auth_params_dto import WillowAuthParamsDTO +from visier.sdk.api.data_in.models.workday_auth_params_dto import WorkdayAuthParamsDTO +from visier.sdk.api.data_in.models.workday_raas_auth_params_dto import WorkdayRaasAuthParamsDTO +from visier.sdk.api.data_in.models.zoom_auth_params_dto import ZoomAuthParamsDTO +from typing import Optional, Set +from typing_extensions import Self + +class DataProviderAuthParamsDTO(BaseModel): + """ + DataProviderAuthParamsDTO + """ # noqa: E501 + adp_auth_params: Optional[AdpAuthParamsDTO] = Field(default=None, alias="adpAuthParams") + auth_context: Optional[StrictStr] = Field(default=None, alias="authContext") + bamboo_auth_params: Optional[BambooAuthParamsDTO] = Field(default=None, alias="bambooAuthParams") + big_query_auth_params: Optional[BigQueryAuthParamsDTO] = Field(default=None, alias="bigQueryAuthParams") + copy_s3_auth_params: Optional[CopyS3AuthParamsDTO] = Field(default=None, alias="copyS3AuthParams") + dayforce_v2_auth_params: Optional[DayforceV2AuthParamsDTO] = Field(default=None, alias="dayforceV2AuthParams") + dimensions_auth_params: Optional[DimensionsAuthParamsDTO] = Field(default=None, alias="dimensionsAuthParams") + empty_auth_params: Optional[Dict[str, Any]] = Field(default=None, alias="emptyAuthParams") + fusion_auth_params: Optional[FusionAuthParamsDTO] = Field(default=None, alias="fusionAuthParams") + gong_auth_params: Optional[GongAuthParamsDTO] = Field(default=None, alias="gongAuthParams") + google_sheets_auth_params: Optional[GoogleSheetsAuthParamsDTO] = Field(default=None, alias="googleSheetsAuthParams") + google_workspace_auth_params: Optional[GoogleWorkspaceAuthParamsDTO] = Field(default=None, alias="googleWorkspaceAuthParams") + greenhouse_auth_params: Optional[GreenhouseAuthParamsDTO] = Field(default=None, alias="greenhouseAuthParams") + has_updates: Optional[StrictBool] = Field(default=None, alias="hasUpdates") + icims_auth_params: Optional[IcimsAuthParamsDTO] = Field(default=None, alias="icimsAuthParams") + internal_s3_auth_params: Optional[InternalS3AuthParamsDTO] = Field(default=None, alias="internalS3AuthParams") + jdbc_auth_params: Optional[JdbcAuthParamsDTO] = Field(default=None, alias="jdbcAuthParams") + jira_auth_params: Optional[JiraAuthParamsDTO] = Field(default=None, alias="jiraAuthParams") + lever_auth_params: Optional[LeverAuthParamsDTO] = Field(default=None, alias="leverAuthParams") + medallia_auth_params: Optional[MedalliaAuthParamsDTO] = Field(default=None, alias="medalliaAuthParams") + ms365_auth_params: Optional[Microsoft365AuthParamsDTO] = Field(default=None, alias="ms365AuthParams") + my_sql_auth_params: Optional[MySqlAuthParamsDTO] = Field(default=None, alias="mySqlAuthParams") + namely_auth_params: Optional[NamelyAuthParamsDTO] = Field(default=None, alias="namelyAuthParams") + oracle_db_auth_params: Optional[OracleDbAuthParamsDTO] = Field(default=None, alias="oracleDbAuthParams") + provider: Optional[StrictStr] = Field(default=None, description="The data provider associated with the credential. - Valid values: UKG, Dimensions, Workday, Redshift, BasicS3, CopyS3, SqlServer, Snowflake") + qualtrics_auth_params: Optional[QualtricsAuthParamsDTO] = Field(default=None, alias="qualtricsAuthParams") + redshift_auth_params: Optional[RedshiftAuthParamsDTO] = Field(default=None, alias="redshiftAuthParams") + s3_auth_params: Optional[BasicS3AuthParamsDTO] = Field(default=None, alias="s3AuthParams") + salesforce_auth_params: Optional[SalesforceAuthParamsDTO] = Field(default=None, alias="salesforceAuthParams") + salesforce_v2_auth_params: Optional[SalesforceV2AuthParamsDTO] = Field(default=None, alias="salesforceV2AuthParams") + service_now_auth_params: Optional[ServiceNowAuthParamsDTO] = Field(default=None, alias="serviceNowAuthParams") + slack_auth_params: Optional[SlackAuthParamsDTO] = Field(default=None, alias="slackAuthParams") + snowflake_auth_params: Optional[SnowflakeAuthParamsDTO] = Field(default=None, alias="snowflakeAuthParams") + sql_server_auth_params: Optional[SqlServerAuthParamsDTO] = Field(default=None, alias="sqlServerAuthParams") + success_factors_auth_params: Optional[SuccessFactorsAuthParamsDTO] = Field(default=None, alias="successFactorsAuthParams") + tenant_domain_name: Optional[StrictStr] = Field(default=None, alias="tenantDomainName") + ultimate_auth_params: Optional[UltimateAuthParamsDTO] = Field(default=None, alias="ultimateAuthParams") + willow_auth_params: Optional[WillowAuthParamsDTO] = Field(default=None, alias="willowAuthParams") + workday_auth_params: Optional[WorkdayAuthParamsDTO] = Field(default=None, alias="workdayAuthParams") + workday_raas_auth_params: Optional[WorkdayRaasAuthParamsDTO] = Field(default=None, alias="workdayRaasAuthParams") + zoom_auth_params: Optional[ZoomAuthParamsDTO] = Field(default=None, alias="zoomAuthParams") + __properties: ClassVar[List[str]] = ["adpAuthParams", "authContext", "bambooAuthParams", "bigQueryAuthParams", "copyS3AuthParams", "dayforceV2AuthParams", "dimensionsAuthParams", "emptyAuthParams", "fusionAuthParams", "gongAuthParams", "googleSheetsAuthParams", "googleWorkspaceAuthParams", "greenhouseAuthParams", "hasUpdates", "icimsAuthParams", "internalS3AuthParams", "jdbcAuthParams", "jiraAuthParams", "leverAuthParams", "medalliaAuthParams", "ms365AuthParams", "mySqlAuthParams", "namelyAuthParams", "oracleDbAuthParams", "provider", "qualtricsAuthParams", "redshiftAuthParams", "s3AuthParams", "salesforceAuthParams", "salesforceV2AuthParams", "serviceNowAuthParams", "slackAuthParams", "snowflakeAuthParams", "sqlServerAuthParams", "successFactorsAuthParams", "tenantDomainName", "ultimateAuthParams", "willowAuthParams", "workdayAuthParams", "workdayRaasAuthParams", "zoomAuthParams"] + + @field_validator('auth_context') + def auth_context_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['DefaultDataExtraction', 'WorkplaceDynamicsDataExtraction', 'Notification']): + raise ValueError("must be one of enum values ('DefaultDataExtraction', 'WorkplaceDynamicsDataExtraction', 'Notification')") + return value + + @field_validator('provider') + def provider_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Bamboo', 'GoogleSheets', 'Greenhouse', 'Jira', 'Lever', 'Namely', 'Qualtrics', 'Salesforce', 'UKG', 'Workday', 'Icims', 'ServiceNow', 'Jdbc', 'BasicS3', 'InternalS3', 'CopyS3', 'Redshift', 'Snowflake', 'BigQuery', 'SqlServer', 'Dimensions', 'IcimsPartnerProviderRedshift', 'Willow', 'SuccessFactors', 'IcimsV2', 'ADP', 'WorkdayV2', 'ServiceNowV2', 'Medallia', 'Fusion', 'SalesforceV2', 'Gong', 'Zoom', 'GoogleCalendar', 'UKGV2', 'DayforceV2', 'GoogleActivityReport', 'Slack', 'MySql', 'WorkdayRaas', 'Microsoft365', 'GoogleWorkspace', 'OracleDb', 'SmartRecruiters']): + raise ValueError("must be one of enum values ('Bamboo', 'GoogleSheets', 'Greenhouse', 'Jira', 'Lever', 'Namely', 'Qualtrics', 'Salesforce', 'UKG', 'Workday', 'Icims', 'ServiceNow', 'Jdbc', 'BasicS3', 'InternalS3', 'CopyS3', 'Redshift', 'Snowflake', 'BigQuery', 'SqlServer', 'Dimensions', 'IcimsPartnerProviderRedshift', 'Willow', 'SuccessFactors', 'IcimsV2', 'ADP', 'WorkdayV2', 'ServiceNowV2', 'Medallia', 'Fusion', 'SalesforceV2', 'Gong', 'Zoom', 'GoogleCalendar', 'UKGV2', 'DayforceV2', 'GoogleActivityReport', 'Slack', 'MySql', 'WorkdayRaas', 'Microsoft365', 'GoogleWorkspace', 'OracleDb', 'SmartRecruiters')") + 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 DataProviderAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 adp_auth_params + if self.adp_auth_params: + _dict['adpAuthParams'] = self.adp_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of bamboo_auth_params + if self.bamboo_auth_params: + _dict['bambooAuthParams'] = self.bamboo_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of big_query_auth_params + if self.big_query_auth_params: + _dict['bigQueryAuthParams'] = self.big_query_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of copy_s3_auth_params + if self.copy_s3_auth_params: + _dict['copyS3AuthParams'] = self.copy_s3_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of dayforce_v2_auth_params + if self.dayforce_v2_auth_params: + _dict['dayforceV2AuthParams'] = self.dayforce_v2_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of dimensions_auth_params + if self.dimensions_auth_params: + _dict['dimensionsAuthParams'] = self.dimensions_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of fusion_auth_params + if self.fusion_auth_params: + _dict['fusionAuthParams'] = self.fusion_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of gong_auth_params + if self.gong_auth_params: + _dict['gongAuthParams'] = self.gong_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of google_sheets_auth_params + if self.google_sheets_auth_params: + _dict['googleSheetsAuthParams'] = self.google_sheets_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of google_workspace_auth_params + if self.google_workspace_auth_params: + _dict['googleWorkspaceAuthParams'] = self.google_workspace_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of greenhouse_auth_params + if self.greenhouse_auth_params: + _dict['greenhouseAuthParams'] = self.greenhouse_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of icims_auth_params + if self.icims_auth_params: + _dict['icimsAuthParams'] = self.icims_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of internal_s3_auth_params + if self.internal_s3_auth_params: + _dict['internalS3AuthParams'] = self.internal_s3_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of jdbc_auth_params + if self.jdbc_auth_params: + _dict['jdbcAuthParams'] = self.jdbc_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of jira_auth_params + if self.jira_auth_params: + _dict['jiraAuthParams'] = self.jira_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of lever_auth_params + if self.lever_auth_params: + _dict['leverAuthParams'] = self.lever_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of medallia_auth_params + if self.medallia_auth_params: + _dict['medalliaAuthParams'] = self.medallia_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of ms365_auth_params + if self.ms365_auth_params: + _dict['ms365AuthParams'] = self.ms365_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of my_sql_auth_params + if self.my_sql_auth_params: + _dict['mySqlAuthParams'] = self.my_sql_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of namely_auth_params + if self.namely_auth_params: + _dict['namelyAuthParams'] = self.namely_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of oracle_db_auth_params + if self.oracle_db_auth_params: + _dict['oracleDbAuthParams'] = self.oracle_db_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of qualtrics_auth_params + if self.qualtrics_auth_params: + _dict['qualtricsAuthParams'] = self.qualtrics_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of redshift_auth_params + if self.redshift_auth_params: + _dict['redshiftAuthParams'] = self.redshift_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of s3_auth_params + if self.s3_auth_params: + _dict['s3AuthParams'] = self.s3_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of salesforce_auth_params + if self.salesforce_auth_params: + _dict['salesforceAuthParams'] = self.salesforce_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of salesforce_v2_auth_params + if self.salesforce_v2_auth_params: + _dict['salesforceV2AuthParams'] = self.salesforce_v2_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of service_now_auth_params + if self.service_now_auth_params: + _dict['serviceNowAuthParams'] = self.service_now_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of slack_auth_params + if self.slack_auth_params: + _dict['slackAuthParams'] = self.slack_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of snowflake_auth_params + if self.snowflake_auth_params: + _dict['snowflakeAuthParams'] = self.snowflake_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of sql_server_auth_params + if self.sql_server_auth_params: + _dict['sqlServerAuthParams'] = self.sql_server_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of success_factors_auth_params + if self.success_factors_auth_params: + _dict['successFactorsAuthParams'] = self.success_factors_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of ultimate_auth_params + if self.ultimate_auth_params: + _dict['ultimateAuthParams'] = self.ultimate_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of willow_auth_params + if self.willow_auth_params: + _dict['willowAuthParams'] = self.willow_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of workday_auth_params + if self.workday_auth_params: + _dict['workdayAuthParams'] = self.workday_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of workday_raas_auth_params + if self.workday_raas_auth_params: + _dict['workdayRaasAuthParams'] = self.workday_raas_auth_params.to_dict() + # override the default output from pydantic by calling `to_dict()` of zoom_auth_params + if self.zoom_auth_params: + _dict['zoomAuthParams'] = self.zoom_auth_params.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataProviderAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "adpAuthParams": AdpAuthParamsDTO.from_dict(obj["adpAuthParams"]) if obj.get("adpAuthParams") is not None else None, + "authContext": obj.get("authContext"), + "bambooAuthParams": BambooAuthParamsDTO.from_dict(obj["bambooAuthParams"]) if obj.get("bambooAuthParams") is not None else None, + "bigQueryAuthParams": BigQueryAuthParamsDTO.from_dict(obj["bigQueryAuthParams"]) if obj.get("bigQueryAuthParams") is not None else None, + "copyS3AuthParams": CopyS3AuthParamsDTO.from_dict(obj["copyS3AuthParams"]) if obj.get("copyS3AuthParams") is not None else None, + "dayforceV2AuthParams": DayforceV2AuthParamsDTO.from_dict(obj["dayforceV2AuthParams"]) if obj.get("dayforceV2AuthParams") is not None else None, + "dimensionsAuthParams": DimensionsAuthParamsDTO.from_dict(obj["dimensionsAuthParams"]) if obj.get("dimensionsAuthParams") is not None else None, + "emptyAuthParams": obj.get("emptyAuthParams"), + "fusionAuthParams": FusionAuthParamsDTO.from_dict(obj["fusionAuthParams"]) if obj.get("fusionAuthParams") is not None else None, + "gongAuthParams": GongAuthParamsDTO.from_dict(obj["gongAuthParams"]) if obj.get("gongAuthParams") is not None else None, + "googleSheetsAuthParams": GoogleSheetsAuthParamsDTO.from_dict(obj["googleSheetsAuthParams"]) if obj.get("googleSheetsAuthParams") is not None else None, + "googleWorkspaceAuthParams": GoogleWorkspaceAuthParamsDTO.from_dict(obj["googleWorkspaceAuthParams"]) if obj.get("googleWorkspaceAuthParams") is not None else None, + "greenhouseAuthParams": GreenhouseAuthParamsDTO.from_dict(obj["greenhouseAuthParams"]) if obj.get("greenhouseAuthParams") is not None else None, + "hasUpdates": obj.get("hasUpdates"), + "icimsAuthParams": IcimsAuthParamsDTO.from_dict(obj["icimsAuthParams"]) if obj.get("icimsAuthParams") is not None else None, + "internalS3AuthParams": InternalS3AuthParamsDTO.from_dict(obj["internalS3AuthParams"]) if obj.get("internalS3AuthParams") is not None else None, + "jdbcAuthParams": JdbcAuthParamsDTO.from_dict(obj["jdbcAuthParams"]) if obj.get("jdbcAuthParams") is not None else None, + "jiraAuthParams": JiraAuthParamsDTO.from_dict(obj["jiraAuthParams"]) if obj.get("jiraAuthParams") is not None else None, + "leverAuthParams": LeverAuthParamsDTO.from_dict(obj["leverAuthParams"]) if obj.get("leverAuthParams") is not None else None, + "medalliaAuthParams": MedalliaAuthParamsDTO.from_dict(obj["medalliaAuthParams"]) if obj.get("medalliaAuthParams") is not None else None, + "ms365AuthParams": Microsoft365AuthParamsDTO.from_dict(obj["ms365AuthParams"]) if obj.get("ms365AuthParams") is not None else None, + "mySqlAuthParams": MySqlAuthParamsDTO.from_dict(obj["mySqlAuthParams"]) if obj.get("mySqlAuthParams") is not None else None, + "namelyAuthParams": NamelyAuthParamsDTO.from_dict(obj["namelyAuthParams"]) if obj.get("namelyAuthParams") is not None else None, + "oracleDbAuthParams": OracleDbAuthParamsDTO.from_dict(obj["oracleDbAuthParams"]) if obj.get("oracleDbAuthParams") is not None else None, + "provider": obj.get("provider"), + "qualtricsAuthParams": QualtricsAuthParamsDTO.from_dict(obj["qualtricsAuthParams"]) if obj.get("qualtricsAuthParams") is not None else None, + "redshiftAuthParams": RedshiftAuthParamsDTO.from_dict(obj["redshiftAuthParams"]) if obj.get("redshiftAuthParams") is not None else None, + "s3AuthParams": BasicS3AuthParamsDTO.from_dict(obj["s3AuthParams"]) if obj.get("s3AuthParams") is not None else None, + "salesforceAuthParams": SalesforceAuthParamsDTO.from_dict(obj["salesforceAuthParams"]) if obj.get("salesforceAuthParams") is not None else None, + "salesforceV2AuthParams": SalesforceV2AuthParamsDTO.from_dict(obj["salesforceV2AuthParams"]) if obj.get("salesforceV2AuthParams") is not None else None, + "serviceNowAuthParams": ServiceNowAuthParamsDTO.from_dict(obj["serviceNowAuthParams"]) if obj.get("serviceNowAuthParams") is not None else None, + "slackAuthParams": SlackAuthParamsDTO.from_dict(obj["slackAuthParams"]) if obj.get("slackAuthParams") is not None else None, + "snowflakeAuthParams": SnowflakeAuthParamsDTO.from_dict(obj["snowflakeAuthParams"]) if obj.get("snowflakeAuthParams") is not None else None, + "sqlServerAuthParams": SqlServerAuthParamsDTO.from_dict(obj["sqlServerAuthParams"]) if obj.get("sqlServerAuthParams") is not None else None, + "successFactorsAuthParams": SuccessFactorsAuthParamsDTO.from_dict(obj["successFactorsAuthParams"]) if obj.get("successFactorsAuthParams") is not None else None, + "tenantDomainName": obj.get("tenantDomainName"), + "ultimateAuthParams": UltimateAuthParamsDTO.from_dict(obj["ultimateAuthParams"]) if obj.get("ultimateAuthParams") is not None else None, + "willowAuthParams": WillowAuthParamsDTO.from_dict(obj["willowAuthParams"]) if obj.get("willowAuthParams") is not None else None, + "workdayAuthParams": WorkdayAuthParamsDTO.from_dict(obj["workdayAuthParams"]) if obj.get("workdayAuthParams") is not None else None, + "workdayRaasAuthParams": WorkdayRaasAuthParamsDTO.from_dict(obj["workdayRaasAuthParams"]) if obj.get("workdayRaasAuthParams") is not None else None, + "zoomAuthParams": ZoomAuthParamsDTO.from_dict(obj["zoomAuthParams"]) if obj.get("zoomAuthParams") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_basic_information_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_basic_information_dto.py new file mode 100644 index 000000000..a2729acbf --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_basic_information_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataProviderBasicInformationDTO(BaseModel): + """ + DataProviderBasicInformationDTO + """ # noqa: E501 + description: Optional[StrictStr] = None + display_name: Optional[StrictStr] = Field(default=None, alias="displayName") + __properties: ClassVar[List[str]] = ["description", "displayName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataProviderBasicInformationDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataProviderBasicInformationDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "displayName": obj.get("displayName") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_basic_metadata_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_basic_metadata_dto.py new file mode 100644 index 000000000..9ab653799 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_provider_basic_metadata_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class DataProviderBasicMetadataDTO(BaseModel): + """ + DataProviderBasicMetadataDTO + """ # noqa: E501 + can_children_inherit: Optional[StrictBool] = Field(default=None, alias="canChildrenInherit") + __properties: ClassVar[List[str]] = ["canChildrenInherit"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataProviderBasicMetadataDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataProviderBasicMetadataDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "canChildrenInherit": obj.get("canChildrenInherit") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_transfer_result_detail.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_transfer_result_detail.py new file mode 100644 index 000000000..cfe2c29fb --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_transfer_result_detail.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataTransferResultDetail(BaseModel): + """ + DataTransferResultDetail + """ # noqa: E501 + data_size: Optional[StrictStr] = Field(default=None, description="The total size of the transfer session in bytes.", alias="dataSize") + rows: Optional[StrictStr] = Field(default=None, description="The total number of rows transferred during the transfer session.") + source_names: Optional[List[StrictStr]] = Field(default=None, description="A list of strings representing the sources that received a data transfer.", alias="sourceNames") + tenant_code: Optional[StrictStr] = Field(default=None, description="The code of the tenant that data was transferred to. For example, WFF_j1r or WFF_j1r~c7o.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["dataSize", "rows", "sourceNames", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataTransferResultDetail from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataTransferResultDetail from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataSize": obj.get("dataSize"), + "rows": obj.get("rows"), + "sourceNames": obj.get("sourceNames"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_version_and_date_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_version_and_date_dto.py new file mode 100644 index 000000000..ac6e32f01 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_version_and_date_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataVersionAndDateDTO(BaseModel): + """ + DataVersionAndDateDTO + """ # noqa: E501 + data_version: Optional[StrictStr] = Field(default=None, description="The data version ID.", alias="dataVersion") + data_version_date: Optional[StrictStr] = Field(default=None, description="The date that the data version was created.", alias="dataVersionDate") + __properties: ClassVar[List[str]] = ["dataVersion", "dataVersionDate"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataVersionAndDateDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataVersionAndDateDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataVersion": obj.get("dataVersion"), + "dataVersionDate": obj.get("dataVersionDate") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_version_object.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_version_object.py new file mode 100644 index 000000000..1e79d2183 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/data_version_object.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataVersionObject(BaseModel): + """ + DataVersionObject + """ # noqa: E501 + data_versions: Optional[StrictStr] = Field(default=None, description="The data version to disable for a particular analytic tenant.", alias="dataVersions") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code for the analytic tenant that you are disabling a data version.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["dataVersions", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataVersionObject from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataVersionObject from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataVersions": obj.get("dataVersions"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/dayforce_v2_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/dayforce_v2_auth_params_dto.py new file mode 100644 index 000000000..3e59cf880 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/dayforce_v2_auth_params_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DayforceV2AuthParamsDTO(BaseModel): + """ + DayforceV2AuthParamsDTO + """ # noqa: E501 + company_id: Optional[StrictStr] = Field(default=None, alias="companyId") + host_domain_name: Optional[StrictStr] = Field(default=None, alias="hostDomainName") + password: Optional[StrictStr] = None + token_host: Optional[StrictStr] = Field(default=None, alias="tokenHost") + username: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["companyId", "hostDomainName", "password", "tokenHost", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DayforceV2AuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DayforceV2AuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "companyId": obj.get("companyId"), + "hostDomainName": obj.get("hostDomainName"), + "password": obj.get("password"), + "tokenHost": obj.get("tokenHost"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/dimensions_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/dimensions_auth_params_dto.py new file mode 100644 index 000000000..4e47a071b --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/dimensions_auth_params_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DimensionsAuthParamsDTO(BaseModel): + """ + DimensionsAuthParamsDTO + """ # noqa: E501 + app_key: Optional[StrictStr] = Field(default=None, alias="appKey") + client_id: Optional[StrictStr] = Field(default=None, alias="clientId") + client_secret: Optional[StrictStr] = Field(default=None, alias="clientSecret") + password: Optional[StrictStr] = None + username: Optional[StrictStr] = None + vanity_url: Optional[StrictStr] = Field(default=None, alias="vanityUrl") + __properties: ClassVar[List[str]] = ["appKey", "clientId", "clientSecret", "password", "username", "vanityUrl"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DimensionsAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DimensionsAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "appKey": obj.get("appKey"), + "clientId": obj.get("clientId"), + "clientSecret": obj.get("clientSecret"), + "password": obj.get("password"), + "username": obj.get("username"), + "vanityUrl": obj.get("vanityUrl") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_job_config_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_job_config_dto.py new file mode 100644 index 000000000..5314f9412 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_job_config_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DirectDataJobConfigDTO(BaseModel): + """ + Whether the direct data intake job is a primary job or a supplemental job. + """ # noqa: E501 + extend_objects: Optional[List[StrictStr]] = Field(default=None, description="The target analytic objects to load using extension tables. You can extend objects if the job type is supplemental and the target objects already contain data from a previous data version. This allows you to load data for objects that already contain data in Visier.", alias="extendObjects") + supplemental_mode: Optional[StrictStr] = Field(default=None, description="The configuration for the processing job as a primary job (default) or a supplemental job. If a primary job is already defined, the direct data intake job must be supplemental. The valid values are `IS_PRIMARY`, `IS_SUPPLEMENTAL`, and `UNCHANGED`.", alias="supplementalMode") + __properties: ClassVar[List[str]] = ["extendObjects", "supplementalMode"] + + @field_validator('supplemental_mode') + def supplemental_mode_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['UNCHANGED', 'IS_PRIMARY', 'IS_SUPPLEMENTAL']): + raise ValueError("must be one of enum values ('UNCHANGED', 'IS_PRIMARY', 'IS_SUPPLEMENTAL')") + 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 DirectDataJobConfigDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DirectDataJobConfigDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "extendObjects": obj.get("extendObjects"), + "supplementalMode": obj.get("supplementalMode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_job_status_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_job_status_response_dto.py new file mode 100644 index 000000000..da78b25cd --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_job_status_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DirectDataJobStatusResponseDTO(BaseModel): + """ + The job status information for a committed transaction. + """ # noqa: E501 + job_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the processing job.", alias="jobId") + message: Optional[StrictStr] = Field(default=None, description="If the processing job fails, this field contains details specific to the failure.") + status: Optional[StrictStr] = Field(default=None, description="The status of the processing job.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant for the data load.", alias="tenantCode") + transaction_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the committed transaction.", alias="transactionId") + __properties: ClassVar[List[str]] = ["jobId", "message", "status", "tenantCode", "transactionId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DirectDataJobStatusResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DirectDataJobStatusResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "jobId": obj.get("jobId"), + "message": obj.get("message"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode"), + "transactionId": obj.get("transactionId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_load_config_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_load_config_dto.py new file mode 100644 index 000000000..a8090a8b9 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_load_config_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.direct_data_job_config_dto import DirectDataJobConfigDTO +from typing import Optional, Set +from typing_extensions import Self + +class DirectDataLoadConfigDTO(BaseModel): + """ + The configuration for the direct data intake, such as the direct data intake job type. + """ # noqa: E501 + job: Optional[DirectDataJobConfigDTO] = Field(default=None, description="The direct data intake job configuration.") + __properties: ClassVar[List[str]] = ["job"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DirectDataLoadConfigDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 + if self.job: + _dict['job'] = self.job.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DirectDataLoadConfigDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "job": DirectDataJobConfigDTO.from_dict(obj["job"]) if obj.get("job") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_schema_field_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_schema_field_dto.py new file mode 100644 index 000000000..68aa18894 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_schema_field_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DirectDataSchemaFieldDTO(BaseModel): + """ + The definition of each field in an object's schema. + """ # noqa: E501 + data_type: Optional[StrictStr] = Field(default=None, description="The column's data type.", alias="dataType") + empty_values_allowed: Optional[StrictBool] = Field(default=None, description="If true, the value may be empty.", alias="emptyValuesAllowed") + formats: Optional[List[StrictStr]] = Field(default=None, description="The column's accepted formats, such as date formats like \"yyyy-MM-dd\".") + is_mandatory: Optional[StrictBool] = Field(default=None, description="If true, the field must contain a value to successfully load data into the object.", alias="isMandatory") + name: Optional[StrictStr] = Field(default=None, description="The field's column name. Column names are case sensitive.") + __properties: ClassVar[List[str]] = ["dataType", "emptyValuesAllowed", "formats", "isMandatory", "name"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DirectDataSchemaFieldDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DirectDataSchemaFieldDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataType": obj.get("dataType"), + "emptyValuesAllowed": obj.get("emptyValuesAllowed"), + "formats": obj.get("formats"), + "isMandatory": obj.get("isMandatory"), + "name": obj.get("name") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_transaction_start_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_transaction_start_response_dto.py new file mode 100644 index 000000000..5216c6564 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_transaction_start_response_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DirectDataTransactionStartResponseDTO(BaseModel): + """ + The response after successfully creating a transaction. + """ # noqa: E501 + transaction_id: Optional[StrictStr] = Field(default=None, description="The transaction's unique identifier.", alias="transactionId") + __properties: ClassVar[List[str]] = ["transactionId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DirectDataTransactionStartResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DirectDataTransactionStartResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "transactionId": obj.get("transactionId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_upload_file_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_upload_file_response_dto.py new file mode 100644 index 000000000..87cd5fc1a --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/direct_data_upload_file_response_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DirectDataUploadFileResponseDTO(BaseModel): + """ + The transaction results. If uploading a file, a success response means the upload was successful and doesn't always mean the file was successfully loaded into its target object. + """ # noqa: E501 + message: Optional[StrictStr] = Field(default=None, description="The upload response message from the provisioning service.") + status: Optional[StrictStr] = Field(default=None, description="The status of the request.") + transaction_id: Optional[StrictStr] = Field(default=None, description="The unique transaction identifier.", alias="transactionId") + __properties: ClassVar[List[str]] = ["message", "status", "transactionId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DirectDataUploadFileResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DirectDataUploadFileResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message"), + "status": obj.get("status"), + "transactionId": obj.get("transactionId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/disable_dv_model.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/disable_dv_model.py new file mode 100644 index 000000000..ebece5e85 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/disable_dv_model.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.data_version_object import DataVersionObject +from typing import Optional, Set +from typing_extensions import Self + +class DisableDVModel(BaseModel): + """ + DisableDVModel + """ # noqa: E501 + data_version_objects: Optional[List[DataVersionObject]] = Field(default=None, description="A list of objects representing the data version to disable for a particular analytic tenant. The limit of objects to include per request is 1000.", alias="dataVersionObjects") + __properties: ClassVar[List[str]] = ["dataVersionObjects"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DisableDVModel from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 data_version_objects (list) + _items = [] + if self.data_version_objects: + for _item in self.data_version_objects: + if _item: + _items.append(_item.to_dict()) + _dict['dataVersionObjects'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DisableDVModel from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataVersionObjects": [DataVersionObject.from_dict(_item) for _item in obj["dataVersionObjects"]] if obj.get("dataVersionObjects") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/disable_dv_request.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/disable_dv_request.py new file mode 100644 index 000000000..f3fdaf0b9 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/disable_dv_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.disable_dv_model import DisableDVModel +from typing import Optional, Set +from typing_extensions import Self + +class DisableDVRequest(BaseModel): + """ + DisableDVRequest + """ # noqa: E501 + model: Optional[DisableDVModel] = Field(default=None, description="A form body key that contains a collection of key-value pairs.") + __properties: ClassVar[List[str]] = ["model"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DisableDVRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 model + if self.model: + _dict['model'] = self.model.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DisableDVRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "model": DisableDVModel.from_dict(obj["model"]) if obj.get("model") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/disable_dv_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/disable_dv_response.py new file mode 100644 index 000000000..bbd79ad84 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/disable_dv_response.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.result import Result +from typing import Optional, Set +from typing_extensions import Self + +class DisableDVResponse(BaseModel): + """ + DisableDVResponse + """ # noqa: E501 + results: Optional[List[Result]] = Field(default=None, description="A list of objects representing the disabling process.") + total_failures: Optional[StrictInt] = Field(default=None, description="The number of data versions that failed during the disabling process.", alias="totalFailures") + total_success: Optional[StrictInt] = Field(default=None, description="The number of data versions that were disabled successfully.", alias="totalSuccess") + __properties: ClassVar[List[str]] = ["results", "totalFailures", "totalSuccess"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DisableDVResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 results (list) + _items = [] + if self.results: + for _item in self.results: + if _item: + _items.append(_item.to_dict()) + _dict['results'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DisableDVResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "results": [Result.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "totalFailures": obj.get("totalFailures"), + "totalSuccess": obj.get("totalSuccess") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/dispatching_job_status_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/dispatching_job_status_response.py new file mode 100644 index 000000000..9bccfaf6f --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/dispatching_job_status_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DispatchingJobStatusResponse(BaseModel): + """ + DispatchingJobStatusResponse + """ # noqa: E501 + job_id: Optional[StrictStr] = Field(default=None, description="The ID of the dispatching job that generated the extraction jobs.", alias="jobId") + status: Optional[StrictStr] = Field(default=None, description="The current state of the job.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant that owns the dispatching job. This is usually the administrating tenant.", alias="tenantCode") + total_jobs_dispatched: Optional[StrictInt] = Field(default=None, description="The number of extraction jobs that were generated by the dispatching job.", alias="totalJobsDispatched") + __properties: ClassVar[List[str]] = ["jobId", "status", "tenantCode", "totalJobsDispatched"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DispatchingJobStatusResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DispatchingJobStatusResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "jobId": obj.get("jobId"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode"), + "totalJobsDispatched": obj.get("totalJobsDispatched") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/exclude_data_uploads_request.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/exclude_data_uploads_request.py new file mode 100644 index 000000000..d050f322f --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/exclude_data_uploads_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.upload_to_exclude_model import UploadToExcludeModel +from typing import Optional, Set +from typing_extensions import Self + +class ExcludeDataUploadsRequest(BaseModel): + """ + ExcludeDataUploadsRequest + """ # noqa: E501 + model: Optional[UploadToExcludeModel] = Field(default=None, description="A form body key that contains a collection of key-value pairs.") + __properties: ClassVar[List[str]] = ["model"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ExcludeDataUploadsRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 model + if self.model: + _dict['model'] = self.model.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ExcludeDataUploadsRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "model": UploadToExcludeModel.from_dict(obj["model"]) if obj.get("model") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extraction_job.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extraction_job.py new file mode 100644 index 000000000..e76fc8c96 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extraction_job.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ExtractionJob(BaseModel): + """ + ExtractionJob + """ # noqa: E501 + current_stage: Optional[StrictStr] = Field(default=None, description="The current stage of the job. This is not returned if the stage is \"Completed\". - Valid values: Initialize, Retrieve Main Subject, Retrieve Secondary Subjects, Retrieve Custom Subjects, Process Records, Publish Artifacts, Publish Records, Completed.", alias="currentStage") + extraction_job_id: Optional[StrictStr] = Field(default=None, description="The ID of the extraction job.", alias="extractionJobId") + status: Optional[StrictStr] = Field(default=None, description="The current state of the job. - Valid values: Pending, Running, Succeeded, Failed, Error, Cancelling, Cancelled, RolledBack, Rescheduling, Rescheduled.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code of the analytic tenant for the extraction job.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["currentStage", "extractionJobId", "status", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ExtractionJob from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ExtractionJob from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "currentStage": obj.get("currentStage"), + "extractionJobId": obj.get("extractionJobId"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extraction_job_and_status_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extraction_job_and_status_response.py new file mode 100644 index 000000000..8e486b48a --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extraction_job_and_status_response.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.extraction_job import ExtractionJob +from typing import Optional, Set +from typing_extensions import Self + +class ExtractionJobAndStatusResponse(BaseModel): + """ + ExtractionJobAndStatusResponse + """ # noqa: E501 + extraction_jobs: Optional[List[ExtractionJob]] = Field(default=None, description="A list of extraction job information.", alias="extractionJobs") + limit: Optional[StrictInt] = Field(default=None, description="The number of extraction jobs to return. The maximum number of jobs to return is 1000.") + parent_job_id: Optional[StrictStr] = Field(default=None, description="The ID of the dispatching job that generated the extraction jobs.", alias="parentJobId") + parent_tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant that owns the dispatching job. This is usually the administrating tenant.", alias="parentTenantCode") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving results from, also known as offset. The index begins at 0.") + __properties: ClassVar[List[str]] = ["extractionJobs", "limit", "parentJobId", "parentTenantCode", "start"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ExtractionJobAndStatusResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 extraction_jobs (list) + _items = [] + if self.extraction_jobs: + for _item in self.extraction_jobs: + if _item: + _items.append(_item.to_dict()) + _dict['extractionJobs'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ExtractionJobAndStatusResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "extractionJobs": [ExtractionJob.from_dict(_item) for _item in obj["extractionJobs"]] if obj.get("extractionJobs") is not None else None, + "limit": obj.get("limit"), + "parentJobId": obj.get("parentJobId"), + "parentTenantCode": obj.get("parentTenantCode"), + "start": obj.get("start") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extractor_credential_apidto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extractor_credential_apidto.py new file mode 100644 index 000000000..19cf12b58 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extractor_credential_apidto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ExtractorCredentialAPIDTO(BaseModel): + """ + ExtractorCredentialAPIDTO + """ # noqa: E501 + auth_context: Optional[StrictStr] = Field(default=None, alias="authContext") + credential_id: Optional[StrictStr] = Field(default=None, description="The ID associated with the connector credential.", alias="credentialId") + data_provider: Optional[StrictStr] = Field(default=None, description="The data provider associated with the credential.", alias="dataProvider") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable connector credential name that is displayed within Visier.", alias="displayName") + is_inherited: Optional[StrictBool] = Field(default=None, description="Whether this credential is inherited from another tenant.", alias="isInherited") + __properties: ClassVar[List[str]] = ["authContext", "credentialId", "dataProvider", "displayName", "isInherited"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ExtractorCredentialAPIDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ExtractorCredentialAPIDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "authContext": obj.get("authContext"), + "credentialId": obj.get("credentialId"), + "dataProvider": obj.get("dataProvider"), + "displayName": obj.get("displayName"), + "isInherited": obj.get("isInherited") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extractor_credentials_apidto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extractor_credentials_apidto.py new file mode 100644 index 000000000..adec6ffb8 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/extractor_credentials_apidto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.extractor_credential_apidto import ExtractorCredentialAPIDTO +from typing import Optional, Set +from typing_extensions import Self + +class ExtractorCredentialsAPIDTO(BaseModel): + """ + ExtractorCredentialsAPIDTO + """ # noqa: E501 + connector_credentials: Optional[List[ExtractorCredentialAPIDTO]] = Field(default=None, description="A list of objects representing all the available connector credentials in Production.", alias="connectorCredentials") + limit: Optional[StrictInt] = Field(default=None, description="The number of connector credentials to return. The maximum number of data connector credentials to return is 1000.") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving values from, also known as offset. The index begins at 0.") + __properties: ClassVar[List[str]] = ["connectorCredentials", "limit", "start"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ExtractorCredentialsAPIDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 connector_credentials (list) + _items = [] + if self.connector_credentials: + for _item in self.connector_credentials: + if _item: + _items.append(_item.to_dict()) + _dict['connectorCredentials'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ExtractorCredentialsAPIDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "connectorCredentials": [ExtractorCredentialAPIDTO.from_dict(_item) for _item in obj["connectorCredentials"]] if obj.get("connectorCredentials") is not None else None, + "limit": obj.get("limit"), + "start": obj.get("start") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/fusion_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/fusion_auth_params_dto.py new file mode 100644 index 000000000..77a314ce5 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/fusion_auth_params_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 FusionAuthParamsDTO(BaseModel): + """ + FusionAuthParamsDTO + """ # noqa: E501 + host_domain_name: Optional[StrictStr] = Field(default=None, alias="hostDomainName") + password: Optional[StrictStr] = None + username: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["hostDomainName", "password", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FusionAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 FusionAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "hostDomainName": obj.get("hostDomainName"), + "password": obj.get("password"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/gong_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/gong_auth_params_dto.py new file mode 100644 index 000000000..952abc834 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/gong_auth_params_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 GongAuthParamsDTO(BaseModel): + """ + GongAuthParamsDTO + """ # noqa: E501 + client_id: Optional[StrictStr] = Field(default=None, alias="clientId") + client_secret: Optional[StrictStr] = Field(default=None, alias="clientSecret") + __properties: ClassVar[List[str]] = ["clientId", "clientSecret"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GongAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 GongAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "clientId": obj.get("clientId"), + "clientSecret": obj.get("clientSecret") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/google_protobuf_any.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/google_protobuf_any.py new file mode 100644 index 000000000..64f273138 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/google_protobuf_any.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 GoogleProtobufAny(BaseModel): + """ + Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, description="The type of the serialized message.", alias="@type") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["@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 GoogleProtobufAny from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GoogleProtobufAny 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") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/google_sheets_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/google_sheets_auth_params_dto.py new file mode 100644 index 000000000..e965ef96b --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/google_sheets_auth_params_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 GoogleSheetsAuthParamsDTO(BaseModel): + """ + GoogleSheetsAuthParamsDTO + """ # noqa: E501 + auth_code: Optional[StrictStr] = Field(default=None, alias="authCode") + client_id: Optional[StrictStr] = Field(default=None, alias="clientId") + client_secret: Optional[StrictStr] = Field(default=None, alias="clientSecret") + configuration: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["authCode", "clientId", "clientSecret", "configuration"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GoogleSheetsAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 GoogleSheetsAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "authCode": obj.get("authCode"), + "clientId": obj.get("clientId"), + "clientSecret": obj.get("clientSecret"), + "configuration": obj.get("configuration") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/google_workspace_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/google_workspace_auth_params_dto.py new file mode 100644 index 000000000..1d41efec5 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/google_workspace_auth_params_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 GoogleWorkspaceAuthParamsDTO(BaseModel): + """ + GoogleWorkspaceAuthParamsDTO + """ # noqa: E501 + auth_code: Optional[StrictStr] = Field(default=None, alias="authCode") + client_id: Optional[StrictStr] = Field(default=None, alias="clientId") + client_secret: Optional[StrictStr] = Field(default=None, alias="clientSecret") + __properties: ClassVar[List[str]] = ["authCode", "clientId", "clientSecret"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GoogleWorkspaceAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 GoogleWorkspaceAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "authCode": obj.get("authCode"), + "clientId": obj.get("clientId"), + "clientSecret": obj.get("clientSecret") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/greenhouse_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/greenhouse_auth_params_dto.py new file mode 100644 index 000000000..bcecee1cd --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/greenhouse_auth_params_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 GreenhouseAuthParamsDTO(BaseModel): + """ + GreenhouseAuthParamsDTO + """ # noqa: E501 + api_key: Optional[StrictStr] = Field(default=None, alias="apiKey") + __properties: ClassVar[List[str]] = ["apiKey"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GreenhouseAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 GreenhouseAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apiKey": obj.get("apiKey") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/icims_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/icims_auth_params_dto.py new file mode 100644 index 000000000..9fb1a45bb --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/icims_auth_params_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 IcimsAuthParamsDTO(BaseModel): + """ + IcimsAuthParamsDTO + """ # noqa: E501 + customer_id: Optional[StrictStr] = Field(default=None, alias="customerId") + password: Optional[StrictStr] = None + username: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["customerId", "password", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of IcimsAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 IcimsAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "customerId": obj.get("customerId"), + "password": obj.get("password"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/import_definition_apidto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/import_definition_apidto.py new file mode 100644 index 000000000..4bf956cbe --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/import_definition_apidto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ImportDefinitionAPIDTO(BaseModel): + """ + ImportDefinitionAPIDTO + """ # noqa: E501 + connector_id: Optional[StrictStr] = Field(default=None, description="The ID associated with the data connector.", alias="connectorId") + credential_id: Optional[StrictStr] = Field(default=None, description="The ID associated with the connector credentials currently assigned to this data connector.", alias="credentialId") + display_name: Optional[StrictStr] = Field(default=None, description="An identifiable data connector name that is displayed within Visier.", alias="displayName") + __properties: ClassVar[List[str]] = ["connectorId", "credentialId", "displayName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ImportDefinitionAPIDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ImportDefinitionAPIDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "connectorId": obj.get("connectorId"), + "credentialId": obj.get("credentialId"), + "displayName": obj.get("displayName") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/import_definitions_apidto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/import_definitions_apidto.py new file mode 100644 index 000000000..3ad794eac --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/import_definitions_apidto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.import_definition_apidto import ImportDefinitionAPIDTO +from typing import Optional, Set +from typing_extensions import Self + +class ImportDefinitionsAPIDTO(BaseModel): + """ + ImportDefinitionsAPIDTO + """ # noqa: E501 + data_connectors: Optional[List[ImportDefinitionAPIDTO]] = Field(default=None, description="A list of objects representing all the available data connectors in Production.", alias="dataConnectors") + limit: Optional[StrictInt] = Field(default=None, description="The number of data connectors to return. The maximum number of data connectors to return is 1000.") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving values from, also known as offset. The index begins at 0.") + __properties: ClassVar[List[str]] = ["dataConnectors", "limit", "start"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ImportDefinitionsAPIDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 data_connectors (list) + _items = [] + if self.data_connectors: + for _item in self.data_connectors: + if _item: + _items.append(_item.to_dict()) + _dict['dataConnectors'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ImportDefinitionsAPIDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataConnectors": [ImportDefinitionAPIDTO.from_dict(_item) for _item in obj["dataConnectors"]] if obj.get("dataConnectors") is not None else None, + "limit": obj.get("limit"), + "start": obj.get("start") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/include_data_uploads_request.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/include_data_uploads_request.py new file mode 100644 index 000000000..ef6d9966c --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/include_data_uploads_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.upload_to_include_model import UploadToIncludeModel +from typing import Optional, Set +from typing_extensions import Self + +class IncludeDataUploadsRequest(BaseModel): + """ + IncludeDataUploadsRequest + """ # noqa: E501 + model: Optional[UploadToIncludeModel] = Field(default=None, description="A form body key that contains a collection of key-value pairs.") + __properties: ClassVar[List[str]] = ["model"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of IncludeDataUploadsRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 model + if self.model: + _dict['model'] = self.model.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of IncludeDataUploadsRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "model": UploadToIncludeModel.from_dict(obj["model"]) if obj.get("model") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/internal_s3_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/internal_s3_auth_params_dto.py new file mode 100644 index 000000000..caccdfad7 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/internal_s3_auth_params_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 InternalS3AuthParamsDTO(BaseModel): + """ + InternalS3AuthParamsDTO + """ # noqa: E501 + bucket_name: Optional[StrictStr] = Field(default=None, alias="bucketName") + path: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["bucketName", "path"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InternalS3AuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 InternalS3AuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "bucketName": obj.get("bucketName"), + "path": obj.get("path") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/jdbc_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/jdbc_auth_params_dto.py new file mode 100644 index 000000000..b206bb47a --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/jdbc_auth_params_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 JdbcAuthParamsDTO(BaseModel): + """ + JdbcAuthParamsDTO + """ # noqa: E501 + jdbc_connect_string: Optional[StrictStr] = Field(default=None, alias="jdbcConnectString") + password: Optional[StrictStr] = None + username: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["jdbcConnectString", "password", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of JdbcAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 JdbcAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "jdbcConnectString": obj.get("jdbcConnectString"), + "password": obj.get("password"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/jira_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/jira_auth_params_dto.py new file mode 100644 index 000000000..35a81b9a2 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/jira_auth_params_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.jira_connect_params_dto import JiraConnectParamsDTO +from typing import Optional, Set +from typing_extensions import Self + +class JiraAuthParamsDTO(BaseModel): + """ + JiraAuthParamsDTO + """ # noqa: E501 + api_token: Optional[StrictStr] = Field(default=None, alias="apiToken") + connect_params: Optional[JiraConnectParamsDTO] = Field(default=None, alias="connectParams") + host_name: Optional[StrictStr] = Field(default=None, alias="hostName") + __properties: ClassVar[List[str]] = ["apiToken", "connectParams", "hostName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of JiraAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 connect_params + if self.connect_params: + _dict['connectParams'] = self.connect_params.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of JiraAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apiToken": obj.get("apiToken"), + "connectParams": JiraConnectParamsDTO.from_dict(obj["connectParams"]) if obj.get("connectParams") is not None else None, + "hostName": obj.get("hostName") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/jira_connect_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/jira_connect_params_dto.py new file mode 100644 index 000000000..b04c6fec2 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/jira_connect_params_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 JiraConnectParamsDTO(BaseModel): + """ + JiraConnectParamsDTO + """ # noqa: E501 + app_key: Optional[StrictStr] = Field(default=None, alias="appKey") + client_key: Optional[StrictStr] = Field(default=None, alias="clientKey") + shared_secret: Optional[StrictStr] = Field(default=None, alias="sharedSecret") + __properties: ClassVar[List[str]] = ["appKey", "clientKey", "sharedSecret"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of JiraConnectParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 JiraConnectParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "appKey": obj.get("appKey"), + "clientKey": obj.get("clientKey"), + "sharedSecret": obj.get("sharedSecret") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_cancellation_result_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_cancellation_result_dto.py new file mode 100644 index 000000000..9cd38c91b --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_cancellation_result_dto.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 JobCancellationResultDTO(BaseModel): + """ + JobCancellationResultDTO + """ # noqa: E501 + cancel_status: Optional[StrictStr] = Field(default=None, description="The status of the cancellation.", alias="cancelStatus") + job_id: Optional[StrictStr] = Field(default=None, description="The job ID of the job that the cancel operation was conducted for.", alias="jobId") + job_status: Optional[StrictStr] = Field(default=None, description="The job status after the cancel operation. If successful, the status is either Cancelled or Cancelling.", alias="jobStatus") + job_type: Optional[StrictStr] = Field(default=None, description="The job type associated with the job ID.", alias="jobType") + message: Optional[StrictStr] = Field(default=None, description="If applicable, the message explains what errors occurred while cancelling the jobs.") + parent_job_id: Optional[StrictStr] = Field(default=None, description="If applicable, the job ID of the job that spawned the given job.", alias="parentJobId") + tenant_code: Optional[StrictStr] = Field(default=None, description="The analytic tenant whose job the cancel operation was conducted for.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["cancelStatus", "jobId", "jobStatus", "jobType", "message", "parentJobId", "tenantCode"] + + @field_validator('cancel_status') + def cancel_status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['CANCEL_FAILED', 'CANCEL_SUCCEEDED']): + raise ValueError("must be one of enum values ('CANCEL_FAILED', 'CANCEL_SUCCEEDED')") + 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 JobCancellationResultDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 JobCancellationResultDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "cancelStatus": obj.get("cancelStatus"), + "jobId": obj.get("jobId"), + "jobStatus": obj.get("jobStatus"), + "jobType": obj.get("jobType"), + "message": obj.get("message"), + "parentJobId": obj.get("parentJobId"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_cancellation_results_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_cancellation_results_dto.py new file mode 100644 index 000000000..a7a8ec420 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_cancellation_results_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.job_cancellation_result_dto import JobCancellationResultDTO +from typing import Optional, Set +from typing_extensions import Self + +class JobCancellationResultsDTO(BaseModel): + """ + JobCancellationResultsDTO + """ # noqa: E501 + job_cancellation_results: Optional[List[JobCancellationResultDTO]] = Field(default=None, description="A list of objects representing the job cancellation results.", alias="jobCancellationResults") + __properties: ClassVar[List[str]] = ["jobCancellationResults"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of JobCancellationResultsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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_cancellation_results (list) + _items = [] + if self.job_cancellation_results: + for _item in self.job_cancellation_results: + if _item: + _items.append(_item.to_dict()) + _dict['jobCancellationResults'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of JobCancellationResultsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "jobCancellationResults": [JobCancellationResultDTO.from_dict(_item) for _item in obj["jobCancellationResults"]] if obj.get("jobCancellationResults") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_status_list_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_status_list_response.py new file mode 100644 index 000000000..b69a30848 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_status_list_response.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.job_status_with_start_time import JobStatusWithStartTime +from typing import Optional, Set +from typing_extensions import Self + +class JobStatusListResponse(BaseModel): + """ + JobStatusListResponse + """ # noqa: E501 + job_status: Optional[List[JobStatusWithStartTime]] = Field(default=None, description="The specific status to restrict the list of jobs to.", alias="jobStatus") + query_end_time: Optional[StrictStr] = Field(default=None, description="The end time from which to retrieve job statuses.", alias="queryEndTime") + query_start_time: Optional[StrictStr] = Field(default=None, description="The start time from which to retrieve job statuses.", alias="queryStartTime") + __properties: ClassVar[List[str]] = ["jobStatus", "queryEndTime", "queryStartTime"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of JobStatusListResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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_status (list) + _items = [] + if self.job_status: + for _item in self.job_status: + if _item: + _items.append(_item.to_dict()) + _dict['jobStatus'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of JobStatusListResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "jobStatus": [JobStatusWithStartTime.from_dict(_item) for _item in obj["jobStatus"]] if obj.get("jobStatus") is not None else None, + "queryEndTime": obj.get("queryEndTime"), + "queryStartTime": obj.get("queryStartTime") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_status_with_start_time.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_status_with_start_time.py new file mode 100644 index 000000000..eda276dda --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/job_status_with_start_time.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 JobStatusWithStartTime(BaseModel): + """ + JobStatusWithStartTime + """ # noqa: E501 + job_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the job.", alias="jobId") + job_type: Optional[StrictStr] = Field(default=None, description="The type of the job, such as a processing job or receiving job.", alias="jobType") + start_time: Optional[StrictStr] = Field(default=None, description="The time that the job started.", alias="startTime") + status: Optional[StrictStr] = Field(default=None, description="The status of the job, such as Running or Completed.") + tenant: Optional[StrictStr] = Field(default=None, description="The tenant code.") + __properties: ClassVar[List[str]] = ["jobId", "jobType", "startTime", "status", "tenant"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of JobStatusWithStartTime from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 JobStatusWithStartTime from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "jobId": obj.get("jobId"), + "jobType": obj.get("jobType"), + "startTime": obj.get("startTime"), + "status": obj.get("status"), + "tenant": obj.get("tenant") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/lever_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/lever_auth_params_dto.py new file mode 100644 index 000000000..381f64e80 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/lever_auth_params_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 LeverAuthParamsDTO(BaseModel): + """ + LeverAuthParamsDTO + """ # noqa: E501 + api_key: Optional[StrictStr] = Field(default=None, alias="apiKey") + __properties: ClassVar[List[str]] = ["apiKey"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LeverAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 LeverAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apiKey": obj.get("apiKey") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/medallia_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/medallia_auth_params_dto.py new file mode 100644 index 000000000..1baf8aaeb --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/medallia_auth_params_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 MedalliaAuthParamsDTO(BaseModel): + """ + MedalliaAuthParamsDTO + """ # noqa: E501 + client_id: Optional[StrictStr] = Field(default=None, alias="clientId") + client_secret: Optional[StrictStr] = Field(default=None, alias="clientSecret") + instance_url: Optional[StrictStr] = Field(default=None, alias="instanceUrl") + tenant_domain_name: Optional[StrictStr] = Field(default=None, alias="tenantDomainName") + __properties: ClassVar[List[str]] = ["clientId", "clientSecret", "instanceUrl", "tenantDomainName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MedalliaAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 MedalliaAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "clientId": obj.get("clientId"), + "clientSecret": obj.get("clientSecret"), + "instanceUrl": obj.get("instanceUrl"), + "tenantDomainName": obj.get("tenantDomainName") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/microsoft365_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/microsoft365_auth_params_dto.py new file mode 100644 index 000000000..5eb4701b0 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/microsoft365_auth_params_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 Microsoft365AuthParamsDTO(BaseModel): + """ + Microsoft365AuthParamsDTO + """ # noqa: E501 + client_id: Optional[StrictStr] = Field(default=None, alias="clientId") + client_secret: Optional[StrictStr] = Field(default=None, alias="clientSecret") + o_auth_tenant_id: Optional[StrictStr] = Field(default=None, alias="oAuthTenantId") + __properties: ClassVar[List[str]] = ["clientId", "clientSecret", "oAuthTenantId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Microsoft365AuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 Microsoft365AuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "clientId": obj.get("clientId"), + "clientSecret": obj.get("clientSecret"), + "oAuthTenantId": obj.get("oAuthTenantId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/multiple_tenant_data_versions_details_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/multiple_tenant_data_versions_details_dto.py new file mode 100644 index 000000000..4785e0b43 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/multiple_tenant_data_versions_details_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.data_version_and_date_dto import DataVersionAndDateDTO +from typing import Optional, Set +from typing_extensions import Self + +class MultipleTenantDataVersionsDetailsDTO(BaseModel): + """ + MultipleTenantDataVersionsDetailsDTO + """ # noqa: E501 + data_versions: Optional[List[DataVersionAndDateDTO]] = Field(default=None, description="The latest enabled data versions for the given analytic tenant. If the analytic tenant has no enabled data versions, an empty string \"\" is returned.", alias="dataVersions") + tenant_code: Optional[StrictStr] = Field(default=None, description="The owner of the data versions.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["dataVersions", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MultipleTenantDataVersionsDetailsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 data_versions (list) + _items = [] + if self.data_versions: + for _item in self.data_versions: + if _item: + _items.append(_item.to_dict()) + _dict['dataVersions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MultipleTenantDataVersionsDetailsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataVersions": [DataVersionAndDateDTO.from_dict(_item) for _item in obj["dataVersions"]] if obj.get("dataVersions") is not None else None, + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/multiple_tenant_data_versions_list_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/multiple_tenant_data_versions_list_dto.py new file mode 100644 index 000000000..c2ea2d79e --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/multiple_tenant_data_versions_list_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.multiple_tenant_data_versions_details_dto import MultipleTenantDataVersionsDetailsDTO +from typing import Optional, Set +from typing_extensions import Self + +class MultipleTenantDataVersionsListDTO(BaseModel): + """ + MultipleTenantDataVersionsListDTO + """ # noqa: E501 + limit: Optional[StrictInt] = Field(default=None, description="The number of analytic tenants to retrieve. The maximum number to retrieve is 1000.") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving results from, also known as offset. The index begins at 0.") + tenants: Optional[List[MultipleTenantDataVersionsDetailsDTO]] = Field(default=None, description="A list of analytic tenants and their latest enabled data versions.") + __properties: ClassVar[List[str]] = ["limit", "start", "tenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MultipleTenantDataVersionsListDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tenants (list) + _items = [] + if self.tenants: + for _item in self.tenants: + if _item: + _items.append(_item.to_dict()) + _dict['tenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MultipleTenantDataVersionsListDTO 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"), + "start": obj.get("start"), + "tenants": [MultipleTenantDataVersionsDetailsDTO.from_dict(_item) for _item in obj["tenants"]] if obj.get("tenants") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/my_sql_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/my_sql_auth_params_dto.py new file mode 100644 index 000000000..44fec9916 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/my_sql_auth_params_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 MySqlAuthParamsDTO(BaseModel): + """ + MySqlAuthParamsDTO + """ # noqa: E501 + database: Optional[StrictStr] = None + host: Optional[StrictStr] = None + password: Optional[StrictStr] = None + port: Optional[StrictStr] = None + ssl_mode: Optional[StrictStr] = Field(default=None, alias="sslMode") + username: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["database", "host", "password", "port", "sslMode", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MySqlAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 MySqlAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "database": obj.get("database"), + "host": obj.get("host"), + "password": obj.get("password"), + "port": obj.get("port"), + "sslMode": obj.get("sslMode"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/namely_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/namely_auth_params_dto.py new file mode 100644 index 000000000..cc7b64c1b --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/namely_auth_params_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 NamelyAuthParamsDTO(BaseModel): + """ + NamelyAuthParamsDTO + """ # noqa: E501 + auth_code: Optional[StrictStr] = Field(default=None, alias="authCode") + __properties: ClassVar[List[str]] = ["authCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NamelyAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 NamelyAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "authCode": obj.get("authCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/oracle_db_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/oracle_db_auth_params_dto.py new file mode 100644 index 000000000..b281486fe --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/oracle_db_auth_params_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 OracleDbAuthParamsDTO(BaseModel): + """ + OracleDbAuthParamsDTO + """ # noqa: E501 + host: Optional[StrictStr] = None + password: Optional[StrictStr] = None + port: Optional[StrictStr] = None + service_name: Optional[StrictStr] = Field(default=None, alias="serviceName") + username: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["host", "password", "port", "serviceName", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of OracleDbAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 OracleDbAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "host": obj.get("host"), + "password": obj.get("password"), + "port": obj.get("port"), + "serviceName": obj.get("serviceName"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/processing_job.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/processing_job.py new file mode 100644 index 000000000..898ef0518 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/processing_job.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ProcessingJob(BaseModel): + """ + ProcessingJob + """ # noqa: E501 + data_version: Optional[StrictStr] = Field(default=None, description="The data version associated with the processing job.", alias="dataVersion") + job_id: Optional[StrictStr] = Field(default=None, description="The job ID of the processing job for the analytic tenant.", alias="jobId") + message: Optional[StrictStr] = Field(default=None, description="A meaningful message about the processing job.") + status: Optional[StrictStr] = Field(default=None, description="The status of the receiving job for the analytic tenant.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The analytic tenant code.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["dataVersion", "jobId", "message", "status", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProcessingJob from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ProcessingJob from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataVersion": obj.get("dataVersion"), + "jobId": obj.get("jobId"), + "message": obj.get("message"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/processing_job_and_status_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/processing_job_and_status_response.py new file mode 100644 index 000000000..51c65e443 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/processing_job_and_status_response.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.processing_job import ProcessingJob +from typing import Optional, Set +from typing_extensions import Self + +class ProcessingJobAndStatusResponse(BaseModel): + """ + ProcessingJobAndStatusResponse + """ # noqa: E501 + limit: Optional[StrictInt] = Field(default=None, description="The number of processing jobs to return. The maximum number of jobs to return is 1000.") + parent_job_id: Optional[StrictStr] = Field(default=None, description="The ID of the dispatching job that generated the extraction jobs.", alias="parentJobId") + parent_tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant that owns the dispatching job. This is usually the administrating tenant.", alias="parentTenantCode") + processing_jobs: Optional[List[ProcessingJob]] = Field(default=None, description="A list of processing job information.", alias="processingJobs") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving results from, also known as offset. The index begins at 0.") + __properties: ClassVar[List[str]] = ["limit", "parentJobId", "parentTenantCode", "processingJobs", "start"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProcessingJobAndStatusResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 processing_jobs (list) + _items = [] + if self.processing_jobs: + for _item in self.processing_jobs: + if _item: + _items.append(_item.to_dict()) + _dict['processingJobs'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProcessingJobAndStatusResponse 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"), + "parentJobId": obj.get("parentJobId"), + "parentTenantCode": obj.get("parentTenantCode"), + "processingJobs": [ProcessingJob.from_dict(_item) for _item in obj["processingJobs"]] if obj.get("processingJobs") is not None else None, + "start": obj.get("start") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/processing_job_status_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/processing_job_status_response.py new file mode 100644 index 000000000..6987d5f92 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/processing_job_status_response.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.processing_job import ProcessingJob +from typing import Optional, Set +from typing_extensions import Self + +class ProcessingJobStatusResponse(BaseModel): + """ + ProcessingJobStatusResponse + """ # noqa: E501 + limit: Optional[StrictInt] = Field(default=None, description="The limit of processing jobs to retrieve per page.") + parent_job_id: Optional[StrictStr] = Field(default=None, description="The job ID of the receiving job that spawned this job.", alias="parentJobId") + parent_tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code of the receiving job that spawned this job.", alias="parentTenantCode") + processing_jobs: Optional[List[ProcessingJob]] = Field(default=None, description="A list of objects representing the processing jobs to retrieve.", alias="processingJobs") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving results from, also known as offset. The index begins at 0.") + __properties: ClassVar[List[str]] = ["limit", "parentJobId", "parentTenantCode", "processingJobs", "start"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProcessingJobStatusResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 processing_jobs (list) + _items = [] + if self.processing_jobs: + for _item in self.processing_jobs: + if _item: + _items.append(_item.to_dict()) + _dict['processingJobs'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProcessingJobStatusResponse 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"), + "parentJobId": obj.get("parentJobId"), + "parentTenantCode": obj.get("parentTenantCode"), + "processingJobs": [ProcessingJob.from_dict(_item) for _item in obj["processingJobs"]] if obj.get("processingJobs") is not None else None, + "start": obj.get("start") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_cancel_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_cancel_response.py new file mode 100644 index 000000000..9fba82024 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_cancel_response.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.data_transfer_result_detail import DataTransferResultDetail +from typing import Optional, Set +from typing_extensions import Self + +class PushDataCancelResponse(BaseModel): + """ + PushDataCancelResponse + """ # noqa: E501 + data_transfer_result_details: Optional[List[DataTransferResultDetail]] = Field(default=None, description="A list of objects representing the results of the transfer session.", alias="dataTransferResultDetails") + message: Optional[StrictStr] = Field(default=None, description="A meaningful message about the transfer session.") + status: Optional[StrictStr] = Field(default=None, description="The status of the transfer session. A cancelled session returns the status CANCELLED.") + transfer_session_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the transfer session.", alias="transferSessionId") + __properties: ClassVar[List[str]] = ["dataTransferResultDetails", "message", "status", "transferSessionId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PushDataCancelResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 data_transfer_result_details (list) + _items = [] + if self.data_transfer_result_details: + for _item in self.data_transfer_result_details: + if _item: + _items.append(_item.to_dict()) + _dict['dataTransferResultDetails'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PushDataCancelResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataTransferResultDetails": [DataTransferResultDetail.from_dict(_item) for _item in obj["dataTransferResultDetails"]] if obj.get("dataTransferResultDetails") is not None else None, + "message": obj.get("message"), + "status": obj.get("status"), + "transferSessionId": obj.get("transferSessionId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_column_definition_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_column_definition_dto.py new file mode 100644 index 000000000..2134d1ca3 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_column_definition_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PushDataColumnDefinitionDTO(BaseModel): + """ + Definition of the source column. + """ # noqa: E501 + allow_empty: Optional[StrictBool] = Field(default=None, description="If true, the column allows an empty value for the record.", alias="allowEmpty") + column_name: Optional[StrictStr] = Field(default=None, description="The name of the column.", alias="columnName") + data_formats: Optional[List[StrictStr]] = Field(default=None, description="The expected format for datetime data types.", alias="dataFormats") + data_type: Optional[StrictStr] = Field(default=None, description="The data type associated with the column.", alias="dataType") + default_value: Optional[StrictStr] = Field(default=None, description="The default value of the column.", alias="defaultValue") + is_mandatory: Optional[StrictBool] = Field(default=None, description="If true, the column value is required. If a column is mandatory, and the file is missing this column, the request will fail.", alias="isMandatory") + __properties: ClassVar[List[str]] = ["allowEmpty", "columnName", "dataFormats", "dataType", "defaultValue", "isMandatory"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PushDataColumnDefinitionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PushDataColumnDefinitionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "allowEmpty": obj.get("allowEmpty"), + "columnName": obj.get("columnName"), + "dataFormats": obj.get("dataFormats"), + "dataType": obj.get("dataType"), + "defaultValue": obj.get("defaultValue"), + "isMandatory": obj.get("isMandatory") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_complete_request.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_complete_request.py new file mode 100644 index 000000000..85f765571 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_complete_request.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PushDataCompleteRequest(BaseModel): + """ + PushDataCompleteRequest + """ # noqa: E501 + processing_data: Optional[StrictBool] = Field(default=None, description="If `true`, a processing job will be triggered after the receiving job successfully completes. This generates a new data version.", alias="processingData") + transfer_session_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the transfer session.", alias="transferSessionId") + __properties: ClassVar[List[str]] = ["processingData", "transferSessionId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PushDataCompleteRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PushDataCompleteRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "processingData": obj.get("processingData"), + "transferSessionId": obj.get("transferSessionId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_complete_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_complete_response.py new file mode 100644 index 000000000..4aaa07f2d --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_complete_response.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.data_transfer_result_detail import DataTransferResultDetail +from typing import Optional, Set +from typing_extensions import Self + +class PushDataCompleteResponse(BaseModel): + """ + PushDataCompleteResponse + """ # noqa: E501 + data_receiving_job_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the receiving job.", alias="dataReceivingJobId") + data_transfer_result_details: Optional[List[DataTransferResultDetail]] = Field(default=None, description="A list of objects representing the results of the transfer session.", alias="dataTransferResultDetails") + message: Optional[StrictStr] = Field(default=None, description="A meaningful message about the transfer session.") + status: Optional[StrictStr] = Field(default=None, description="The status of the transfer session. A completed session returns the status SUCCEED.") + transfer_session_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the transfer session.", alias="transferSessionId") + __properties: ClassVar[List[str]] = ["dataReceivingJobId", "dataTransferResultDetails", "message", "status", "transferSessionId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PushDataCompleteResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 data_transfer_result_details (list) + _items = [] + if self.data_transfer_result_details: + for _item in self.data_transfer_result_details: + if _item: + _items.append(_item.to_dict()) + _dict['dataTransferResultDetails'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PushDataCompleteResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataReceivingJobId": obj.get("dataReceivingJobId"), + "dataTransferResultDetails": [DataTransferResultDetail.from_dict(_item) for _item in obj["dataTransferResultDetails"]] if obj.get("dataTransferResultDetails") is not None else None, + "message": obj.get("message"), + "status": obj.get("status"), + "transferSessionId": obj.get("transferSessionId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_response.py new file mode 100644 index 000000000..f2554e180 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_response.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.tenant import Tenant +from typing import Optional, Set +from typing_extensions import Self + +class PushDataResponse(BaseModel): + """ + PushDataResponse + """ # noqa: E501 + message: Optional[StrictStr] = Field(default=None, description="Any additional information about the data transfer.") + sequence: Optional[StrictInt] = Field(default=None, description="The unique sequence number associated with a batch of records.") + status: Optional[StrictStr] = Field(default=None, description="The status of the data transfer.") + tenants: Optional[List[Tenant]] = Field(default=None, description="A list of strings representing the tenants that data was pushed to and their data transfer results.") + transfer_session_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the transfer session.", alias="transferSessionId") + __properties: ClassVar[List[str]] = ["message", "sequence", "status", "tenants", "transferSessionId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PushDataResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tenants (list) + _items = [] + if self.tenants: + for _item in self.tenants: + if _item: + _items.append(_item.to_dict()) + _dict['tenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PushDataResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message"), + "sequence": obj.get("sequence"), + "status": obj.get("status"), + "tenants": [Tenant.from_dict(_item) for _item in obj["tenants"]] if obj.get("tenants") is not None else None, + "transferSessionId": obj.get("transferSessionId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_source_definition_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_source_definition_dto.py new file mode 100644 index 000000000..01abbda4f --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_source_definition_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.push_data_column_definition_dto import PushDataColumnDefinitionDTO +from typing import Optional, Set +from typing_extensions import Self + +class PushDataSourceDefinitionDTO(BaseModel): + """ + Details of each existing source. + """ # noqa: E501 + columns: Optional[List[PushDataColumnDefinitionDTO]] = Field(default=None, description="A list of objects representing the source columns.") + is_inherited: Optional[StrictBool] = Field(default=None, description="If true, the source is inherited by all analytic tenants.", alias="isInherited") + name: Optional[StrictStr] = Field(default=None, description="The object name of the source.") + source_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the source.", alias="sourceId") + __properties: ClassVar[List[str]] = ["columns", "isInherited", "name", "sourceId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PushDataSourceDefinitionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 columns (list) + _items = [] + if self.columns: + for _item in self.columns: + if _item: + _items.append(_item.to_dict()) + _dict['columns'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PushDataSourceDefinitionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "columns": [PushDataColumnDefinitionDTO.from_dict(_item) for _item in obj["columns"]] if obj.get("columns") is not None else None, + "isInherited": obj.get("isInherited"), + "name": obj.get("name"), + "sourceId": obj.get("sourceId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_source_definitions_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_source_definitions_dto.py new file mode 100644 index 000000000..056c26799 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/push_data_source_definitions_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.push_data_source_definition_dto import PushDataSourceDefinitionDTO +from typing import Optional, Set +from typing_extensions import Self + +class PushDataSourceDefinitionsDTO(BaseModel): + """ + The existing sources. + """ # noqa: E501 + sources: Optional[List[PushDataSourceDefinitionDTO]] = Field(default=None, description="A list of objects representing the target sources for the request.") + __properties: ClassVar[List[str]] = ["sources"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PushDataSourceDefinitionsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 sources (list) + _items = [] + if self.sources: + for _item in self.sources: + if _item: + _items.append(_item.to_dict()) + _dict['sources'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PushDataSourceDefinitionsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "sources": [PushDataSourceDefinitionDTO.from_dict(_item) for _item in obj["sources"]] if obj.get("sources") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/qualtrics_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/qualtrics_auth_params_dto.py new file mode 100644 index 000000000..cebf7e332 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/qualtrics_auth_params_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 QualtricsAuthParamsDTO(BaseModel): + """ + QualtricsAuthParamsDTO + """ # noqa: E501 + api_token: Optional[StrictStr] = Field(default=None, alias="apiToken") + data_center_id: Optional[StrictStr] = Field(default=None, alias="dataCenterId") + __properties: ClassVar[List[str]] = ["apiToken", "dataCenterId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QualtricsAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 QualtricsAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apiToken": obj.get("apiToken"), + "dataCenterId": obj.get("dataCenterId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/receiving_job.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/receiving_job.py new file mode 100644 index 000000000..c626fa98b --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/receiving_job.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ReceivingJob(BaseModel): + """ + ReceivingJob + """ # noqa: E501 + receiving_job_id: Optional[StrictStr] = Field(default=None, description="The job ID of the receiving job for the analytic tenant.", alias="receivingJobId") + status: Optional[StrictStr] = Field(default=None, description="The status of the receiving job for the analytic tenant.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The analytic tenant code.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["receivingJobId", "status", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ReceivingJob from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ReceivingJob from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "receivingJobId": obj.get("receivingJobId"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/receiving_job_and_status_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/receiving_job_and_status_response.py new file mode 100644 index 000000000..ca98ee970 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/receiving_job_and_status_response.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.receiving_job import ReceivingJob +from typing import Optional, Set +from typing_extensions import Self + +class ReceivingJobAndStatusResponse(BaseModel): + """ + ReceivingJobAndStatusResponse + """ # noqa: E501 + limit: Optional[StrictInt] = Field(default=None, description="The number of receiving jobs to return. The maximum number of jobs to return is 1000.") + parent_job_id: Optional[StrictStr] = Field(default=None, description="The ID of the dispatching job that generated the extraction jobs.", alias="parentJobId") + parent_tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant that owns the dispatching job. This is usually the administrating tenant.", alias="parentTenantCode") + receiving_jobs: Optional[List[ReceivingJob]] = Field(default=None, description="A list of receiving job information.", alias="receivingJobs") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving results from, also known as offset. The index begins at 0.") + __properties: ClassVar[List[str]] = ["limit", "parentJobId", "parentTenantCode", "receivingJobs", "start"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ReceivingJobAndStatusResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 receiving_jobs (list) + _items = [] + if self.receiving_jobs: + for _item in self.receiving_jobs: + if _item: + _items.append(_item.to_dict()) + _dict['receivingJobs'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ReceivingJobAndStatusResponse 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"), + "parentJobId": obj.get("parentJobId"), + "parentTenantCode": obj.get("parentTenantCode"), + "receivingJobs": [ReceivingJob.from_dict(_item) for _item in obj["receivingJobs"]] if obj.get("receivingJobs") is not None else None, + "start": obj.get("start") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/receiving_job_status_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/receiving_job_status_response.py new file mode 100644 index 000000000..8f066af85 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/receiving_job_status_response.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.receiving_job import ReceivingJob +from typing import Optional, Set +from typing_extensions import Self + +class ReceivingJobStatusResponse(BaseModel): + """ + ReceivingJobStatusResponse + """ # noqa: E501 + job_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the receiving job.", alias="jobId") + parent_job_id: Optional[StrictStr] = Field(default=None, description="The job ID of the receiving job that spawned this job.", alias="parentJobId") + parent_tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code of the receiving job that spawned this job.", alias="parentTenantCode") + receiving_jobs: Optional[List[ReceivingJob]] = Field(default=None, description="A list of objects representing the receiving jobs to retrieve.", alias="receivingJobs") + status: Optional[StrictStr] = Field(default=None, description="The status of the receiving job.") + __properties: ClassVar[List[str]] = ["jobId", "parentJobId", "parentTenantCode", "receivingJobs", "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 ReceivingJobStatusResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 receiving_jobs (list) + _items = [] + if self.receiving_jobs: + for _item in self.receiving_jobs: + if _item: + _items.append(_item.to_dict()) + _dict['receivingJobs'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ReceivingJobStatusResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "jobId": obj.get("jobId"), + "parentJobId": obj.get("parentJobId"), + "parentTenantCode": obj.get("parentTenantCode"), + "receivingJobs": [ReceivingJob.from_dict(_item) for _item in obj["receivingJobs"]] if obj.get("receivingJobs") is not None else None, + "status": obj.get("status") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/redshift_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/redshift_auth_params_dto.py new file mode 100644 index 000000000..b00be518f --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/redshift_auth_params_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 RedshiftAuthParamsDTO(BaseModel): + """ + RedshiftAuthParamsDTO + """ # noqa: E501 + database: Optional[StrictStr] = None + endpoint: Optional[StrictStr] = None + password: Optional[StrictStr] = None + port: Optional[StrictStr] = None + var_schema: Optional[StrictStr] = Field(default=None, alias="schema") + table_prefix: Optional[StrictStr] = Field(default=None, alias="tablePrefix") + username: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["database", "endpoint", "password", "port", "schema", "tablePrefix", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RedshiftAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 RedshiftAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "database": obj.get("database"), + "endpoint": obj.get("endpoint"), + "password": obj.get("password"), + "port": obj.get("port"), + "schema": obj.get("schema"), + "tablePrefix": obj.get("tablePrefix"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/result.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/result.py new file mode 100644 index 000000000..ba1f115da --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/result.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 Result(BaseModel): + """ + Result + """ # noqa: E501 + data_version: Optional[StrictStr] = Field(default=None, description="If applicable, the data version that was disabled.", alias="dataVersion") + job_id: Optional[StrictStr] = Field(default=None, description="If applicable, the job ID associated with the data version.", alias="jobId") + message: Optional[StrictStr] = Field(default=None, description="If applicable, the message explains what errors occurred while disabling data versions.") + status: Optional[StrictStr] = Field(default=None, description="The outcome of the disabling operation.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The analytic tenant that the disable operation was conducted for.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["dataVersion", "jobId", "message", "status", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Result from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 Result from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataVersion": obj.get("dataVersion"), + "jobId": obj.get("jobId"), + "message": obj.get("message"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/salesforce_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/salesforce_auth_params_dto.py new file mode 100644 index 000000000..485226c49 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/salesforce_auth_params_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SalesforceAuthParamsDTO(BaseModel): + """ + SalesforceAuthParamsDTO + """ # noqa: E501 + client_id: Optional[StrictStr] = Field(default=None, alias="clientId") + refresh_token: Optional[StrictStr] = Field(default=None, alias="refreshToken") + __properties: ClassVar[List[str]] = ["clientId", "refreshToken"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SalesforceAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SalesforceAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "clientId": obj.get("clientId"), + "refreshToken": obj.get("refreshToken") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/salesforce_v2_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/salesforce_v2_auth_params_dto.py new file mode 100644 index 000000000..bd669de3a --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/salesforce_v2_auth_params_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SalesforceV2AuthParamsDTO(BaseModel): + """ + SalesforceV2AuthParamsDTO + """ # noqa: E501 + auth_code: Optional[StrictStr] = Field(default=None, alias="authCode") + client_id: Optional[StrictStr] = Field(default=None, alias="clientId") + client_secret: Optional[StrictStr] = Field(default=None, alias="clientSecret") + login_host: Optional[StrictStr] = Field(default=None, alias="loginHost") + __properties: ClassVar[List[str]] = ["authCode", "clientId", "clientSecret", "loginHost"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SalesforceV2AuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SalesforceV2AuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "authCode": obj.get("authCode"), + "clientId": obj.get("clientId"), + "clientSecret": obj.get("clientSecret"), + "loginHost": obj.get("loginHost") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/service_now_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/service_now_auth_params_dto.py new file mode 100644 index 000000000..416e14214 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/service_now_auth_params_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ServiceNowAuthParamsDTO(BaseModel): + """ + ServiceNowAuthParamsDTO + """ # noqa: E501 + host_domain_name: Optional[StrictStr] = Field(default=None, alias="hostDomainName") + password: Optional[StrictStr] = None + username: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["hostDomainName", "password", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ServiceNowAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ServiceNowAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "hostDomainName": obj.get("hostDomainName"), + "password": obj.get("password"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/slack_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/slack_auth_params_dto.py new file mode 100644 index 000000000..f657952e2 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/slack_auth_params_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SlackAuthParamsDTO(BaseModel): + """ + SlackAuthParamsDTO + """ # noqa: E501 + auth_code: Optional[StrictStr] = Field(default=None, alias="authCode") + client_id: Optional[StrictStr] = Field(default=None, alias="clientId") + client_secret: Optional[StrictStr] = Field(default=None, alias="clientSecret") + __properties: ClassVar[List[str]] = ["authCode", "clientId", "clientSecret"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SlackAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SlackAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "authCode": obj.get("authCode"), + "clientId": obj.get("clientId"), + "clientSecret": obj.get("clientSecret") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/snowflake_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/snowflake_auth_params_dto.py new file mode 100644 index 000000000..d9d30269c --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/snowflake_auth_params_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SnowflakeAuthParamsDTO(BaseModel): + """ + SnowflakeAuthParamsDTO + """ # noqa: E501 + account_identifier: Optional[StrictStr] = Field(default=None, alias="accountIdentifier") + database: Optional[StrictStr] = None + password: Optional[StrictStr] = None + private_key: Optional[StrictStr] = Field(default=None, alias="privateKey") + var_schema: Optional[StrictStr] = Field(default=None, alias="schema") + username: Optional[StrictStr] = None + warehouse: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["accountIdentifier", "database", "password", "privateKey", "schema", "username", "warehouse"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SnowflakeAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SnowflakeAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accountIdentifier": obj.get("accountIdentifier"), + "database": obj.get("database"), + "password": obj.get("password"), + "privateKey": obj.get("privateKey"), + "schema": obj.get("schema"), + "username": obj.get("username"), + "warehouse": obj.get("warehouse") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/source.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/source.py new file mode 100644 index 000000000..e16eef392 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/source.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 Source(BaseModel): + """ + Source + """ # noqa: E501 + data_size: Optional[StrictStr] = Field(default=None, description="The size of the data transfer in bytes.", alias="dataSize") + message: Optional[StrictStr] = Field(default=None, description="A meaningful message about the data transfer.") + rows: Optional[StrictStr] = Field(default=None, description="The number of rows in the data transfer.") + source_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the source that data was transferred to.", alias="sourceId") + source_name: Optional[StrictStr] = Field(default=None, description="The object name of the source.", alias="sourceName") + status: Optional[StrictStr] = Field(default=None, description="The status of the data transfer for this source.") + __properties: ClassVar[List[str]] = ["dataSize", "message", "rows", "sourceId", "sourceName", "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 Source from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 Source from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataSize": obj.get("dataSize"), + "message": obj.get("message"), + "rows": obj.get("rows"), + "sourceId": obj.get("sourceId"), + "sourceName": obj.get("sourceName"), + "status": obj.get("status") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/sql_server_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/sql_server_auth_params_dto.py new file mode 100644 index 000000000..7e73c7468 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/sql_server_auth_params_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SqlServerAuthParamsDTO(BaseModel): + """ + SqlServerAuthParamsDTO + """ # noqa: E501 + database: Optional[StrictStr] = None + host: Optional[StrictStr] = None + password: Optional[StrictStr] = None + port: Optional[StrictStr] = None + username: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["database", "host", "password", "port", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SqlServerAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SqlServerAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "database": obj.get("database"), + "host": obj.get("host"), + "password": obj.get("password"), + "port": obj.get("port"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_extraction_model.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_extraction_model.py new file mode 100644 index 000000000..7dfeaac06 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_extraction_model.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 StartExtractionModel(BaseModel): + """ + StartExtractionModel + """ # noqa: E501 + all_tenants: Optional[StrictBool] = Field(default=None, description="If `true`, one extraction job is dispatched for each accessible analytic tenant.", alias="allTenants") + batch_size_override: Optional[StrictInt] = Field(default=None, description="The maximum number of subjects the job can retrieve in each batch.", alias="batchSizeOverride") + connector_ids: Optional[List[StrictStr]] = Field(default=None, description="The unique identifiers of the connectors to run extraction jobs.", alias="connectorIds") + data_category_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the data category on which to trigger the extraction job. Default is the tenant's primary data category.", alias="dataCategoryId") + disable_artifact_generation: Optional[StrictBool] = Field(default=None, description="If `true`, the job does not generate data load artifacts. If unspecified, the default is `false`.", alias="disableArtifactGeneration") + extract_to_time_override: Optional[StrictStr] = Field(default=None, description="An epoch timestamp in milliseconds for the end time up to which to retrieve data.", alias="extractToTimeOverride") + force_update_existing_artifacts: Optional[StrictBool] = Field(default=None, description="If `true` and `disableArtifactGeneration` is `false`, updates extractor artifacts, which may overwrite the artifacts' manual overrides. Ignored if `disableArtifactGeneration` is `true`.", alias="forceUpdateExistingArtifacts") + last_extraction_time_offset_weeks: Optional[StrictInt] = Field(default=None, description="The number of weeks in the past to retrieve data. This overrides the last extraction date to retrieve more data.", alias="lastExtractionTimeOffsetWeeks") + months_to_extract: Optional[StrictInt] = Field(default=None, description="The number of months to retrieve snapshot data.", alias="monthsToExtract") + override_last_extraction_timestamp: Optional[StrictStr] = Field(default=None, description="The time from which to extract data.", alias="overrideLastExtractionTimestamp") + publish_data_load_artifacts: Optional[StrictBool] = Field(default=None, description="If `true`, the generated data load artifacts are published to production immediately.", alias="publishDataLoadArtifacts") + run_processing_job: Optional[StrictBool] = Field(default=None, description="If `true`, a processing job is spawned after a dispatched extraction job runs successfully.", alias="runProcessingJob") + sql_batch_size: Optional[StrictInt] = Field(default=None, description="The maximum amount of SQL table records the job can retrieve in each batch.", alias="sqlBatchSize") + tenants: Optional[List[StrictStr]] = Field(default=None, description="A list of analytic tenants to dispatch extraction jobs for. One extraction job is dispatched per tenant.") + __properties: ClassVar[List[str]] = ["allTenants", "batchSizeOverride", "connectorIds", "dataCategoryId", "disableArtifactGeneration", "extractToTimeOverride", "forceUpdateExistingArtifacts", "lastExtractionTimeOffsetWeeks", "monthsToExtract", "overrideLastExtractionTimestamp", "publishDataLoadArtifacts", "runProcessingJob", "sqlBatchSize", "tenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of StartExtractionModel from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 StartExtractionModel from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "allTenants": obj.get("allTenants"), + "batchSizeOverride": obj.get("batchSizeOverride"), + "connectorIds": obj.get("connectorIds"), + "dataCategoryId": obj.get("dataCategoryId"), + "disableArtifactGeneration": obj.get("disableArtifactGeneration"), + "extractToTimeOverride": obj.get("extractToTimeOverride"), + "forceUpdateExistingArtifacts": obj.get("forceUpdateExistingArtifacts"), + "lastExtractionTimeOffsetWeeks": obj.get("lastExtractionTimeOffsetWeeks"), + "monthsToExtract": obj.get("monthsToExtract"), + "overrideLastExtractionTimestamp": obj.get("overrideLastExtractionTimestamp"), + "publishDataLoadArtifacts": obj.get("publishDataLoadArtifacts"), + "runProcessingJob": obj.get("runProcessingJob"), + "sqlBatchSize": obj.get("sqlBatchSize"), + "tenants": obj.get("tenants") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_extraction_request.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_extraction_request.py new file mode 100644 index 000000000..4245ac6c6 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_extraction_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.start_extraction_model import StartExtractionModel +from typing import Optional, Set +from typing_extensions import Self + +class StartExtractionRequest(BaseModel): + """ + StartExtractionRequest + """ # noqa: E501 + model: Optional[StartExtractionModel] = Field(default=None, description="A form body key that contains a collection of key-value pairs.") + __properties: ClassVar[List[str]] = ["model"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of StartExtractionRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 model + if self.model: + _dict['model'] = self.model.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of StartExtractionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "model": StartExtractionModel.from_dict(obj["model"]) if obj.get("model") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_extraction_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_extraction_response.py new file mode 100644 index 000000000..abd09b425 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_extraction_response.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 StartExtractionResponse(BaseModel): + """ + StartExtractionResponse + """ # noqa: E501 + job_id: Optional[StrictStr] = Field(default=None, description="The ID of the dispatching job that generated the extraction jobs.", alias="JobId") + __properties: ClassVar[List[str]] = ["JobId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of StartExtractionResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 StartExtractionResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "JobId": obj.get("JobId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_transfer_response.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_transfer_response.py new file mode 100644 index 000000000..469206092 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/start_transfer_response.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 StartTransferResponse(BaseModel): + """ + StartTransferResponse + """ # noqa: E501 + transfer_session_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the transfer session.", alias="transferSessionId") + __properties: ClassVar[List[str]] = ["transferSessionId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of StartTransferResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 StartTransferResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "transferSessionId": obj.get("transferSessionId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/status.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/status.py new file mode 100644 index 000000000..3a2ff04af --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/status.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 Status(BaseModel): + """ + The response structure for errors. + """ # noqa: E501 + error_code: Optional[StrictStr] = Field(default=None, description="Error classification.", alias="errorCode") + localized_message: Optional[StrictStr] = Field(default=None, description="Localized error message describing the root cause of the error.", alias="localizedMessage") + message: Optional[StrictStr] = Field(default=None, description="Not used.") + rci: Optional[StrictStr] = Field(default=None, description="Optional root cause identifier.") + user_error: Optional[StrictBool] = Field(default=None, description="Indicates whether the error is a user error.", alias="userError") + __properties: ClassVar[List[str]] = ["errorCode", "localizedMessage", "message", "rci", "userError"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Status from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 Status from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "errorCode": obj.get("errorCode"), + "localizedMessage": obj.get("localizedMessage"), + "message": obj.get("message"), + "rci": obj.get("rci"), + "userError": obj.get("userError") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/subject_missing_access_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/subject_missing_access_dto.py new file mode 100644 index 000000000..94d1cccf6 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/subject_missing_access_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SubjectMissingAccessDTO(BaseModel): + """ + SubjectMissingAccessDTO + """ # noqa: E501 + attributes: Optional[List[StrictStr]] = Field(default=None, description="The attributes that cannot be accessed.") + subject: Optional[StrictStr] = Field(default=None, description="The subjects that cannot be accessed.") + __properties: ClassVar[List[str]] = ["attributes", "subject"] + + @field_validator('subject') + def subject_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['Employee', 'Employee_Budgeted_Compensation', 'Employment_Start', 'Employment_Exit', 'Absenteeism', 'Supervisory', 'Organization', 'Compensation_Payout', 'CustomSubject', 'TestConnectionSubject', 'Internal_Placement', 'Pay_Change', 'Hire', 'Applicant', 'Candidate', 'Requisition']): + raise ValueError("must be one of enum values ('Employee', 'Employee_Budgeted_Compensation', 'Employment_Start', 'Employment_Exit', 'Absenteeism', 'Supervisory', 'Organization', 'Compensation_Payout', 'CustomSubject', 'TestConnectionSubject', 'Internal_Placement', 'Pay_Change', 'Hire', 'Applicant', 'Candidate', 'Requisition')") + 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 SubjectMissingAccessDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SubjectMissingAccessDTO 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"), + "subject": obj.get("subject") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/success_factors_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/success_factors_auth_params_dto.py new file mode 100644 index 000000000..3860042af --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/success_factors_auth_params_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.success_factors_o_auth_params_dto import SuccessFactorsOAuthParamsDTO +from typing import Optional, Set +from typing_extensions import Self + +class SuccessFactorsAuthParamsDTO(BaseModel): + """ + SuccessFactorsAuthParamsDTO + """ # noqa: E501 + company_id: Optional[StrictStr] = Field(default=None, alias="companyID") + host_domain_name: Optional[StrictStr] = Field(default=None, alias="hostDomainName") + o_auth: Optional[SuccessFactorsOAuthParamsDTO] = Field(default=None, alias="oAuth") + password: Optional[StrictStr] = None + username: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["companyID", "hostDomainName", "oAuth", "password", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SuccessFactorsAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SuccessFactorsAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "companyID": obj.get("companyID"), + "hostDomainName": obj.get("hostDomainName"), + "oAuth": SuccessFactorsOAuthParamsDTO.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, + "password": obj.get("password"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/success_factors_o_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/success_factors_o_auth_params_dto.py new file mode 100644 index 000000000..b5b3e4aad --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/success_factors_o_auth_params_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SuccessFactorsOAuthParamsDTO(BaseModel): + """ + SuccessFactorsOAuthParamsDTO + """ # noqa: E501 + api_key: Optional[StrictStr] = Field(default=None, alias="apiKey") + private_x509_key: Optional[StrictStr] = Field(default=None, alias="privateX509Key") + public_x509_cert: Optional[StrictStr] = Field(default=None, alias="publicX509Cert") + __properties: ClassVar[List[str]] = ["apiKey", "privateX509Key", "publicX509Cert"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SuccessFactorsOAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SuccessFactorsOAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apiKey": obj.get("apiKey"), + "privateX509Key": obj.get("privateX509Key"), + "publicX509Cert": obj.get("publicX509Cert") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant.py new file mode 100644 index 000000000..837b798f3 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.source import Source +from typing import Optional, Set +from typing_extensions import Self + +class Tenant(BaseModel): + """ + Tenant + """ # noqa: E501 + sources: Optional[List[Source]] = Field(default=None, description="A list of objects representing the sources that data was pushed to and their data transfer results.") + status: Optional[StrictStr] = Field(default=None, description="The status of the data transfer for this tenant.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The code of the tenant that data was transferred to. For example, WFF_j1r or WFF_j1r~c7o.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["sources", "status", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Tenant from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 sources (list) + _items = [] + if self.sources: + for _item in self.sources: + if _item: + _items.append(_item.to_dict()) + _dict['sources'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Tenant from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "sources": [Source.from_dict(_item) for _item in obj["sources"]] if obj.get("sources") is not None else None, + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_and_credential.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_and_credential.py new file mode 100644 index 000000000..e8a6211d7 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_and_credential.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 TenantAndCredential(BaseModel): + """ + TenantAndCredential + """ # noqa: E501 + credential_id: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the credential.", alias="credentialId") + tenant_code: Optional[StrictStr] = Field(default=None, description="The unique identifier associated with the tenant.", alias="tenantCode") + __properties: ClassVar[List[str]] = ["credentialId", "tenantCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantAndCredential from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 TenantAndCredential from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "credentialId": obj.get("credentialId"), + "tenantCode": obj.get("tenantCode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_upload_status_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_upload_status_response_dto.py new file mode 100644 index 000000000..92deb53fe --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_upload_status_response_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 TenantDataUploadStatusResponseDTO(BaseModel): + """ + TenantDataUploadStatusResponseDTO + """ # noqa: E501 + included: Optional[StrictBool] = Field(default=None, description="If \"true\", the data upload is included.") + upload_time: Optional[StrictStr] = Field(default=None, description="The upload time of the data upload.", alias="uploadTime") + __properties: ClassVar[List[str]] = ["included", "uploadTime"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantDataUploadStatusResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 TenantDataUploadStatusResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "included": obj.get("included"), + "uploadTime": obj.get("uploadTime") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_upload_update_status_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_upload_update_status_response_dto.py new file mode 100644 index 000000000..75f5338d8 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_upload_update_status_response_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 TenantDataUploadUpdateStatusResponseDTO(BaseModel): + """ + TenantDataUploadUpdateStatusResponseDTO + """ # noqa: E501 + message: Optional[StrictStr] = Field(default=None, description="If applicable, the message explains why errors were encountered during the exclusion operation.") + status: Optional[StrictStr] = Field(default=None, description="The outcome of the exclusion operation.") + tenant_code: Optional[StrictStr] = Field(default=None, description="The analytic tenant that the exclusion operation was conducted for.", alias="tenantCode") + upload_time: Optional[StrictStr] = Field(default=None, description="The upload time of the data upload", alias="uploadTime") + __properties: ClassVar[List[str]] = ["message", "status", "tenantCode", "uploadTime"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantDataUploadUpdateStatusResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 TenantDataUploadUpdateStatusResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message"), + "status": obj.get("status"), + "tenantCode": obj.get("tenantCode"), + "uploadTime": obj.get("uploadTime") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_uploads_list_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_uploads_list_response_dto.py new file mode 100644 index 000000000..886ceae2a --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_uploads_list_response_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.tenant_data_uploads_response_dto import TenantDataUploadsResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantDataUploadsListResponseDTO(BaseModel): + """ + TenantDataUploadsListResponseDTO + """ # noqa: E501 + limit: Optional[StrictInt] = Field(default=None, description="The number of analytic tenants to retrieve. The maximum number of analytic tenants to retrieve is 1000.") + start: Optional[StrictInt] = Field(default=None, description="The index to start retrieving results from, also known as offset. The index begins at 0.") + tenants: Optional[List[TenantDataUploadsResponseDTO]] = Field(default=None, description="A list of objects representing analytic tenants and their data uploads.") + __properties: ClassVar[List[str]] = ["limit", "start", "tenants"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantDataUploadsListResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tenants (list) + _items = [] + if self.tenants: + for _item in self.tenants: + if _item: + _items.append(_item.to_dict()) + _dict['tenants'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantDataUploadsListResponseDTO 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"), + "start": obj.get("start"), + "tenants": [TenantDataUploadsResponseDTO.from_dict(_item) for _item in obj["tenants"]] if obj.get("tenants") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_uploads_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_uploads_response_dto.py new file mode 100644 index 000000000..7ccc7ea48 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_uploads_response_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.tenant_data_upload_status_response_dto import TenantDataUploadStatusResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantDataUploadsResponseDTO(BaseModel): + """ + TenantDataUploadsResponseDTO + """ # noqa: E501 + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code of the analytic tenant owning the data uploads.", alias="tenantCode") + uploads: Optional[List[TenantDataUploadStatusResponseDTO]] = Field(default=None, description="The data uploads completed for the specified analytic tenant. The list is empty if no previous data uploads are found for the analytic tenant.") + __properties: ClassVar[List[str]] = ["tenantCode", "uploads"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantDataUploadsResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 uploads (list) + _items = [] + if self.uploads: + for _item in self.uploads: + if _item: + _items.append(_item.to_dict()) + _dict['uploads'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantDataUploadsResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tenantCode": obj.get("tenantCode"), + "uploads": [TenantDataUploadStatusResponseDTO.from_dict(_item) for _item in obj["uploads"]] if obj.get("uploads") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_uploads_update_response_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_uploads_update_response_dto.py new file mode 100644 index 000000000..18b517b01 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/tenant_data_uploads_update_response_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.tenant_data_upload_update_status_response_dto import TenantDataUploadUpdateStatusResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class TenantDataUploadsUpdateResponseDTO(BaseModel): + """ + TenantDataUploadsUpdateResponseDTO + """ # noqa: E501 + total_failures: Optional[StrictInt] = Field(default=None, description="The number of data uploads that failed during the exclusion operation.", alias="totalFailures") + total_success: Optional[StrictInt] = Field(default=None, description="The number of data uploads that were excluded successfully.", alias="totalSuccess") + uploads: Optional[List[TenantDataUploadUpdateStatusResponseDTO]] = Field(default=None, description="A list of objects representing the results of the data upload exclusion.") + __properties: ClassVar[List[str]] = ["totalFailures", "totalSuccess", "uploads"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TenantDataUploadsUpdateResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 uploads (list) + _items = [] + if self.uploads: + for _item in self.uploads: + if _item: + _items.append(_item.to_dict()) + _dict['uploads'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TenantDataUploadsUpdateResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "totalFailures": obj.get("totalFailures"), + "totalSuccess": obj.get("totalSuccess"), + "uploads": [TenantDataUploadUpdateStatusResponseDTO.from_dict(_item) for _item in obj["uploads"]] if obj.get("uploads") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/ultimate_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/ultimate_auth_params_dto.py new file mode 100644 index 000000000..5d883b667 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/ultimate_auth_params_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UltimateAuthParamsDTO(BaseModel): + """ + UltimateAuthParamsDTO + """ # noqa: E501 + api_key: Optional[StrictStr] = Field(default=None, alias="apiKey") + host_domain_name: Optional[StrictStr] = Field(default=None, alias="hostDomainName") + password: Optional[StrictStr] = None + user_access_key: Optional[StrictStr] = Field(default=None, alias="userAccessKey") + username: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["apiKey", "hostDomainName", "password", "userAccessKey", "username"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UltimateAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UltimateAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apiKey": obj.get("apiKey"), + "hostDomainName": obj.get("hostDomainName"), + "password": obj.get("password"), + "userAccessKey": obj.get("userAccessKey"), + "username": obj.get("username") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_exclude.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_exclude.py new file mode 100644 index 000000000..6046a5068 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_exclude.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UploadToExclude(BaseModel): + """ + UploadToExclude + """ # noqa: E501 + exclude_all: Optional[StrictBool] = Field(default=None, description="If `true`, all data uploads are excluded for the analytic tenant.", alias="excludeAll") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code of the analytic tenant you are excluding a data upload for.", alias="tenantCode") + upload_times: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings representing the upload time of each data upload to exclude.", alias="uploadTimes") + __properties: ClassVar[List[str]] = ["excludeAll", "tenantCode", "uploadTimes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UploadToExclude from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UploadToExclude from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "excludeAll": obj.get("excludeAll"), + "tenantCode": obj.get("tenantCode"), + "uploadTimes": obj.get("uploadTimes") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_exclude_model.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_exclude_model.py new file mode 100644 index 000000000..010f0c160 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_exclude_model.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.upload_to_exclude import UploadToExclude +from typing import Optional, Set +from typing_extensions import Self + +class UploadToExcludeModel(BaseModel): + """ + UploadToExcludeModel + """ # noqa: E501 + uploads: Optional[List[UploadToExclude]] = Field(default=None, description="A list of objects representing the data uploads to exclude for a particular analytic tenant.") + __properties: ClassVar[List[str]] = ["uploads"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UploadToExcludeModel from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 uploads (list) + _items = [] + if self.uploads: + for _item in self.uploads: + if _item: + _items.append(_item.to_dict()) + _dict['uploads'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UploadToExcludeModel from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uploads": [UploadToExclude.from_dict(_item) for _item in obj["uploads"]] if obj.get("uploads") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_include.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_include.py new file mode 100644 index 000000000..f5859a3cf --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_include.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 UploadToInclude(BaseModel): + """ + UploadToInclude + """ # noqa: E501 + include_all: Optional[StrictBool] = Field(default=None, description="If `true`, all data uploads are included for the analytic tenant.", alias="includeAll") + tenant_code: Optional[StrictStr] = Field(default=None, description="The tenant code of the analytic tenant you are including a data upload for.", alias="tenantCode") + upload_times: Optional[List[StrictStr]] = Field(default=None, description="A comma-separated list of strings representing the upload time of each data upload to include.", alias="uploadTimes") + __properties: ClassVar[List[str]] = ["includeAll", "tenantCode", "uploadTimes"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UploadToInclude from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 UploadToInclude from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "includeAll": obj.get("includeAll"), + "tenantCode": obj.get("tenantCode"), + "uploadTimes": obj.get("uploadTimes") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_include_model.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_include_model.py new file mode 100644 index 000000000..749bbdc38 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/upload_to_include_model.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.upload_to_include import UploadToInclude +from typing import Optional, Set +from typing_extensions import Self + +class UploadToIncludeModel(BaseModel): + """ + UploadToIncludeModel + """ # noqa: E501 + uploads: Optional[List[UploadToInclude]] = Field(default=None, description="A list of objects representing the data uploads to include for a particular analytic tenant.") + __properties: ClassVar[List[str]] = ["uploads"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UploadToIncludeModel from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 uploads (list) + _items = [] + if self.uploads: + for _item in self.uploads: + if _item: + _items.append(_item.to_dict()) + _dict['uploads'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UploadToIncludeModel from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uploads": [UploadToInclude.from_dict(_item) for _item in obj["uploads"]] if obj.get("uploads") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/willow_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/willow_auth_params_dto.py new file mode 100644 index 000000000..1f4938818 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/willow_auth_params_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 WillowAuthParamsDTO(BaseModel): + """ + WillowAuthParamsDTO + """ # noqa: E501 + api_token: Optional[StrictStr] = Field(default=None, alias="apiToken") + host_name: Optional[StrictStr] = Field(default=None, alias="hostName") + __properties: ClassVar[List[str]] = ["apiToken", "hostName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of WillowAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 WillowAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apiToken": obj.get("apiToken"), + "hostName": obj.get("hostName") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_auth_params_dto.py new file mode 100644 index 000000000..ae3b3b2e8 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_auth_params_dto.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_in.models.workday_o_auth_params_dto import WorkdayOAuthParamsDTO +from visier.sdk.api.data_in.models.workday_refresh_token_params_dto import WorkdayRefreshTokenParamsDTO +from typing import Optional, Set +from typing_extensions import Self + +class WorkdayAuthParamsDTO(BaseModel): + """ + WorkdayAuthParamsDTO + """ # noqa: E501 + api_key: Optional[StrictStr] = Field(default=None, alias="apiKey") + domain_name: Optional[StrictStr] = Field(default=None, alias="domainName") + implementation_name: Optional[StrictStr] = Field(default=None, alias="implementationName") + integration_system_id: Optional[StrictStr] = Field(default=None, alias="integrationSystemId") + o_auth: Optional[WorkdayOAuthParamsDTO] = Field(default=None, alias="oAuth") + password: Optional[StrictStr] = None + ref_token: Optional[WorkdayRefreshTokenParamsDTO] = Field(default=None, alias="refToken") + user_id: Optional[StrictStr] = Field(default=None, alias="userId") + __properties: ClassVar[List[str]] = ["apiKey", "domainName", "implementationName", "integrationSystemId", "oAuth", "password", "refToken", "userId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of WorkdayAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of ref_token + if self.ref_token: + _dict['refToken'] = self.ref_token.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of WorkdayAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apiKey": obj.get("apiKey"), + "domainName": obj.get("domainName"), + "implementationName": obj.get("implementationName"), + "integrationSystemId": obj.get("integrationSystemId"), + "oAuth": WorkdayOAuthParamsDTO.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, + "password": obj.get("password"), + "refToken": WorkdayRefreshTokenParamsDTO.from_dict(obj["refToken"]) if obj.get("refToken") is not None else None, + "userId": obj.get("userId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_o_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_o_auth_params_dto.py new file mode 100644 index 000000000..9114e2d54 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_o_auth_params_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 WorkdayOAuthParamsDTO(BaseModel): + """ + WorkdayOAuthParamsDTO + """ # noqa: E501 + api_client_id: Optional[StrictStr] = Field(default=None, alias="apiClientId") + private_x509_key: Optional[StrictStr] = Field(default=None, alias="privateX509Key") + public_x509_cert: Optional[StrictStr] = Field(default=None, alias="publicX509Cert") + __properties: ClassVar[List[str]] = ["apiClientId", "privateX509Key", "publicX509Cert"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of WorkdayOAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 WorkdayOAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apiClientId": obj.get("apiClientId"), + "privateX509Key": obj.get("privateX509Key"), + "publicX509Cert": obj.get("publicX509Cert") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_raas_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_raas_auth_params_dto.py new file mode 100644 index 000000000..481ed5629 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_raas_auth_params_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 WorkdayRaasAuthParamsDTO(BaseModel): + """ + WorkdayRaasAuthParamsDTO + """ # noqa: E501 + domain_name: Optional[StrictStr] = Field(default=None, alias="domainName") + implementation_name: Optional[StrictStr] = Field(default=None, alias="implementationName") + password: Optional[StrictStr] = None + test_report_url: Optional[StrictStr] = Field(default=None, alias="testReportUrl") + user_id: Optional[StrictStr] = Field(default=None, alias="userId") + __properties: ClassVar[List[str]] = ["domainName", "implementationName", "password", "testReportUrl", "userId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of WorkdayRaasAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 WorkdayRaasAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "domainName": obj.get("domainName"), + "implementationName": obj.get("implementationName"), + "password": obj.get("password"), + "testReportUrl": obj.get("testReportUrl"), + "userId": obj.get("userId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_refresh_token_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_refresh_token_params_dto.py new file mode 100644 index 000000000..f4dc085c3 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/workday_refresh_token_params_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 WorkdayRefreshTokenParamsDTO(BaseModel): + """ + WorkdayRefreshTokenParamsDTO + """ # noqa: E501 + api_client_id: Optional[StrictStr] = Field(default=None, alias="apiClientId") + client_secret: Optional[StrictStr] = Field(default=None, alias="clientSecret") + refresh_token: Optional[StrictStr] = Field(default=None, alias="refreshToken") + __properties: ClassVar[List[str]] = ["apiClientId", "clientSecret", "refreshToken"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of WorkdayRefreshTokenParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 WorkdayRefreshTokenParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apiClientId": obj.get("apiClientId"), + "clientSecret": obj.get("clientSecret"), + "refreshToken": obj.get("refreshToken") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/zoom_auth_params_dto.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/zoom_auth_params_dto.py new file mode 100644 index 000000000..791db3e67 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/models/zoom_auth_params_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ZoomAuthParamsDTO(BaseModel): + """ + ZoomAuthParamsDTO + """ # noqa: E501 + auth_code: Optional[StrictStr] = Field(default=None, alias="authCode") + client_id: Optional[StrictStr] = Field(default=None, alias="clientId") + client_secret: Optional[StrictStr] = Field(default=None, alias="clientSecret") + __properties: ClassVar[List[str]] = ["authCode", "clientId", "clientSecret"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ZoomAuthParamsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ZoomAuthParamsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "authCode": obj.get("authCode"), + "clientId": obj.get("clientId"), + "clientSecret": obj.get("clientSecret") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/py.typed b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/py.typed new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.data_in/visier/sdk/api/data_in/rest.py b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/rest.py new file mode 100644 index 000000000..58b3919f7 --- /dev/null +++ b/src/visier.sdk.api.data_in/visier/sdk/api/data_in/rest.py @@ -0,0 +1,257 @@ +# coding: utf-8 + +""" + Visier Data In APIs + + Visier APIs for sending data to Visier and running data load jobs. + + The version of the OpenAPI document: 0.0.1 + 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 visier.sdk.api.data_in.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'] == 'text/plain' 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/src/visier.sdk.api.data_out/.github/workflows/python.yml b/src/visier.sdk.api.data_out/.github/workflows/python.yml new file mode 100644 index 000000000..69a6bb418 --- /dev/null +++ b/src/visier.sdk.api.data_out/.github/workflows/python.yml @@ -0,0 +1,38 @@ +# NOTE: This file is auto generated by OpenAPI Generator. +# URL: https://openapi-generator.tech +# +# ref: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: visier.sdk.api.data_out Python package + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] + + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + if [ -f test-requirements.txt ]; then pip install -r test-requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest diff --git a/src/visier.sdk.api.data_out/.gitignore b/src/visier.sdk.api.data_out/.gitignore new file mode 100644 index 000000000..43995bd42 --- /dev/null +++ b/src/visier.sdk.api.data_out/.gitignore @@ -0,0 +1,66 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.venv/ +.python-version +.pytest_cache + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints diff --git a/src/visier.sdk.api.data_out/.gitlab-ci.yml b/src/visier.sdk.api.data_out/.gitlab-ci.yml new file mode 100644 index 000000000..7f99a631f --- /dev/null +++ b/src/visier.sdk.api.data_out/.gitlab-ci.yml @@ -0,0 +1,31 @@ +# NOTE: This file is auto generated by OpenAPI Generator. +# URL: https://openapi-generator.tech +# +# ref: https://docs.gitlab.com/ee/ci/README.html +# ref: https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml + +stages: + - test + +.pytest: + stage: test + script: + - pip install -r requirements.txt + - pip install -r test-requirements.txt + - pytest --cov=visier.sdk.api.data_out + +pytest-3.7: + extends: .pytest + image: python:3.7-alpine +pytest-3.8: + extends: .pytest + image: python:3.8-alpine +pytest-3.9: + extends: .pytest + image: python:3.9-alpine +pytest-3.10: + extends: .pytest + image: python:3.10-alpine +pytest-3.11: + extends: .pytest + image: python:3.11-alpine diff --git a/src/visier.sdk.api.data_out/.openapi-generator-ignore b/src/visier.sdk.api.data_out/.openapi-generator-ignore new file mode 100644 index 000000000..7484ee590 --- /dev/null +++ b/src/visier.sdk.api.data_out/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/src/visier.sdk.api.data_out/.openapi-generator/FILES b/src/visier.sdk.api.data_out/.openapi-generator/FILES new file mode 100644 index 000000000..67442e3ee --- /dev/null +++ b/src/visier.sdk.api.data_out/.openapi-generator/FILES @@ -0,0 +1,281 @@ +.github/workflows/python.yml +.gitignore +.gitlab-ci.yml +.openapi-generator-ignore +.travis.yml +README.md +docs/AggregationQueryDTO.md +docs/AggregationQueryExecutionDTO.md +docs/AggregationQuerySourceDTO.md +docs/AggregationQuerySourceMetricDTO.md +docs/AggregationQuerySourceMetricsDTO.md +docs/AggregationTypeParameterValueDTO.md +docs/CellDTO.md +docs/CellDistributionBinDTO.md +docs/CellDistributionOptionsDTO.md +docs/CellSetAxisDTO.md +docs/CellSetAxisPositionDTO.md +docs/CellSetDTO.md +docs/CohortFilterDTO.md +docs/DataQueryApi.md +docs/DataVersionExportApi.md +docs/DataVersionExportColumnDTO.md +docs/DataVersionExportDTO.md +docs/DataVersionExportDataVersionSummaryDTO.md +docs/DataVersionExportDataVersionsDTO.md +docs/DataVersionExportFileDTO.md +docs/DataVersionExportJobStatusDTO.md +docs/DataVersionExportPartFileDTO.md +docs/DataVersionExportScheduleJobRequestDTO.md +docs/DataVersionExportScheduleJobResponseDTO.md +docs/DataVersionExportTableDTO.md +docs/DataVersionExportsDTO.md +docs/DimensionMemberReferenceDTO.md +docs/DimensionReferenceDTO.md +docs/DocumentSearchLinkDTO.md +docs/DvExportStatus.md +docs/GoogleProtobufAny.md +docs/InternalQueryExecutionOptionsDTO.md +docs/KeyGroupFilterDTO.md +docs/KeyGroupFilterItemDTO.md +docs/LineageDTO.md +docs/ListQueryExecutionDTO.md +docs/ListQueryExecutionOptionsDTO.md +docs/ListQuerySourceDTO.md +docs/ListResponse.md +docs/MemberFilterDTO.md +docs/MemberParameterValueDTO.md +docs/MemberValuesDTO.md +docs/NumericParameterValueDTO.md +docs/PlanParameterValueDTO.md +docs/PropertyColumnDTO.md +docs/PropertyReferenceDTO.md +docs/QueryAxisDTO.md +docs/QueryAxisOptionsDTO.md +docs/QueryClarificationDTO.md +docs/QueryDimensionDataMemberSelectionDTO.md +docs/QueryDimensionLeafSelectionDTO.md +docs/QueryDimensionLevelSelectionDTO.md +docs/QueryDimensionMemberSelectionDTO.md +docs/QueryExecutionOptionsDTO.md +docs/QueryFilterDTO.md +docs/QueryMemberMapPropertyDTO.md +docs/QueryMemberMapSelectionDTO.md +docs/QueryNumericRangesDTO.md +docs/QueryParameterValueDTO.md +docs/QueryPropertyDTO.md +docs/QueryTimeIntervalDTO.md +docs/QueryTimeIntervalsDTO.md +docs/SearchApi.md +docs/SelectionConceptReferenceDTO.md +docs/SimpleDocumentHeaderSearchResponseDTO.md +docs/SimpleDocumentHeaderSearchResultDTO.md +docs/SnapshotQueryExecutionDTO.md +docs/SnapshotQueryExecutionOptionsDTO.md +docs/SortOptionDTO.md +docs/SqlLikeQueryExecutionDTO.md +docs/Status.md +docs/TimeShiftDTO.md +docs/VeeDataDTO.md +docs/VeeFeedbackDTO.md +docs/VeeQueryApi.md +docs/VeeQueryCorrectionsDTO.md +docs/VeeResponseDTO.md +docs/VeeResponseSchemaDTO.md +docs/VeeResponseSchemaReferenceDTO.md +docs/VeeSampleQuestionDTO.md +docs/VeeSampleQuestionLibraryDTO.md +docs/VeeSampleQuestionMetadataDTO.md +docs/VeeStatusCodeDTO.md +docs/VeeThreadStateDTO.md +docs/VeeVisualDTO.md +git_push.sh +pyproject.toml +requirements.txt +setup.cfg +setup.py +test-requirements.txt +test/__init__.py +test/test_aggregation_query_dto.py +test/test_aggregation_query_execution_dto.py +test/test_aggregation_query_source_dto.py +test/test_aggregation_query_source_metric_dto.py +test/test_aggregation_query_source_metrics_dto.py +test/test_aggregation_type_parameter_value_dto.py +test/test_cell_distribution_bin_dto.py +test/test_cell_distribution_options_dto.py +test/test_cell_dto.py +test/test_cell_set_axis_dto.py +test/test_cell_set_axis_position_dto.py +test/test_cell_set_dto.py +test/test_cohort_filter_dto.py +test/test_data_query_api.py +test/test_data_version_export_api.py +test/test_data_version_export_column_dto.py +test/test_data_version_export_data_version_summary_dto.py +test/test_data_version_export_data_versions_dto.py +test/test_data_version_export_dto.py +test/test_data_version_export_file_dto.py +test/test_data_version_export_job_status_dto.py +test/test_data_version_export_part_file_dto.py +test/test_data_version_export_schedule_job_request_dto.py +test/test_data_version_export_schedule_job_response_dto.py +test/test_data_version_export_table_dto.py +test/test_data_version_exports_dto.py +test/test_dimension_member_reference_dto.py +test/test_dimension_reference_dto.py +test/test_document_search_link_dto.py +test/test_dv_export_status.py +test/test_google_protobuf_any.py +test/test_internal_query_execution_options_dto.py +test/test_key_group_filter_dto.py +test/test_key_group_filter_item_dto.py +test/test_lineage_dto.py +test/test_list_query_execution_dto.py +test/test_list_query_execution_options_dto.py +test/test_list_query_source_dto.py +test/test_list_response.py +test/test_member_filter_dto.py +test/test_member_parameter_value_dto.py +test/test_member_values_dto.py +test/test_numeric_parameter_value_dto.py +test/test_plan_parameter_value_dto.py +test/test_property_column_dto.py +test/test_property_reference_dto.py +test/test_query_axis_dto.py +test/test_query_axis_options_dto.py +test/test_query_clarification_dto.py +test/test_query_dimension_data_member_selection_dto.py +test/test_query_dimension_leaf_selection_dto.py +test/test_query_dimension_level_selection_dto.py +test/test_query_dimension_member_selection_dto.py +test/test_query_execution_options_dto.py +test/test_query_filter_dto.py +test/test_query_member_map_property_dto.py +test/test_query_member_map_selection_dto.py +test/test_query_numeric_ranges_dto.py +test/test_query_parameter_value_dto.py +test/test_query_property_dto.py +test/test_query_time_interval_dto.py +test/test_query_time_intervals_dto.py +test/test_search_api.py +test/test_selection_concept_reference_dto.py +test/test_simple_document_header_search_response_dto.py +test/test_simple_document_header_search_result_dto.py +test/test_snapshot_query_execution_dto.py +test/test_snapshot_query_execution_options_dto.py +test/test_sort_option_dto.py +test/test_sql_like_query_execution_dto.py +test/test_status.py +test/test_time_shift_dto.py +test/test_vee_data_dto.py +test/test_vee_feedback_dto.py +test/test_vee_query_api.py +test/test_vee_query_corrections_dto.py +test/test_vee_response_dto.py +test/test_vee_response_schema_dto.py +test/test_vee_response_schema_reference_dto.py +test/test_vee_sample_question_dto.py +test/test_vee_sample_question_library_dto.py +test/test_vee_sample_question_metadata_dto.py +test/test_vee_status_code_dto.py +test/test_vee_thread_state_dto.py +test/test_vee_visual_dto.py +tox.ini +visier/__init__.py +visier/sdk/__init__.py +visier/sdk/api/__init__.py +visier/sdk/api/data_out/__init__.py +visier/sdk/api/data_out/api/__init__.py +visier/sdk/api/data_out/api/data_query_api.py +visier/sdk/api/data_out/api/data_version_export_api.py +visier/sdk/api/data_out/api/search_api.py +visier/sdk/api/data_out/api/vee_query_api.py +visier/sdk/api/data_out/api_client.py +visier/sdk/api/data_out/api_response.py +visier/sdk/api/data_out/configuration.py +visier/sdk/api/data_out/exceptions.py +visier/sdk/api/data_out/models/__init__.py +visier/sdk/api/data_out/models/aggregation_query_dto.py +visier/sdk/api/data_out/models/aggregation_query_execution_dto.py +visier/sdk/api/data_out/models/aggregation_query_source_dto.py +visier/sdk/api/data_out/models/aggregation_query_source_metric_dto.py +visier/sdk/api/data_out/models/aggregation_query_source_metrics_dto.py +visier/sdk/api/data_out/models/aggregation_type_parameter_value_dto.py +visier/sdk/api/data_out/models/cell_distribution_bin_dto.py +visier/sdk/api/data_out/models/cell_distribution_options_dto.py +visier/sdk/api/data_out/models/cell_dto.py +visier/sdk/api/data_out/models/cell_set_axis_dto.py +visier/sdk/api/data_out/models/cell_set_axis_position_dto.py +visier/sdk/api/data_out/models/cell_set_dto.py +visier/sdk/api/data_out/models/cohort_filter_dto.py +visier/sdk/api/data_out/models/data_version_export_column_dto.py +visier/sdk/api/data_out/models/data_version_export_data_version_summary_dto.py +visier/sdk/api/data_out/models/data_version_export_data_versions_dto.py +visier/sdk/api/data_out/models/data_version_export_dto.py +visier/sdk/api/data_out/models/data_version_export_file_dto.py +visier/sdk/api/data_out/models/data_version_export_job_status_dto.py +visier/sdk/api/data_out/models/data_version_export_part_file_dto.py +visier/sdk/api/data_out/models/data_version_export_schedule_job_request_dto.py +visier/sdk/api/data_out/models/data_version_export_schedule_job_response_dto.py +visier/sdk/api/data_out/models/data_version_export_table_dto.py +visier/sdk/api/data_out/models/data_version_exports_dto.py +visier/sdk/api/data_out/models/dimension_member_reference_dto.py +visier/sdk/api/data_out/models/dimension_reference_dto.py +visier/sdk/api/data_out/models/document_search_link_dto.py +visier/sdk/api/data_out/models/dv_export_status.py +visier/sdk/api/data_out/models/google_protobuf_any.py +visier/sdk/api/data_out/models/internal_query_execution_options_dto.py +visier/sdk/api/data_out/models/key_group_filter_dto.py +visier/sdk/api/data_out/models/key_group_filter_item_dto.py +visier/sdk/api/data_out/models/lineage_dto.py +visier/sdk/api/data_out/models/list_query_execution_dto.py +visier/sdk/api/data_out/models/list_query_execution_options_dto.py +visier/sdk/api/data_out/models/list_query_source_dto.py +visier/sdk/api/data_out/models/list_response.py +visier/sdk/api/data_out/models/member_filter_dto.py +visier/sdk/api/data_out/models/member_parameter_value_dto.py +visier/sdk/api/data_out/models/member_values_dto.py +visier/sdk/api/data_out/models/numeric_parameter_value_dto.py +visier/sdk/api/data_out/models/plan_parameter_value_dto.py +visier/sdk/api/data_out/models/property_column_dto.py +visier/sdk/api/data_out/models/property_reference_dto.py +visier/sdk/api/data_out/models/query_axis_dto.py +visier/sdk/api/data_out/models/query_axis_options_dto.py +visier/sdk/api/data_out/models/query_clarification_dto.py +visier/sdk/api/data_out/models/query_dimension_data_member_selection_dto.py +visier/sdk/api/data_out/models/query_dimension_leaf_selection_dto.py +visier/sdk/api/data_out/models/query_dimension_level_selection_dto.py +visier/sdk/api/data_out/models/query_dimension_member_selection_dto.py +visier/sdk/api/data_out/models/query_execution_options_dto.py +visier/sdk/api/data_out/models/query_filter_dto.py +visier/sdk/api/data_out/models/query_member_map_property_dto.py +visier/sdk/api/data_out/models/query_member_map_selection_dto.py +visier/sdk/api/data_out/models/query_numeric_ranges_dto.py +visier/sdk/api/data_out/models/query_parameter_value_dto.py +visier/sdk/api/data_out/models/query_property_dto.py +visier/sdk/api/data_out/models/query_time_interval_dto.py +visier/sdk/api/data_out/models/query_time_intervals_dto.py +visier/sdk/api/data_out/models/selection_concept_reference_dto.py +visier/sdk/api/data_out/models/simple_document_header_search_response_dto.py +visier/sdk/api/data_out/models/simple_document_header_search_result_dto.py +visier/sdk/api/data_out/models/snapshot_query_execution_dto.py +visier/sdk/api/data_out/models/snapshot_query_execution_options_dto.py +visier/sdk/api/data_out/models/sort_option_dto.py +visier/sdk/api/data_out/models/sql_like_query_execution_dto.py +visier/sdk/api/data_out/models/status.py +visier/sdk/api/data_out/models/time_shift_dto.py +visier/sdk/api/data_out/models/vee_data_dto.py +visier/sdk/api/data_out/models/vee_feedback_dto.py +visier/sdk/api/data_out/models/vee_query_corrections_dto.py +visier/sdk/api/data_out/models/vee_response_dto.py +visier/sdk/api/data_out/models/vee_response_schema_dto.py +visier/sdk/api/data_out/models/vee_response_schema_reference_dto.py +visier/sdk/api/data_out/models/vee_sample_question_dto.py +visier/sdk/api/data_out/models/vee_sample_question_library_dto.py +visier/sdk/api/data_out/models/vee_sample_question_metadata_dto.py +visier/sdk/api/data_out/models/vee_status_code_dto.py +visier/sdk/api/data_out/models/vee_thread_state_dto.py +visier/sdk/api/data_out/models/vee_visual_dto.py +visier/sdk/api/data_out/py.typed +visier/sdk/api/data_out/rest.py diff --git a/src/visier.sdk.api.data_out/.openapi-generator/VERSION b/src/visier.sdk.api.data_out/.openapi-generator/VERSION new file mode 100644 index 000000000..1985849fb --- /dev/null +++ b/src/visier.sdk.api.data_out/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.7.0 diff --git a/src/visier.sdk.api.data_out/.travis.yml b/src/visier.sdk.api.data_out/.travis.yml new file mode 100644 index 000000000..27e27850a --- /dev/null +++ b/src/visier.sdk.api.data_out/.travis.yml @@ -0,0 +1,17 @@ +# ref: https://docs.travis-ci.com/user/languages/python +language: python +python: + - "3.7" + - "3.8" + - "3.9" + - "3.10" + - "3.11" + # uncomment the following if needed + #- "3.11-dev" # 3.11 development branch + #- "nightly" # nightly build +# command to install dependencies +install: + - "pip install -r requirements.txt" + - "pip install -r test-requirements.txt" +# command to run tests +script: pytest --cov=visier.sdk.api.data_out diff --git a/src/visier.sdk.api.data_out/README.md b/src/visier.sdk.api.data_out/README.md new file mode 100644 index 000000000..c4bb4c763 --- /dev/null +++ b/src/visier.sdk.api.data_out/README.md @@ -0,0 +1,263 @@ +# visier.sdk.api.data-out +Visier APIs for getting data out of Visier, such as aggregate data and data version information. + +This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: 0.0.1 +- Package version: 0.0.1 +- Generator version: 7.7.0 +- Build package: org.openapitools.codegen.languages.PythonClientCodegen + +## Requirements. + +Python 3.7+ + +## Installation & Usage +### pip install + +If the python package is hosted on a repository, you can install directly using: + +```sh +pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git +``` +(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`) + +Then import the package: +```python +import visier.sdk.api.data_out +``` + +### Setuptools + +Install via [Setuptools](http://pypi.python.org/pypi/setuptools). + +```sh +python setup.py install --user +``` +(or `sudo python setup.py install` to install the package for all users) + +Then import the package: +```python +import visier.sdk.api.data_out +``` + +### Tests + +Execute `pytest` to run the tests. + +## Getting Started + +Please follow the [installation procedure](#installation--usage) and then run the following: + +```python + +import visier.sdk.api.data_out +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.DataQueryApi(api_client) + aggregation_query_execution_dto = visier.sdk.api.data_out.AggregationQueryExecutionDTO() # AggregationQueryExecutionDTO | + + try: + # Query aggregate data + api_response = api_instance.aggregate(aggregation_query_execution_dto) + print("The response of DataQueryApi->aggregate:\n") + pprint(api_response) + except ApiException as e: + print("Exception when calling DataQueryApi->aggregate: %s\n" % e) + +``` + +## Documentation for API Endpoints + +All URIs are relative to *http://localhost* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*DataQueryApi* | [**aggregate**](docs/DataQueryApi.md#aggregate) | **POST** /v1/data/query/aggregate | Query aggregate data +*DataQueryApi* | [**list**](docs/DataQueryApi.md#list) | **POST** /v1/data/query/list | Query a list of details +*DataQueryApi* | [**query_snapshot**](docs/DataQueryApi.md#query_snapshot) | **POST** /v1/data/query/snapshot | Query a series of detailed snapshots +*DataQueryApi* | [**sql_like**](docs/DataQueryApi.md#sql_like) | **POST** /v1/data/query/sql | Query aggregate or list data using SQL-like syntax +*DataVersionExportApi* | [**call_1_alpha_download_file**](docs/DataVersionExportApi.md#call_1_alpha_download_file) | **GET** /v1alpha/data/data-version-exports/exports/{exportUuid}/files/{fileId} | Download a file from a data version export. +*DataVersionExportApi* | [**get_available_data_versions**](docs/DataVersionExportApi.md#get_available_data_versions) | **GET** /v1alpha/data/data-version-exports/data-versions | Retrieve a list of all data versions +*DataVersionExportApi* | [**get_available_exports**](docs/DataVersionExportApi.md#get_available_exports) | **GET** /v1alpha/data/data-version-exports/exports | Retrieve the details of all data version exports +*DataVersionExportApi* | [**get_export**](docs/DataVersionExportApi.md#get_export) | **GET** /v1alpha/data/data-version-exports/exports/{exportUuid} | Retrieve the details of a data version export. +*DataVersionExportApi* | [**get_export_job_status**](docs/DataVersionExportApi.md#get_export_job_status) | **GET** /v1alpha/data/data-version-exports/jobs/{jobUuid} | Retrieve a data version export job's status +*DataVersionExportApi* | [**schedule_export_job**](docs/DataVersionExportApi.md#schedule_export_job) | **POST** /v1alpha/data/data-version-exports/jobs | Schedule a data version export job +*SearchApi* | [**simple_search_document_headers**](docs/SearchApi.md#simple_search_document_headers) | **GET** /v1alpha/search/simple/document-headers | Perform a simple search for Visier document headers +*VeeQueryApi* | [**vee_query_feedback**](docs/VeeQueryApi.md#vee_query_feedback) | **POST** /v1alpha/rest/vee/query-feedback | Submit Vee feedback +*VeeQueryApi* | [**vee_query_request**](docs/VeeQueryApi.md#vee_query_request) | **POST** /v1alpha/rest/vee/query | Ask Vee a question +*VeeQueryApi* | [**vee_sample_questions**](docs/VeeQueryApi.md#vee_sample_questions) | **GET** /v1alpha/rest/vee/sample-questions | Get a list of sample questions + + +## Documentation For Models + + - [AggregationQueryDTO](docs/AggregationQueryDTO.md) + - [AggregationQueryExecutionDTO](docs/AggregationQueryExecutionDTO.md) + - [AggregationQuerySourceDTO](docs/AggregationQuerySourceDTO.md) + - [AggregationQuerySourceMetricDTO](docs/AggregationQuerySourceMetricDTO.md) + - [AggregationQuerySourceMetricsDTO](docs/AggregationQuerySourceMetricsDTO.md) + - [AggregationTypeParameterValueDTO](docs/AggregationTypeParameterValueDTO.md) + - [CellDTO](docs/CellDTO.md) + - [CellDistributionBinDTO](docs/CellDistributionBinDTO.md) + - [CellDistributionOptionsDTO](docs/CellDistributionOptionsDTO.md) + - [CellSetAxisDTO](docs/CellSetAxisDTO.md) + - [CellSetAxisPositionDTO](docs/CellSetAxisPositionDTO.md) + - [CellSetDTO](docs/CellSetDTO.md) + - [CohortFilterDTO](docs/CohortFilterDTO.md) + - [DataVersionExportColumnDTO](docs/DataVersionExportColumnDTO.md) + - [DataVersionExportDTO](docs/DataVersionExportDTO.md) + - [DataVersionExportDataVersionSummaryDTO](docs/DataVersionExportDataVersionSummaryDTO.md) + - [DataVersionExportDataVersionsDTO](docs/DataVersionExportDataVersionsDTO.md) + - [DataVersionExportFileDTO](docs/DataVersionExportFileDTO.md) + - [DataVersionExportJobStatusDTO](docs/DataVersionExportJobStatusDTO.md) + - [DataVersionExportPartFileDTO](docs/DataVersionExportPartFileDTO.md) + - [DataVersionExportScheduleJobRequestDTO](docs/DataVersionExportScheduleJobRequestDTO.md) + - [DataVersionExportScheduleJobResponseDTO](docs/DataVersionExportScheduleJobResponseDTO.md) + - [DataVersionExportTableDTO](docs/DataVersionExportTableDTO.md) + - [DataVersionExportsDTO](docs/DataVersionExportsDTO.md) + - [DimensionMemberReferenceDTO](docs/DimensionMemberReferenceDTO.md) + - [DimensionReferenceDTO](docs/DimensionReferenceDTO.md) + - [DocumentSearchLinkDTO](docs/DocumentSearchLinkDTO.md) + - [DvExportStatus](docs/DvExportStatus.md) + - [GoogleProtobufAny](docs/GoogleProtobufAny.md) + - [InternalQueryExecutionOptionsDTO](docs/InternalQueryExecutionOptionsDTO.md) + - [KeyGroupFilterDTO](docs/KeyGroupFilterDTO.md) + - [KeyGroupFilterItemDTO](docs/KeyGroupFilterItemDTO.md) + - [LineageDTO](docs/LineageDTO.md) + - [ListQueryExecutionDTO](docs/ListQueryExecutionDTO.md) + - [ListQueryExecutionOptionsDTO](docs/ListQueryExecutionOptionsDTO.md) + - [ListQuerySourceDTO](docs/ListQuerySourceDTO.md) + - [ListResponse](docs/ListResponse.md) + - [MemberFilterDTO](docs/MemberFilterDTO.md) + - [MemberParameterValueDTO](docs/MemberParameterValueDTO.md) + - [MemberValuesDTO](docs/MemberValuesDTO.md) + - [NumericParameterValueDTO](docs/NumericParameterValueDTO.md) + - [PlanParameterValueDTO](docs/PlanParameterValueDTO.md) + - [PropertyColumnDTO](docs/PropertyColumnDTO.md) + - [PropertyReferenceDTO](docs/PropertyReferenceDTO.md) + - [QueryAxisDTO](docs/QueryAxisDTO.md) + - [QueryAxisOptionsDTO](docs/QueryAxisOptionsDTO.md) + - [QueryClarificationDTO](docs/QueryClarificationDTO.md) + - [QueryDimensionDataMemberSelectionDTO](docs/QueryDimensionDataMemberSelectionDTO.md) + - [QueryDimensionLeafSelectionDTO](docs/QueryDimensionLeafSelectionDTO.md) + - [QueryDimensionLevelSelectionDTO](docs/QueryDimensionLevelSelectionDTO.md) + - [QueryDimensionMemberSelectionDTO](docs/QueryDimensionMemberSelectionDTO.md) + - [QueryExecutionOptionsDTO](docs/QueryExecutionOptionsDTO.md) + - [QueryFilterDTO](docs/QueryFilterDTO.md) + - [QueryMemberMapPropertyDTO](docs/QueryMemberMapPropertyDTO.md) + - [QueryMemberMapSelectionDTO](docs/QueryMemberMapSelectionDTO.md) + - [QueryNumericRangesDTO](docs/QueryNumericRangesDTO.md) + - [QueryParameterValueDTO](docs/QueryParameterValueDTO.md) + - [QueryPropertyDTO](docs/QueryPropertyDTO.md) + - [QueryTimeIntervalDTO](docs/QueryTimeIntervalDTO.md) + - [QueryTimeIntervalsDTO](docs/QueryTimeIntervalsDTO.md) + - [SelectionConceptReferenceDTO](docs/SelectionConceptReferenceDTO.md) + - [SimpleDocumentHeaderSearchResponseDTO](docs/SimpleDocumentHeaderSearchResponseDTO.md) + - [SimpleDocumentHeaderSearchResultDTO](docs/SimpleDocumentHeaderSearchResultDTO.md) + - [SnapshotQueryExecutionDTO](docs/SnapshotQueryExecutionDTO.md) + - [SnapshotQueryExecutionOptionsDTO](docs/SnapshotQueryExecutionOptionsDTO.md) + - [SortOptionDTO](docs/SortOptionDTO.md) + - [SqlLikeQueryExecutionDTO](docs/SqlLikeQueryExecutionDTO.md) + - [Status](docs/Status.md) + - [TimeShiftDTO](docs/TimeShiftDTO.md) + - [VeeDataDTO](docs/VeeDataDTO.md) + - [VeeFeedbackDTO](docs/VeeFeedbackDTO.md) + - [VeeQueryCorrectionsDTO](docs/VeeQueryCorrectionsDTO.md) + - [VeeResponseDTO](docs/VeeResponseDTO.md) + - [VeeResponseSchemaDTO](docs/VeeResponseSchemaDTO.md) + - [VeeResponseSchemaReferenceDTO](docs/VeeResponseSchemaReferenceDTO.md) + - [VeeSampleQuestionDTO](docs/VeeSampleQuestionDTO.md) + - [VeeSampleQuestionLibraryDTO](docs/VeeSampleQuestionLibraryDTO.md) + - [VeeSampleQuestionMetadataDTO](docs/VeeSampleQuestionMetadataDTO.md) + - [VeeStatusCodeDTO](docs/VeeStatusCodeDTO.md) + - [VeeThreadStateDTO](docs/VeeThreadStateDTO.md) + - [VeeVisualDTO](docs/VeeVisualDTO.md) + + + +## Documentation For Authorization + + +Authentication schemes defined for the API: + +### ApiKeyAuth + +- **Type**: API key +- **API key parameter name**: apikey +- **Location**: HTTP header + + +### BearerAuth + +- **Type**: Bearer authentication + + +### CookieAuth + +- **Type**: API key +- **API key parameter name**: VisierASIDToken +- **Location**: + + +### OAuth2Auth + +- **Type**: OAuth +- **Flow**: password +- **Authorization URL**: +- **Scopes**: + - **read**: Grants read access + - **write**: Grants write access + + +### OAuth2Auth + +- **Type**: OAuth +- **Flow**: accessCode +- **Authorization URL**: /v1/auth/oauth2/authorize +- **Scopes**: + - **read**: Grants read access + - **write**: Grants write access + + +## Author + + + + diff --git a/src/visier.sdk.api.data_out/docs/AggregationQueryDTO.md b/src/visier.sdk.api.data_out/docs/AggregationQueryDTO.md new file mode 100644 index 000000000..e2bca13b0 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/AggregationQueryDTO.md @@ -0,0 +1,34 @@ +# AggregationQueryDTO + +An AggregationQuery defines the data to query in an aggregation query and returns a `cell set` calculated from the selected data points. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**axes** | [**List[QueryAxisDTO]**](QueryAxisDTO.md) | The objects by which to group the query. An axis defines the groups that the data belongs to. Omit `axes` if no grouping is required. | [optional] +**filters** | [**List[QueryFilterDTO]**](QueryFilterDTO.md) | The objects by which to filter the query, such as dimensions or concepts. A filter defines the population to retrieve data from. Omit `filters` if no filtering is required. | [optional] +**parameter_values** | [**List[QueryParameterValueDTO]**](QueryParameterValueDTO.md) | The values associated with parameters, if defined. | [optional] +**source** | [**AggregationQuerySourceDTO**](AggregationQuerySourceDTO.md) | The source data, such as a metric or formula, to query. | [optional] +**time_intervals** | [**QueryTimeIntervalsDTO**](QueryTimeIntervalsDTO.md) | The time intervals to query. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.aggregation_query_dto import AggregationQueryDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AggregationQueryDTO from a JSON string +aggregation_query_dto_instance = AggregationQueryDTO.from_json(json) +# print the JSON string representation of the object +print(AggregationQueryDTO.to_json()) + +# convert the object into a dict +aggregation_query_dto_dict = aggregation_query_dto_instance.to_dict() +# create an instance of AggregationQueryDTO from a dict +aggregation_query_dto_from_dict = AggregationQueryDTO.from_dict(aggregation_query_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/AggregationQueryExecutionDTO.md b/src/visier.sdk.api.data_out/docs/AggregationQueryExecutionDTO.md new file mode 100644 index 000000000..01e45b6ba --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/AggregationQueryExecutionDTO.md @@ -0,0 +1,31 @@ +# AggregationQueryExecutionDTO + +An AggregationQueryExecution provides instructions to perform your aggregation query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**options** | [**QueryExecutionOptionsDTO**](QueryExecutionOptionsDTO.md) | Additional instructions for your query, such as a calendar type or conversion information. | [optional] +**query** | [**AggregationQueryDTO**](AggregationQueryDTO.md) | The data to perform an aggregation on, such as a metric or formula. The query must include a time interval, and may optionally include filters and axes. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.aggregation_query_execution_dto import AggregationQueryExecutionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AggregationQueryExecutionDTO from a JSON string +aggregation_query_execution_dto_instance = AggregationQueryExecutionDTO.from_json(json) +# print the JSON string representation of the object +print(AggregationQueryExecutionDTO.to_json()) + +# convert the object into a dict +aggregation_query_execution_dto_dict = aggregation_query_execution_dto_instance.to_dict() +# create an instance of AggregationQueryExecutionDTO from a dict +aggregation_query_execution_dto_from_dict = AggregationQueryExecutionDTO.from_dict(aggregation_query_execution_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/AggregationQuerySourceDTO.md b/src/visier.sdk.api.data_out/docs/AggregationQuerySourceDTO.md new file mode 100644 index 000000000..d43265845 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/AggregationQuerySourceDTO.md @@ -0,0 +1,32 @@ +# AggregationQuerySourceDTO + +An AggregationQuerySource defines the source data to query in an aggregation query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**formula** | **str** | An ad-hoc metric formula. The response returns the results of the aggregate. See the formula dictionary in Visier to find functions and objects you can use in a formula. | [optional] +**metric** | **str** | The ID of an existing metric in your Visier solution. See `Metrics` to get the ID. | [optional] +**metrics** | [**AggregationQuerySourceMetricsDTO**](AggregationQuerySourceMetricsDTO.md) | The IDs of metrics to aggregate. All metrics in the query must reference the same analytic object. For example, you cannot query Headcount and Applicant Count because one uses the Employee subject and the other uses the Applicant subject. You can query Headcount and Employee Count for Women because both reference the Employee subject. Only available when the Accept header is text/csv. For more information, see `Aggregate`. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.aggregation_query_source_dto import AggregationQuerySourceDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AggregationQuerySourceDTO from a JSON string +aggregation_query_source_dto_instance = AggregationQuerySourceDTO.from_json(json) +# print the JSON string representation of the object +print(AggregationQuerySourceDTO.to_json()) + +# convert the object into a dict +aggregation_query_source_dto_dict = aggregation_query_source_dto_instance.to_dict() +# create an instance of AggregationQuerySourceDTO from a dict +aggregation_query_source_dto_from_dict = AggregationQuerySourceDTO.from_dict(aggregation_query_source_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/AggregationQuerySourceMetricDTO.md b/src/visier.sdk.api.data_out/docs/AggregationQuerySourceMetricDTO.md new file mode 100644 index 000000000..2cf264e1b --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/AggregationQuerySourceMetricDTO.md @@ -0,0 +1,33 @@ +# AggregationQuerySourceMetricDTO + +The column definition for a single metric within a `metrics` query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**column_name** | **str** | The column name in the CSV file. Default is to use id as the column name. | [optional] +**formula** | **str** | An ad-hoc metric formula. The response returns the results of the aggregate. See the formula dictionary in Visier to find functions and objects you can use in a formula. | [optional] +**id** | **str** | The unique ID of the metric. Note: See `Metrics` to get the ID. If columnName is omitted, id is the column name in the CSV file. | [optional] +**qualifying_path** | **str** | The base qualifying path to prefix the axes and filters' qualifying paths with. You must specify the qualifying path on a metric if the convergent analytic object of the metric doesn't match the starting object in the qualifying paths of the axes and filters. For example, consider a multi-metric query that contains metrics that count the number of applicants and requisitions, grouped by the country of the recruiter's direct manager. The following sample shows how to use qualifyingPath to specify the object reference traversal path from each metric's convergent analytic object to the start of the path for the axes. In this example, there is only one convergent analytic object. ``` \"source\": { \"metrics\": { \"columns\": [ { \"id\": \"employeeCount\" }, { \"id\": \"applicantCount\", \"qualifyingPath\": \"Applicant.Requisition.Recruiter\" }, { \"id\": \"requisitionCount\", \"qualifyingPath\": \"Requisition.Recruiter\" } ] } }, \"axes\": [ { \"dimensionLevelSelection\": { \"dimension\": { \"name\": \"Location\", \"qualifyingPath\": \"Employee.Direct_Manager\" }, \"levelIds\": [ \"Location_1\" ] } } ] ``` **Note:** * `employeeCount` doesn't need a `qualifyingPath` because it's already convergent with the start of the axis path. * The metrics' qualifying paths must provide the reference name that resolves to the first object of the axis' qualifying path as their last path segment. In this case, Recruiter is a named reference pointing to Employee. The final qualifying paths for the metrics are: * `employeeCount`: Employee.Direct_Manager * `applicantCount`: Applicant.Requisition.Recruiter.Direct_Manager * `requisitionCount`: Requisition.Recruiter.Direct_Manager | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.aggregation_query_source_metric_dto import AggregationQuerySourceMetricDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AggregationQuerySourceMetricDTO from a JSON string +aggregation_query_source_metric_dto_instance = AggregationQuerySourceMetricDTO.from_json(json) +# print the JSON string representation of the object +print(AggregationQuerySourceMetricDTO.to_json()) + +# convert the object into a dict +aggregation_query_source_metric_dto_dict = aggregation_query_source_metric_dto_instance.to_dict() +# create an instance of AggregationQuerySourceMetricDTO from a dict +aggregation_query_source_metric_dto_from_dict = AggregationQuerySourceMetricDTO.from_dict(aggregation_query_source_metric_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/AggregationQuerySourceMetricsDTO.md b/src/visier.sdk.api.data_out/docs/AggregationQuerySourceMetricsDTO.md new file mode 100644 index 000000000..999bcf59e --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/AggregationQuerySourceMetricsDTO.md @@ -0,0 +1,30 @@ +# AggregationQuerySourceMetricsDTO + +The IDs and column names of multiple metrics. **Note:** Only available when the `Accept` header is text/csv. For more information, see `Aggregate` + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**columns** | [**List[AggregationQuerySourceMetricDTO]**](AggregationQuerySourceMetricDTO.md) | An array of metric columns. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.aggregation_query_source_metrics_dto import AggregationQuerySourceMetricsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AggregationQuerySourceMetricsDTO from a JSON string +aggregation_query_source_metrics_dto_instance = AggregationQuerySourceMetricsDTO.from_json(json) +# print the JSON string representation of the object +print(AggregationQuerySourceMetricsDTO.to_json()) + +# convert the object into a dict +aggregation_query_source_metrics_dto_dict = aggregation_query_source_metrics_dto_instance.to_dict() +# create an instance of AggregationQuerySourceMetricsDTO from a dict +aggregation_query_source_metrics_dto_from_dict = AggregationQuerySourceMetricsDTO.from_dict(aggregation_query_source_metrics_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/AggregationTypeParameterValueDTO.md b/src/visier.sdk.api.data_out/docs/AggregationTypeParameterValueDTO.md new file mode 100644 index 000000000..f79516480 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/AggregationTypeParameterValueDTO.md @@ -0,0 +1,31 @@ +# AggregationTypeParameterValueDTO + +The value for an aggregation parameter. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**aggregation_option_id** | **str** | The unique ID of the aggregation option. | [optional] +**parameter_id** | **str** | The unique ID of the aggregation parameter. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.aggregation_type_parameter_value_dto import AggregationTypeParameterValueDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of AggregationTypeParameterValueDTO from a JSON string +aggregation_type_parameter_value_dto_instance = AggregationTypeParameterValueDTO.from_json(json) +# print the JSON string representation of the object +print(AggregationTypeParameterValueDTO.to_json()) + +# convert the object into a dict +aggregation_type_parameter_value_dto_dict = aggregation_type_parameter_value_dto_instance.to_dict() +# create an instance of AggregationTypeParameterValueDTO from a dict +aggregation_type_parameter_value_dto_from_dict = AggregationTypeParameterValueDTO.from_dict(aggregation_type_parameter_value_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/CellDTO.md b/src/visier.sdk.api.data_out/docs/CellDTO.md new file mode 100644 index 000000000..993879c22 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/CellDTO.md @@ -0,0 +1,33 @@ +# CellDTO + +An individual value in a cell set. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**coordinates** | **List[int]** | A list of integers representing the coordinates of this cell, identifying its position along each axis. | [optional] +**distribution** | [**List[CellDistributionBinDTO]**](CellDistributionBinDTO.md) | The optional distribution of this cell. This will be populated if distribution calculation is requested, and supported by the query. | [optional] +**support** | **str** | The number of data points contributing to this cell. | [optional] +**value** | **str** | The value of the cell. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.cell_dto import CellDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CellDTO from a JSON string +cell_dto_instance = CellDTO.from_json(json) +# print the JSON string representation of the object +print(CellDTO.to_json()) + +# convert the object into a dict +cell_dto_dict = cell_dto_instance.to_dict() +# create an instance of CellDTO from a dict +cell_dto_from_dict = CellDTO.from_dict(cell_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/CellDistributionBinDTO.md b/src/visier.sdk.api.data_out/docs/CellDistributionBinDTO.md new file mode 100644 index 000000000..4c598cc41 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/CellDistributionBinDTO.md @@ -0,0 +1,31 @@ +# CellDistributionBinDTO + +A cell distribution bin. Each bin has a metric value (of the bin) and the number of observations contributing to the bin. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**support** | **str** | | [optional] +**value** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.cell_distribution_bin_dto import CellDistributionBinDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CellDistributionBinDTO from a JSON string +cell_distribution_bin_dto_instance = CellDistributionBinDTO.from_json(json) +# print the JSON string representation of the object +print(CellDistributionBinDTO.to_json()) + +# convert the object into a dict +cell_distribution_bin_dto_dict = cell_distribution_bin_dto_instance.to_dict() +# create an instance of CellDistributionBinDTO from a dict +cell_distribution_bin_dto_from_dict = CellDistributionBinDTO.from_dict(cell_distribution_bin_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/CellDistributionOptionsDTO.md b/src/visier.sdk.api.data_out/docs/CellDistributionOptionsDTO.md new file mode 100644 index 000000000..24c6a5c3a --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/CellDistributionOptionsDTO.md @@ -0,0 +1,30 @@ +# CellDistributionOptionsDTO + +Cell distribution options for queries. Include with aggregation queries to enable distribution calculation per cell. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bin_count** | **int** | The number of bins to return, minimum of 2, and a maximum of 100. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.cell_distribution_options_dto import CellDistributionOptionsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CellDistributionOptionsDTO from a JSON string +cell_distribution_options_dto_instance = CellDistributionOptionsDTO.from_json(json) +# print the JSON string representation of the object +print(CellDistributionOptionsDTO.to_json()) + +# convert the object into a dict +cell_distribution_options_dto_dict = cell_distribution_options_dto_instance.to_dict() +# create an instance of CellDistributionOptionsDTO from a dict +cell_distribution_options_dto_from_dict = CellDistributionOptionsDTO.from_dict(cell_distribution_options_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/CellSetAxisDTO.md b/src/visier.sdk.api.data_out/docs/CellSetAxisDTO.md new file mode 100644 index 000000000..5b601c0d6 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/CellSetAxisDTO.md @@ -0,0 +1,31 @@ +# CellSetAxisDTO + +The axis of a cell set associated with a dimension. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension** | [**DimensionReferenceDTO**](DimensionReferenceDTO.md) | The dimension associated with the axis. | [optional] +**positions** | [**List[CellSetAxisPositionDTO]**](CellSetAxisPositionDTO.md) | A list of paths that represent the data's positions along the axis. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.cell_set_axis_dto import CellSetAxisDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CellSetAxisDTO from a JSON string +cell_set_axis_dto_instance = CellSetAxisDTO.from_json(json) +# print the JSON string representation of the object +print(CellSetAxisDTO.to_json()) + +# convert the object into a dict +cell_set_axis_dto_dict = cell_set_axis_dto_instance.to_dict() +# create an instance of CellSetAxisDTO from a dict +cell_set_axis_dto_from_dict = CellSetAxisDTO.from_dict(cell_set_axis_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/CellSetAxisPositionDTO.md b/src/visier.sdk.api.data_out/docs/CellSetAxisPositionDTO.md new file mode 100644 index 000000000..e92a7d20e --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/CellSetAxisPositionDTO.md @@ -0,0 +1,32 @@ +# CellSetAxisPositionDTO + +The position along the axis of a cell set. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**display_name** | **str** | The display name of the position. This is optional and is omitted if unavailable or not requested. | [optional] +**display_name_path** | **List[str]** | Optional display name path of the member. | [optional] +**path** | **List[str]** | A list of strings representing the members within a dimension path. For example, a dimension for Location may have the paths \"Canada, BC, Vancouver\" and \"US, California, San Francisco\". | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.cell_set_axis_position_dto import CellSetAxisPositionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CellSetAxisPositionDTO from a JSON string +cell_set_axis_position_dto_instance = CellSetAxisPositionDTO.from_json(json) +# print the JSON string representation of the object +print(CellSetAxisPositionDTO.to_json()) + +# convert the object into a dict +cell_set_axis_position_dto_dict = cell_set_axis_position_dto_instance.to_dict() +# create an instance of CellSetAxisPositionDTO from a dict +cell_set_axis_position_dto_from_dict = CellSetAxisPositionDTO.from_dict(cell_set_axis_position_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/CellSetDTO.md b/src/visier.sdk.api.data_out/docs/CellSetDTO.md new file mode 100644 index 000000000..9a135fd6c --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/CellSetDTO.md @@ -0,0 +1,32 @@ +# CellSetDTO + +The set of cells returned from executing an aggregation query. A CellSet represents a structured, multidimensional array of values. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**axes** | [**List[CellSetAxisDTO]**](CellSetAxisDTO.md) | The set of axes for the cell set that represent the objects the data is grouped by. | [optional] +**cells** | [**List[CellDTO]**](CellDTO.md) | The set of cells that represent the result of your query. | [optional] +**lineage** | [**LineageDTO**](LineageDTO.md) | Lineage information for this cell set. This can be omitted if the cell has no lineage or the user did not request lineage information. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.cell_set_dto import CellSetDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CellSetDTO from a JSON string +cell_set_dto_instance = CellSetDTO.from_json(json) +# print the JSON string representation of the object +print(CellSetDTO.to_json()) + +# convert the object into a dict +cell_set_dto_dict = cell_set_dto_instance.to_dict() +# create an instance of CellSetDTO from a dict +cell_set_dto_from_dict = CellSetDTO.from_dict(cell_set_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/CohortFilterDTO.md b/src/visier.sdk.api.data_out/docs/CohortFilterDTO.md new file mode 100644 index 000000000..4d184acd3 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/CohortFilterDTO.md @@ -0,0 +1,32 @@ +# CohortFilterDTO + +Use a cohort filter to define a population as it existed during a specific time period. Cohort filters allow you to define a population in terms of a collection of filters, known as a key group. The cohort's defined time interval is independent of the query's time. The cohort's time interval is the time at which the key group should be applied. Cohorts are typically used to follow populations and understand changes to the population over time, such as promotion and resignation rates. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**exclude** | **bool** | If true, the population is defined by those excluded by the filters. Default is false. | [optional] +**key_group** | [**KeyGroupFilterDTO**](KeyGroupFilterDTO.md) | A key group is a collection of filters that define the shape of the analysis population. | [optional] +**time_interval** | [**QueryTimeIntervalDTO**](QueryTimeIntervalDTO.md) | The time at which to apply the key group, such as a specific day or period of months. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.cohort_filter_dto import CohortFilterDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of CohortFilterDTO from a JSON string +cohort_filter_dto_instance = CohortFilterDTO.from_json(json) +# print the JSON string representation of the object +print(CohortFilterDTO.to_json()) + +# convert the object into a dict +cohort_filter_dto_dict = cohort_filter_dto_instance.to_dict() +# create an instance of CohortFilterDTO from a dict +cohort_filter_dto_from_dict = CohortFilterDTO.from_dict(cohort_filter_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DataQueryApi.md b/src/visier.sdk.api.data_out/docs/DataQueryApi.md new file mode 100644 index 000000000..7f8bcd751 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DataQueryApi.md @@ -0,0 +1,412 @@ +# visier.sdk.api.data_out.DataQueryApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**aggregate**](DataQueryApi.md#aggregate) | **POST** /v1/data/query/aggregate | Query aggregate data +[**list**](DataQueryApi.md#list) | **POST** /v1/data/query/list | Query a list of details +[**query_snapshot**](DataQueryApi.md#query_snapshot) | **POST** /v1/data/query/snapshot | Query a series of detailed snapshots +[**sql_like**](DataQueryApi.md#sql_like) | **POST** /v1/data/query/sql | Query aggregate or list data using SQL-like syntax + + +# **aggregate** +> CellSetDTO aggregate(aggregation_query_execution_dto) + +Query aggregate data + +To retrieve aggregated values from your data in Visier, you can perform an aggregation. Usually, an aggregation retrieves values over a period of time, such as multiple months. You can also group and filter your data in an aggregation query to retrieve detailed information. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.models.aggregation_query_execution_dto import AggregationQueryExecutionDTO +from visier.sdk.api.data_out.models.cell_set_dto import CellSetDTO +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.DataQueryApi(api_client) + aggregation_query_execution_dto = visier.sdk.api.data_out.AggregationQueryExecutionDTO() # AggregationQueryExecutionDTO | + + try: + # Query aggregate data + api_response = api_instance.aggregate(aggregation_query_execution_dto) + print("The response of DataQueryApi->aggregate:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataQueryApi->aggregate: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **aggregation_query_execution_dto** | [**AggregationQueryExecutionDTO**](AggregationQueryExecutionDTO.md)| | + +### Return type + +[**CellSetDTO**](CellSetDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list** +> ListResponse list(list_query_execution_dto) + +Query a list of details + +To retrieve a list of values for specific objects, you can perform a list query. A list query provides information about values for selected data points, and is not an aggregated value. In Visier's interface, a list query is comparable to View Details for a specific data point in a visualization. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.models.list_query_execution_dto import ListQueryExecutionDTO +from visier.sdk.api.data_out.models.list_response import ListResponse +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.DataQueryApi(api_client) + list_query_execution_dto = visier.sdk.api.data_out.ListQueryExecutionDTO() # ListQueryExecutionDTO | + + try: + # Query a list of details + api_response = api_instance.list(list_query_execution_dto) + print("The response of DataQueryApi->list:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataQueryApi->list: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **list_query_execution_dto** | [**ListQueryExecutionDTO**](ListQueryExecutionDTO.md)| | + +### Return type + +[**ListResponse**](ListResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json, application/octet-stream, text/csv + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | List query response | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **query_snapshot** +> ListResponse query_snapshot(snapshot_query_execution_dto) + +Query a series of detailed snapshots + +To retrieve a collection of `list` query-style snapshots taken at the defined intervals, execute a `snapshot` query. Each snapshot in the result is associated with a timestamp, or the \"effective date\" at which date snapshot data was valid. This API allows you to request a detailed time series from Visier. Structurally, a `snapshot` query is similar to a `list` query, but has the following differences: * The `snapshot` query may contain a column, `effectiveDateProperty`, that specifies the time for each snapshot. To include the `effectiveDateProperty` column, add the following object to the columns array: ```json { \"columnName\": \"Snapshot_Date\", \"columnDefinition\": { \"effectiveDateProperty\": {} } } ``` * The `snapshot` query uses `timeIntervals` (like an `aggregate` query) instead of `timeInterval` (like a `list` query) because the `snapshot` query must specify the number of snapshots to generate. To specify the number of snapshots to generate, use the `intervalCount` property in the `timeIntervals` object, as shown next. ```json { \"timeIntervals\": { \"fromDateTime\": \"2022-01-01\", \"intervalPeriodType\": \"MONTH\", \"intervalPeriodCount\": 6, \"intervalCount\": 4 } ``` + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.models.list_response import ListResponse +from visier.sdk.api.data_out.models.snapshot_query_execution_dto import SnapshotQueryExecutionDTO +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.DataQueryApi(api_client) + snapshot_query_execution_dto = visier.sdk.api.data_out.SnapshotQueryExecutionDTO() # SnapshotQueryExecutionDTO | + + try: + # Query a series of detailed snapshots + api_response = api_instance.query_snapshot(snapshot_query_execution_dto) + print("The response of DataQueryApi->query_snapshot:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataQueryApi->query_snapshot: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **snapshot_query_execution_dto** | [**SnapshotQueryExecutionDTO**](SnapshotQueryExecutionDTO.md)| | + +### Return type + +[**ListResponse**](ListResponse.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json, application/octet-stream, text/csv + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | List query response | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **sql_like** +> CellSetDTO sql_like(sql_like_query_execution_dto) + +Query aggregate or list data using SQL-like syntax + +To retrieve a list of values for specific objects or aggregate values from metrics, you can write queries using SQL-like syntax. The response format matches the query type whether aggregate or list. If requested, aggregate query results may be flattened into tabular format. A SQL-like query is an aggregate if it contains at least one metric. Aggregate queries must specify a time interval divided into periods; for example: ```sql SELECT employeeCount() AS \"Employee Count\", level(Gender, \"Gender\") AS Gender FROM Employee WHERE Visier_Time IN periods(date(\"2023-01-01\"), 4, period(3, Month)); ``` A SQL-like query is a list if it does not contain any metrics. List queries define time intervals as simple intervals; for example: ```sql SELECT EmployeeID AS \"Employee ID\", level(Gender, \"Gender\") AS Gender FROM Employee WHERE Visier_Time BETWEEN date(\"2022-01-01\") AND date(\"2023-01-01\"); ``` + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.models.cell_set_dto import CellSetDTO +from visier.sdk.api.data_out.models.sql_like_query_execution_dto import SqlLikeQueryExecutionDTO +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.DataQueryApi(api_client) + sql_like_query_execution_dto = visier.sdk.api.data_out.SqlLikeQueryExecutionDTO() # SqlLikeQueryExecutionDTO | + + try: + # Query aggregate or list data using SQL-like syntax + api_response = api_instance.sql_like(sql_like_query_execution_dto) + print("The response of DataQueryApi->sql_like:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataQueryApi->sql_like: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **sql_like_query_execution_dto** | [**SqlLikeQueryExecutionDTO**](SqlLikeQueryExecutionDTO.md)| | + +### Return type + +[**CellSetDTO**](CellSetDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json, application/octet-stream, text/csv + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | List query response | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.data_out/docs/DataVersionExportApi.md b/src/visier.sdk.api.data_out/docs/DataVersionExportApi.md new file mode 100644 index 000000000..891e3b1e1 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DataVersionExportApi.md @@ -0,0 +1,602 @@ +# visier.sdk.api.data_out.DataVersionExportApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**call_1_alpha_download_file**](DataVersionExportApi.md#call_1_alpha_download_file) | **GET** /v1alpha/data/data-version-exports/exports/{exportUuid}/files/{fileId} | Download a file from a data version export. +[**get_available_data_versions**](DataVersionExportApi.md#get_available_data_versions) | **GET** /v1alpha/data/data-version-exports/data-versions | Retrieve a list of all data versions +[**get_available_exports**](DataVersionExportApi.md#get_available_exports) | **GET** /v1alpha/data/data-version-exports/exports | Retrieve the details of all data version exports +[**get_export**](DataVersionExportApi.md#get_export) | **GET** /v1alpha/data/data-version-exports/exports/{exportUuid} | Retrieve the details of a data version export. +[**get_export_job_status**](DataVersionExportApi.md#get_export_job_status) | **GET** /v1alpha/data/data-version-exports/jobs/{jobUuid} | Retrieve a data version export job's status +[**schedule_export_job**](DataVersionExportApi.md#schedule_export_job) | **POST** /v1alpha/data/data-version-exports/jobs | Schedule a data version export job + + +# **call_1_alpha_download_file** +> bytearray call_1_alpha_download_file(export_uuid, file_id) + +Download a file from a data version export. + +This API allows you to download a file from a data version export. Data version export files are in CSV format, compressed with gzip. + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.DataVersionExportApi(api_client) + export_uuid = 'export_uuid_example' # str | The unique identifier of the data version export. + file_id = 56 # int | The unique integer identifier of the file within the data version export. + + try: + # Download a file from a data version export. + api_response = api_instance.call_1_alpha_download_file(export_uuid, file_id) + print("The response of DataVersionExportApi->call_1_alpha_download_file:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataVersionExportApi->call_1_alpha_download_file: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **export_uuid** | **str**| The unique identifier of the data version export. | + **file_id** | **int**| The unique integer identifier of the file within the data version export. | + +### Return type + +**bytearray** + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/gzip, application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | File contents | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_available_data_versions** +> DataVersionExportDataVersionsDTO get_available_data_versions() + +Retrieve a list of all data versions + +Retrieve a list of all data versions in the tenant. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.models.data_version_export_data_versions_dto import DataVersionExportDataVersionsDTO +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.DataVersionExportApi(api_client) + + try: + # Retrieve a list of all data versions + api_response = api_instance.get_available_data_versions() + print("The response of DataVersionExportApi->get_available_data_versions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataVersionExportApi->get_available_data_versions: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**DataVersionExportDataVersionsDTO**](DataVersionExportDataVersionsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_available_exports** +> DataVersionExportsDTO get_available_exports() + +Retrieve the details of all data version exports + +Retrieve the information for all available data version exports. **Note:** Data version exports are available for 14 days after export job completes. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.models.data_version_exports_dto import DataVersionExportsDTO +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.DataVersionExportApi(api_client) + + try: + # Retrieve the details of all data version exports + api_response = api_instance.get_available_exports() + print("The response of DataVersionExportApi->get_available_exports:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataVersionExportApi->get_available_exports: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**DataVersionExportsDTO**](DataVersionExportsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_export** +> DataVersionExportsDTO get_export(export_uuid) + +Retrieve the details of a data version export. + +Retrieve information for a specific data version export. **Note:** Data version exports are available for 14 days after export job completes. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.models.data_version_exports_dto import DataVersionExportsDTO +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.DataVersionExportApi(api_client) + export_uuid = 'export_uuid_example' # str | The unique identifier of the data version export. + + try: + # Retrieve the details of a data version export. + api_response = api_instance.get_export(export_uuid) + print("The response of DataVersionExportApi->get_export:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataVersionExportApi->get_export: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **export_uuid** | **str**| The unique identifier of the data version export. | + +### Return type + +[**DataVersionExportsDTO**](DataVersionExportsDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_export_job_status** +> DataVersionExportJobStatusDTO get_export_job_status(job_uuid) + +Retrieve a data version export job's status + +Retrieve the status of a data version export job. After the job completes successfully, this endpoint returns an `exportUuid` that you can use to retrieve the export information and download export files. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.models.data_version_export_job_status_dto import DataVersionExportJobStatusDTO +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.DataVersionExportApi(api_client) + job_uuid = 'job_uuid_example' # str | The unique identifier of the data version export job. + + try: + # Retrieve a data version export job's status + api_response = api_instance.get_export_job_status(job_uuid) + print("The response of DataVersionExportApi->get_export_job_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataVersionExportApi->get_export_job_status: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **job_uuid** | **str**| The unique identifier of the data version export job. | + +### Return type + +[**DataVersionExportJobStatusDTO**](DataVersionExportJobStatusDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **schedule_export_job** +> DataVersionExportScheduleJobResponseDTO schedule_export_job(data_version_export_schedule_job_request_dto) + +Schedule a data version export job + +Schedule a data version export job. The job schedules immediately and will begin when resources are available. The response returns a `jobUuid` that you can use to check the export job status. **Note:** There is a limit of 10 export jobs per tenant per day. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.models.data_version_export_schedule_job_request_dto import DataVersionExportScheduleJobRequestDTO +from visier.sdk.api.data_out.models.data_version_export_schedule_job_response_dto import DataVersionExportScheduleJobResponseDTO +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.DataVersionExportApi(api_client) + data_version_export_schedule_job_request_dto = visier.sdk.api.data_out.DataVersionExportScheduleJobRequestDTO() # DataVersionExportScheduleJobRequestDTO | + + try: + # Schedule a data version export job + api_response = api_instance.schedule_export_job(data_version_export_schedule_job_request_dto) + print("The response of DataVersionExportApi->schedule_export_job:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DataVersionExportApi->schedule_export_job: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **data_version_export_schedule_job_request_dto** | [**DataVersionExportScheduleJobRequestDTO**](DataVersionExportScheduleJobRequestDTO.md)| | + +### Return type + +[**DataVersionExportScheduleJobResponseDTO**](DataVersionExportScheduleJobResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.data_out/docs/DataVersionExportColumnDTO.md b/src/visier.sdk.api.data_out/docs/DataVersionExportColumnDTO.md new file mode 100644 index 000000000..734e43c59 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DataVersionExportColumnDTO.md @@ -0,0 +1,32 @@ +# DataVersionExportColumnDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**allows_null** | **bool** | If `true`, the column allows null values. | [optional] +**data_type** | **str** | The column's data type. Possible data types are string, integer, number, date, Boolean. | [optional] +**is_primary_key_component** | **bool** | If `true`, the column is part of the primary key. | [optional] +**name** | **str** | The column's name. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.data_version_export_column_dto import DataVersionExportColumnDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataVersionExportColumnDTO from a JSON string +data_version_export_column_dto_instance = DataVersionExportColumnDTO.from_json(json) +# print the JSON string representation of the object +print(DataVersionExportColumnDTO.to_json()) + +# convert the object into a dict +data_version_export_column_dto_dict = data_version_export_column_dto_instance.to_dict() +# create an instance of DataVersionExportColumnDTO from a dict +data_version_export_column_dto_from_dict = DataVersionExportColumnDTO.from_dict(data_version_export_column_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DataVersionExportDTO.md b/src/visier.sdk.api.data_out/docs/DataVersionExportDTO.md new file mode 100644 index 000000000..5be1fdb89 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DataVersionExportDTO.md @@ -0,0 +1,35 @@ +# DataVersionExportDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**base_data_version_number** | **str** | The baseline data version number for which the export was generated. If specified, the export is a delta of the differences between `dateVersionNumber` and `baseDataVersionNumber`. If empty, a full export is generated for `dataVersionNumber`. | [optional] +**data_version_number** | **str** | The data version number for which the export was generated. | [optional] +**deleted_tables** | **List[str]** | Tables that do not exist in `dataVersionNumber` but did exist in `baseDataVersionNumber`. | [optional] +**new_tables** | **List[str]** | Tables that exist in `dataVersionNumber` but did not exist in `baseDataVersionNumber`. | [optional] +**tables** | [**List[DataVersionExportTableDTO]**](DataVersionExportTableDTO.md) | Information about the tables in the export. | [optional] +**timestamp** | **str** | The date that the data version export was generated, in milliseconds since 1970-01-01T00:00:00Z. | [optional] +**uuid** | **str** | The unique identifier of the data version export. Must be a valid UUID. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.data_version_export_dto import DataVersionExportDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataVersionExportDTO from a JSON string +data_version_export_dto_instance = DataVersionExportDTO.from_json(json) +# print the JSON string representation of the object +print(DataVersionExportDTO.to_json()) + +# convert the object into a dict +data_version_export_dto_dict = data_version_export_dto_instance.to_dict() +# create an instance of DataVersionExportDTO from a dict +data_version_export_dto_from_dict = DataVersionExportDTO.from_dict(data_version_export_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DataVersionExportDataVersionSummaryDTO.md b/src/visier.sdk.api.data_out/docs/DataVersionExportDataVersionSummaryDTO.md new file mode 100644 index 000000000..d9071e0aa --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DataVersionExportDataVersionSummaryDTO.md @@ -0,0 +1,31 @@ +# DataVersionExportDataVersionSummaryDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created** | **str** | The date that the data version was generated, in milliseconds since 1970-01-01T00:00:00Z. | [optional] +**data_category** | **str** | The data category that the data version belongs to. If empty, the data version belongs to the default data category. | [optional] +**data_version** | **str** | The data version number. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.data_version_export_data_version_summary_dto import DataVersionExportDataVersionSummaryDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataVersionExportDataVersionSummaryDTO from a JSON string +data_version_export_data_version_summary_dto_instance = DataVersionExportDataVersionSummaryDTO.from_json(json) +# print the JSON string representation of the object +print(DataVersionExportDataVersionSummaryDTO.to_json()) + +# convert the object into a dict +data_version_export_data_version_summary_dto_dict = data_version_export_data_version_summary_dto_instance.to_dict() +# create an instance of DataVersionExportDataVersionSummaryDTO from a dict +data_version_export_data_version_summary_dto_from_dict = DataVersionExportDataVersionSummaryDTO.from_dict(data_version_export_data_version_summary_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DataVersionExportDataVersionsDTO.md b/src/visier.sdk.api.data_out/docs/DataVersionExportDataVersionsDTO.md new file mode 100644 index 000000000..c146014d9 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DataVersionExportDataVersionsDTO.md @@ -0,0 +1,29 @@ +# DataVersionExportDataVersionsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_versions** | [**List[DataVersionExportDataVersionSummaryDTO]**](DataVersionExportDataVersionSummaryDTO.md) | All the available data versions for the tenant's primary data category. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.data_version_export_data_versions_dto import DataVersionExportDataVersionsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataVersionExportDataVersionsDTO from a JSON string +data_version_export_data_versions_dto_instance = DataVersionExportDataVersionsDTO.from_json(json) +# print the JSON string representation of the object +print(DataVersionExportDataVersionsDTO.to_json()) + +# convert the object into a dict +data_version_export_data_versions_dto_dict = data_version_export_data_versions_dto_instance.to_dict() +# create an instance of DataVersionExportDataVersionsDTO from a dict +data_version_export_data_versions_dto_from_dict = DataVersionExportDataVersionsDTO.from_dict(data_version_export_data_versions_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DataVersionExportFileDTO.md b/src/visier.sdk.api.data_out/docs/DataVersionExportFileDTO.md new file mode 100644 index 000000000..b20597d4d --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DataVersionExportFileDTO.md @@ -0,0 +1,30 @@ +# DataVersionExportFileDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**columns** | [**List[DataVersionExportColumnDTO]**](DataVersionExportColumnDTO.md) | Information about a table's columns. | [optional] +**files** | [**List[DataVersionExportPartFileDTO]**](DataVersionExportPartFileDTO.md) | Information about a table's files in the export. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.data_version_export_file_dto import DataVersionExportFileDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataVersionExportFileDTO from a JSON string +data_version_export_file_dto_instance = DataVersionExportFileDTO.from_json(json) +# print the JSON string representation of the object +print(DataVersionExportFileDTO.to_json()) + +# convert the object into a dict +data_version_export_file_dto_dict = data_version_export_file_dto_instance.to_dict() +# create an instance of DataVersionExportFileDTO from a dict +data_version_export_file_dto_from_dict = DataVersionExportFileDTO.from_dict(data_version_export_file_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DataVersionExportJobStatusDTO.md b/src/visier.sdk.api.data_out/docs/DataVersionExportJobStatusDTO.md new file mode 100644 index 000000000..0fb4ee0c7 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DataVersionExportJobStatusDTO.md @@ -0,0 +1,32 @@ +# DataVersionExportJobStatusDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**completed** | **bool** | If `true`, the job completed successfully. | [optional] +**export_uuid** | **str** | The unique identifier of the data version export generated by the job. If empty, the job hasn't completed successfully. | [optional] +**failed** | **bool** | If `true`, the job failed. | [optional] +**job_uuid** | **str** | The unique identifier of the data version export job. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.data_version_export_job_status_dto import DataVersionExportJobStatusDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataVersionExportJobStatusDTO from a JSON string +data_version_export_job_status_dto_instance = DataVersionExportJobStatusDTO.from_json(json) +# print the JSON string representation of the object +print(DataVersionExportJobStatusDTO.to_json()) + +# convert the object into a dict +data_version_export_job_status_dto_dict = data_version_export_job_status_dto_instance.to_dict() +# create an instance of DataVersionExportJobStatusDTO from a dict +data_version_export_job_status_dto_from_dict = DataVersionExportJobStatusDTO.from_dict(data_version_export_job_status_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DataVersionExportPartFileDTO.md b/src/visier.sdk.api.data_out/docs/DataVersionExportPartFileDTO.md new file mode 100644 index 000000000..42849fc8e --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DataVersionExportPartFileDTO.md @@ -0,0 +1,30 @@ +# DataVersionExportPartFileDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**file_id** | **int** | The unique integer identifier of the file in the data version export. | [optional] +**filename** | **str** | The file's name. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.data_version_export_part_file_dto import DataVersionExportPartFileDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataVersionExportPartFileDTO from a JSON string +data_version_export_part_file_dto_instance = DataVersionExportPartFileDTO.from_json(json) +# print the JSON string representation of the object +print(DataVersionExportPartFileDTO.to_json()) + +# convert the object into a dict +data_version_export_part_file_dto_dict = data_version_export_part_file_dto_instance.to_dict() +# create an instance of DataVersionExportPartFileDTO from a dict +data_version_export_part_file_dto_from_dict = DataVersionExportPartFileDTO.from_dict(data_version_export_part_file_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DataVersionExportScheduleJobRequestDTO.md b/src/visier.sdk.api.data_out/docs/DataVersionExportScheduleJobRequestDTO.md new file mode 100644 index 000000000..fbb1c3927 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DataVersionExportScheduleJobRequestDTO.md @@ -0,0 +1,30 @@ +# DataVersionExportScheduleJobRequestDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**base_data_version_number** | **str** | Optional. The baseline data version number to use to generate a delta export. Delta exports contain the differences between `baseDataVersionNumber` and `dataVersionNumber`, such as anything updated, added, or removed in `dataVersionNumber`. If `baseDataVersionNumber` is not provided, a full export generates for `dataVersionNumber`. | [optional] +**data_version_number** | **str** | The data version number to generate an export for. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.data_version_export_schedule_job_request_dto import DataVersionExportScheduleJobRequestDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataVersionExportScheduleJobRequestDTO from a JSON string +data_version_export_schedule_job_request_dto_instance = DataVersionExportScheduleJobRequestDTO.from_json(json) +# print the JSON string representation of the object +print(DataVersionExportScheduleJobRequestDTO.to_json()) + +# convert the object into a dict +data_version_export_schedule_job_request_dto_dict = data_version_export_schedule_job_request_dto_instance.to_dict() +# create an instance of DataVersionExportScheduleJobRequestDTO from a dict +data_version_export_schedule_job_request_dto_from_dict = DataVersionExportScheduleJobRequestDTO.from_dict(data_version_export_schedule_job_request_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DataVersionExportScheduleJobResponseDTO.md b/src/visier.sdk.api.data_out/docs/DataVersionExportScheduleJobResponseDTO.md new file mode 100644 index 000000000..72a051f36 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DataVersionExportScheduleJobResponseDTO.md @@ -0,0 +1,29 @@ +# DataVersionExportScheduleJobResponseDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**job_uuid** | **str** | The unique identifier of the scheduled data version export job. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.data_version_export_schedule_job_response_dto import DataVersionExportScheduleJobResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataVersionExportScheduleJobResponseDTO from a JSON string +data_version_export_schedule_job_response_dto_instance = DataVersionExportScheduleJobResponseDTO.from_json(json) +# print the JSON string representation of the object +print(DataVersionExportScheduleJobResponseDTO.to_json()) + +# convert the object into a dict +data_version_export_schedule_job_response_dto_dict = data_version_export_schedule_job_response_dto_instance.to_dict() +# create an instance of DataVersionExportScheduleJobResponseDTO from a dict +data_version_export_schedule_job_response_dto_from_dict = DataVersionExportScheduleJobResponseDTO.from_dict(data_version_export_schedule_job_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DataVersionExportTableDTO.md b/src/visier.sdk.api.data_out/docs/DataVersionExportTableDTO.md new file mode 100644 index 000000000..4f1dafb02 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DataVersionExportTableDTO.md @@ -0,0 +1,32 @@ +# DataVersionExportTableDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**common_columns** | [**DataVersionExportFileDTO**](DataVersionExportFileDTO.md) | Information about the columns and files that are in both `dataVersionNumber` and `baseDataVersionNumber`. Always empty for full exports where `baseDataVersionNumber` is not specified. | [optional] +**deleted_columns** | **List[str]** | Information about columns that do not exist in `dataVersionNumber` but did exist in `baseDataVersionNumber`. | [optional] +**name** | **str** | The name of a table in the data version export; for example, Employee or Applicant. | [optional] +**new_columns** | [**DataVersionExportFileDTO**](DataVersionExportFileDTO.md) | Information about new columns and files in the data version. If full export, lists all columns. If delta export, lists columns that exist in `dataVersionNumber` but not in `baseDataVersionNumber`. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.data_version_export_table_dto import DataVersionExportTableDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataVersionExportTableDTO from a JSON string +data_version_export_table_dto_instance = DataVersionExportTableDTO.from_json(json) +# print the JSON string representation of the object +print(DataVersionExportTableDTO.to_json()) + +# convert the object into a dict +data_version_export_table_dto_dict = data_version_export_table_dto_instance.to_dict() +# create an instance of DataVersionExportTableDTO from a dict +data_version_export_table_dto_from_dict = DataVersionExportTableDTO.from_dict(data_version_export_table_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DataVersionExportsDTO.md b/src/visier.sdk.api.data_out/docs/DataVersionExportsDTO.md new file mode 100644 index 000000000..71bb8720e --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DataVersionExportsDTO.md @@ -0,0 +1,29 @@ +# DataVersionExportsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data_version_exports** | [**List[DataVersionExportDTO]**](DataVersionExportDTO.md) | Information about data version exports. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.data_version_exports_dto import DataVersionExportsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DataVersionExportsDTO from a JSON string +data_version_exports_dto_instance = DataVersionExportsDTO.from_json(json) +# print the JSON string representation of the object +print(DataVersionExportsDTO.to_json()) + +# convert the object into a dict +data_version_exports_dto_dict = data_version_exports_dto_instance.to_dict() +# create an instance of DataVersionExportsDTO from a dict +data_version_exports_dto_from_dict = DataVersionExportsDTO.from_dict(data_version_exports_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DimensionMemberReferenceDTO.md b/src/visier.sdk.api.data_out/docs/DimensionMemberReferenceDTO.md new file mode 100644 index 000000000..348a6f5c5 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DimensionMemberReferenceDTO.md @@ -0,0 +1,30 @@ +# DimensionMemberReferenceDTO + +The members of a dimension. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**path** | **List[str]** | A list of strings representing the members within a dimension path. For example, a dimension for Location may have the paths \"Canada, BC, Vancouver\" and \"US, California, San Francisco\". | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.dimension_member_reference_dto import DimensionMemberReferenceDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DimensionMemberReferenceDTO from a JSON string +dimension_member_reference_dto_instance = DimensionMemberReferenceDTO.from_json(json) +# print the JSON string representation of the object +print(DimensionMemberReferenceDTO.to_json()) + +# convert the object into a dict +dimension_member_reference_dto_dict = dimension_member_reference_dto_instance.to_dict() +# create an instance of DimensionMemberReferenceDTO from a dict +dimension_member_reference_dto_from_dict = DimensionMemberReferenceDTO.from_dict(dimension_member_reference_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DimensionReferenceDTO.md b/src/visier.sdk.api.data_out/docs/DimensionReferenceDTO.md new file mode 100644 index 000000000..37a2934f8 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DimensionReferenceDTO.md @@ -0,0 +1,31 @@ +# DimensionReferenceDTO + +The name and qualifying path of a dimension to query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | The ID of the dimension. See `Dimensions` to get the ID. | [optional] +**qualifying_path** | **str** | The qualifying path to the dimension in Visier, such as the analytic object or event the dimension is associated with. If the path has multiple objects, each object is separated by a period. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.dimension_reference_dto import DimensionReferenceDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DimensionReferenceDTO from a JSON string +dimension_reference_dto_instance = DimensionReferenceDTO.from_json(json) +# print the JSON string representation of the object +print(DimensionReferenceDTO.to_json()) + +# convert the object into a dict +dimension_reference_dto_dict = dimension_reference_dto_instance.to_dict() +# create an instance of DimensionReferenceDTO from a dict +dimension_reference_dto_from_dict = DimensionReferenceDTO.from_dict(dimension_reference_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DocumentSearchLinkDTO.md b/src/visier.sdk.api.data_out/docs/DocumentSearchLinkDTO.md new file mode 100644 index 000000000..69710ef0e --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DocumentSearchLinkDTO.md @@ -0,0 +1,31 @@ +# DocumentSearchLinkDTO + +Defines the attributes of a web request to reference documents in the search results. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | The URL pointing to the specific document. | [optional] +**verb** | **str** | The verb to use when formulating the web request. This is commonly `GET`. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.document_search_link_dto import DocumentSearchLinkDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of DocumentSearchLinkDTO from a JSON string +document_search_link_dto_instance = DocumentSearchLinkDTO.from_json(json) +# print the JSON string representation of the object +print(DocumentSearchLinkDTO.to_json()) + +# convert the object into a dict +document_search_link_dto_dict = document_search_link_dto_instance.to_dict() +# create an instance of DocumentSearchLinkDTO from a dict +document_search_link_dto_from_dict = DocumentSearchLinkDTO.from_dict(document_search_link_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/DvExportStatus.md b/src/visier.sdk.api.data_out/docs/DvExportStatus.md new file mode 100644 index 000000000..f2c3aa34e --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/DvExportStatus.md @@ -0,0 +1,34 @@ +# DvExportStatus + +The response structure for errors. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | Error classification. | [optional] +**localized_message** | **str** | Localized error message describing the root cause of the error. | [optional] +**message** | **str** | Not used. | [optional] +**rci** | **str** | Optional root cause identifier. | [optional] +**user_error** | **bool** | Indicates whether the error is a user error. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.dv_export_status import DvExportStatus + +# TODO update the JSON string below +json = "{}" +# create an instance of DvExportStatus from a JSON string +dv_export_status_instance = DvExportStatus.from_json(json) +# print the JSON string representation of the object +print(DvExportStatus.to_json()) + +# convert the object into a dict +dv_export_status_dict = dv_export_status_instance.to_dict() +# create an instance of DvExportStatus from a dict +dv_export_status_from_dict = DvExportStatus.from_dict(dv_export_status_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/GoogleProtobufAny.md b/src/visier.sdk.api.data_out/docs/GoogleProtobufAny.md new file mode 100644 index 000000000..f60a1fdf1 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/GoogleProtobufAny.md @@ -0,0 +1,30 @@ +# GoogleProtobufAny + +Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | The type of the serialized message. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.google_protobuf_any import GoogleProtobufAny + +# TODO update the JSON string below +json = "{}" +# create an instance of GoogleProtobufAny from a JSON string +google_protobuf_any_instance = GoogleProtobufAny.from_json(json) +# print the JSON string representation of the object +print(GoogleProtobufAny.to_json()) + +# convert the object into a dict +google_protobuf_any_dict = google_protobuf_any_instance.to_dict() +# create an instance of GoogleProtobufAny from a dict +google_protobuf_any_from_dict = GoogleProtobufAny.from_dict(google_protobuf_any_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/InternalQueryExecutionOptionsDTO.md b/src/visier.sdk.api.data_out/docs/InternalQueryExecutionOptionsDTO.md new file mode 100644 index 000000000..a98aab039 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/InternalQueryExecutionOptionsDTO.md @@ -0,0 +1,31 @@ +# InternalQueryExecutionOptionsDTO + +Internal options - not to be documented or used by external parties + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**align_time_axis_to_period_end** | **bool** | If true, shifts the time axis members back by one millisecond. Shifting the time axis members back by one millisecond makes them valid at the end of the period instead of at the start of the next period. This aligns the returned data timestamps with the timestamps in the Visier application. Example: If the timestamps are originally [`2019-06-01T00:00:00.000Z`, `2019-05-01T00:00:00.000Z`], then `alignTimeAxisPeriodEnd` turns the timestamps into [`2019-05-31T23:59:59.999Z`, `2019-04-30T23:59:59.999Z`]. Example: If the timestamps are originally [`2019-05-01T00:00:00.000Z/2019-06-01T00:00:00.000Z`, `2019-04-01T00:00:00.000Z/2019-05-01T00:00:00.000Z`], then `alignTimeAxisPeriodEnd` turns the timestamps into [`2019-05-01T00:00:00.000Z/2019-05-31T23:59:59.999Z`, `2019-04-01T00:00:00.000Z/2019-04-30T23:59:59.999Z`]. | [optional] +**sparse_handling_mode** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.internal_query_execution_options_dto import InternalQueryExecutionOptionsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of InternalQueryExecutionOptionsDTO from a JSON string +internal_query_execution_options_dto_instance = InternalQueryExecutionOptionsDTO.from_json(json) +# print the JSON string representation of the object +print(InternalQueryExecutionOptionsDTO.to_json()) + +# convert the object into a dict +internal_query_execution_options_dto_dict = internal_query_execution_options_dto_instance.to_dict() +# create an instance of InternalQueryExecutionOptionsDTO from a dict +internal_query_execution_options_dto_from_dict = InternalQueryExecutionOptionsDTO.from_dict(internal_query_execution_options_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/KeyGroupFilterDTO.md b/src/visier.sdk.api.data_out/docs/KeyGroupFilterDTO.md new file mode 100644 index 000000000..bd362ec04 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/KeyGroupFilterDTO.md @@ -0,0 +1,30 @@ +# KeyGroupFilterDTO + +A collection of related filters that define a key group. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filters** | [**List[KeyGroupFilterItemDTO]**](KeyGroupFilterItemDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.key_group_filter_dto import KeyGroupFilterDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of KeyGroupFilterDTO from a JSON string +key_group_filter_dto_instance = KeyGroupFilterDTO.from_json(json) +# print the JSON string representation of the object +print(KeyGroupFilterDTO.to_json()) + +# convert the object into a dict +key_group_filter_dto_dict = key_group_filter_dto_instance.to_dict() +# create an instance of KeyGroupFilterDTO from a dict +key_group_filter_dto_from_dict = KeyGroupFilterDTO.from_dict(key_group_filter_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/KeyGroupFilterItemDTO.md b/src/visier.sdk.api.data_out/docs/KeyGroupFilterItemDTO.md new file mode 100644 index 000000000..e538e62ad --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/KeyGroupFilterItemDTO.md @@ -0,0 +1,32 @@ +# KeyGroupFilterItemDTO + +An individual filter in a key group. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**formula** | **str** | A filter expressed as a formula. | [optional] +**member_set** | [**MemberFilterDTO**](MemberFilterDTO.md) | A filter that includes or excludes dimension members. | [optional] +**selection_concept** | [**SelectionConceptReferenceDTO**](SelectionConceptReferenceDTO.md) | A filter that uses an existing selection concept in Visier. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.key_group_filter_item_dto import KeyGroupFilterItemDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of KeyGroupFilterItemDTO from a JSON string +key_group_filter_item_dto_instance = KeyGroupFilterItemDTO.from_json(json) +# print the JSON string representation of the object +print(KeyGroupFilterItemDTO.to_json()) + +# convert the object into a dict +key_group_filter_item_dto_dict = key_group_filter_item_dto_instance.to_dict() +# create an instance of KeyGroupFilterItemDTO from a dict +key_group_filter_item_dto_from_dict = KeyGroupFilterItemDTO.from_dict(key_group_filter_item_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/LineageDTO.md b/src/visier.sdk.api.data_out/docs/LineageDTO.md new file mode 100644 index 000000000..031b08584 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/LineageDTO.md @@ -0,0 +1,31 @@ +# LineageDTO + +Lineage information for a given cell set. This describes how a cell set is created from other cell sets. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cell_sets** | [**List[CellSetDTO]**](CellSetDTO.md) | The cell sets that constitute this lineage. | [optional] +**op** | **str** | The operation used to combine the cell sets of this lineage. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.lineage_dto import LineageDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of LineageDTO from a JSON string +lineage_dto_instance = LineageDTO.from_json(json) +# print the JSON string representation of the object +print(LineageDTO.to_json()) + +# convert the object into a dict +lineage_dto_dict = lineage_dto_instance.to_dict() +# create an instance of LineageDTO from a dict +lineage_dto_from_dict = LineageDTO.from_dict(lineage_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/ListQueryExecutionDTO.md b/src/visier.sdk.api.data_out/docs/ListQueryExecutionDTO.md new file mode 100644 index 000000000..7334d05a4 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/ListQueryExecutionDTO.md @@ -0,0 +1,36 @@ +# ListQueryExecutionDTO + +A ListQueryExecution provides instructions to perform a list query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**columns** | [**List[PropertyColumnDTO]**](PropertyColumnDTO.md) | The columns to include in the result. This must contain at least one column. | [optional] +**filters** | [**List[QueryFilterDTO]**](QueryFilterDTO.md) | The filters of this query. Omit `filters` if no filtering is required. | [optional] +**options** | [**ListQueryExecutionOptionsDTO**](ListQueryExecutionOptionsDTO.md) | Additional instructions for your query, such as a calendar type or conversion information. | [optional] +**parameter_values** | [**List[QueryParameterValueDTO]**](QueryParameterValueDTO.md) | The parameter values for either member or numeric parameters. | [optional] +**sort_options** | [**List[SortOptionDTO]**](SortOptionDTO.md) | The index and direction to sort a column in the `columns` array. | [optional] +**source** | [**ListQuerySourceDTO**](ListQuerySourceDTO.md) | The source data that you want to query. | [optional] +**time_interval** | [**QueryTimeIntervalDTO**](QueryTimeIntervalDTO.md) | The time that the data is valid, such as a specific day or period of months. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.list_query_execution_dto import ListQueryExecutionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ListQueryExecutionDTO from a JSON string +list_query_execution_dto_instance = ListQueryExecutionDTO.from_json(json) +# print the JSON string representation of the object +print(ListQueryExecutionDTO.to_json()) + +# convert the object into a dict +list_query_execution_dto_dict = list_query_execution_dto_instance.to_dict() +# create an instance of ListQueryExecutionDTO from a dict +list_query_execution_dto_from_dict = ListQueryExecutionDTO.from_dict(list_query_execution_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/ListQueryExecutionOptionsDTO.md b/src/visier.sdk.api.data_out/docs/ListQueryExecutionOptionsDTO.md new file mode 100644 index 000000000..be8aee363 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/ListQueryExecutionOptionsDTO.md @@ -0,0 +1,40 @@ +# ListQueryExecutionOptionsDTO + +A ListQueryExecutionOptions provides additional instructions to perform a list query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**calendar_type** | **str** | The calendar type to use. This will be used for all time calculations unless explicitly overridden in the calculation itself. Default is TENANT_CALENDAR. | [optional] +**currency_conversion_code** | **str** | The optional target currency for all currency conversions. If not specified, the tenant default currency will be used. | [optional] +**currency_conversion_date** | **str** | The currency conversion date to use. If defined, the currency conversion will use the exchange rates as of this date. | [optional] +**currency_conversion_mode** | **str** | The currency conversion mode to use. This will be used for all currency conversion calculations unless explicitly overridden in the calculation itself. Default is TENANT_CURRENCY_CONVERSION. | [optional] +**date_time_display_mode** | **str** | Control how date-time values are displayed in the result set. Supported values: * `EPOCH`: The number of elapsed milliseconds since January 1, 1970 in UTC timezone. This is the default. * `DATETIME`: The date-time value displayed in `yyyy-MM-dd HH:mm:ssZZ` format. | [optional] +**limit** | **int** | The maximum number of entries to return. Default is to return all entries. If `page` is defined but limit is not defined, limit will be set to a default value of 1000. | [optional] +**multiple_tables** | **bool** | Option to return multiple table files as zipped archive for derived metrics. Default is false. If false, one table is returned for the drill-through metric. | [optional] +**omit_header** | **bool** | Option to omit the header from the result. If true, queryMode must be either FILL or FAIL. Default is false. | [optional] +**page** | **int** | A page defines a subset of the overall result set. The number of rows per page is equal to limit with the exception of the last page in the result set which may contain fewer rows. `Page` is an index that begins at 0. The index to start retrieving results is calculated by multiplying `page` by `limit`. | [optional] +**query_mode** | **str** | Determines how the query should handle column definitions that the query is unable to resolve. Default is DEFAULT. | [optional] +**record_mode** | **str** | Influences the type of records used to build the result set, such as whether to return one record per entity that is valid in the provided time range or each change record falls in the time frame. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.list_query_execution_options_dto import ListQueryExecutionOptionsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ListQueryExecutionOptionsDTO from a JSON string +list_query_execution_options_dto_instance = ListQueryExecutionOptionsDTO.from_json(json) +# print the JSON string representation of the object +print(ListQueryExecutionOptionsDTO.to_json()) + +# convert the object into a dict +list_query_execution_options_dto_dict = list_query_execution_options_dto_instance.to_dict() +# create an instance of ListQueryExecutionOptionsDTO from a dict +list_query_execution_options_dto_from_dict = ListQueryExecutionOptionsDTO.from_dict(list_query_execution_options_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/ListQuerySourceDTO.md b/src/visier.sdk.api.data_out/docs/ListQuerySourceDTO.md new file mode 100644 index 000000000..b09fa81b6 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/ListQuerySourceDTO.md @@ -0,0 +1,32 @@ +# ListQuerySourceDTO + +A ListQuerySource defines the source data to query in a list query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**analytic_object** | **str** | The ID of an existing analytic object in your Visier solution. An analytic object source cannot have filters or time handling. | [optional] +**formula** | **str** | An ad-hoc metric formula. The response returns the individual data points that make up the aggregate. | [optional] +**metric** | **str** | The ID of an existing metric in your Visier solution. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.list_query_source_dto import ListQuerySourceDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of ListQuerySourceDTO from a JSON string +list_query_source_dto_instance = ListQuerySourceDTO.from_json(json) +# print the JSON string representation of the object +print(ListQuerySourceDTO.to_json()) + +# convert the object into a dict +list_query_source_dto_dict = list_query_source_dto_instance.to_dict() +# create an instance of ListQuerySourceDTO from a dict +list_query_source_dto_from_dict = ListQuerySourceDTO.from_dict(list_query_source_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/ListResponse.md b/src/visier.sdk.api.data_out/docs/ListResponse.md new file mode 100644 index 000000000..3dab012ae --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/ListResponse.md @@ -0,0 +1,30 @@ +# ListResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**header** | [**GoogleProtobufAny**](GoogleProtobufAny.md) | | [optional] +**rows** | [**List[GoogleProtobufAny]**](GoogleProtobufAny.md) | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.list_response import ListResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of ListResponse from a JSON string +list_response_instance = ListResponse.from_json(json) +# print the JSON string representation of the object +print(ListResponse.to_json()) + +# convert the object into a dict +list_response_dict = list_response_instance.to_dict() +# create an instance of ListResponse from a dict +list_response_from_dict = ListResponse.from_dict(list_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/MemberFilterDTO.md b/src/visier.sdk.api.data_out/docs/MemberFilterDTO.md new file mode 100644 index 000000000..25fab9d2d --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/MemberFilterDTO.md @@ -0,0 +1,31 @@ +# MemberFilterDTO + +Member filters are dimension member values to filter by in your query. The member filters are defined within the filters section of a query definition. You can filter by dimension members in aggregate and list queries. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension** | [**DimensionReferenceDTO**](DimensionReferenceDTO.md) | The dimension in which the members belong. | [optional] +**values** | [**MemberValuesDTO**](MemberValuesDTO.md) | The dimension members to filter by. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.member_filter_dto import MemberFilterDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MemberFilterDTO from a JSON string +member_filter_dto_instance = MemberFilterDTO.from_json(json) +# print the JSON string representation of the object +print(MemberFilterDTO.to_json()) + +# convert the object into a dict +member_filter_dto_dict = member_filter_dto_instance.to_dict() +# create an instance of MemberFilterDTO from a dict +member_filter_dto_from_dict = MemberFilterDTO.from_dict(member_filter_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/MemberParameterValueDTO.md b/src/visier.sdk.api.data_out/docs/MemberParameterValueDTO.md new file mode 100644 index 000000000..85a89128f --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/MemberParameterValueDTO.md @@ -0,0 +1,33 @@ +# MemberParameterValueDTO + +The member value of a parameter, including the parameter ID, dimension that the parameter is based on, and the included and excluded members for the parameter. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension_id** | **str** | The unique ID of the dimension on which the parameter is based. | [optional] +**parameter_id** | **str** | The unique ID of the member parameter qualified by the object. | [optional] +**reference_path** | **List[str]** | The analytic object reference path from the metric to the dimension. | [optional] +**values** | [**MemberValuesDTO**](MemberValuesDTO.md) | The included and excluded member references in a dimension filter. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.member_parameter_value_dto import MemberParameterValueDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MemberParameterValueDTO from a JSON string +member_parameter_value_dto_instance = MemberParameterValueDTO.from_json(json) +# print the JSON string representation of the object +print(MemberParameterValueDTO.to_json()) + +# convert the object into a dict +member_parameter_value_dto_dict = member_parameter_value_dto_instance.to_dict() +# create an instance of MemberParameterValueDTO from a dict +member_parameter_value_dto_from_dict = MemberParameterValueDTO.from_dict(member_parameter_value_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/MemberValuesDTO.md b/src/visier.sdk.api.data_out/docs/MemberValuesDTO.md new file mode 100644 index 000000000..5ad09ee13 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/MemberValuesDTO.md @@ -0,0 +1,31 @@ +# MemberValuesDTO + +Member filter values are discrete member references in a dimension filter. You can define included and excluded members simultaneously. This is typically done with filtering applied on dimensions with multiple levels. For example, a Location parameter may include “South America” and exclude “Brazil” which results in the metric being evaluated for all South American countries except Brazil. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**excluded** | [**List[DimensionMemberReferenceDTO]**](DimensionMemberReferenceDTO.md) | The unique IDs of members to exclude when evaluating the metric. | [optional] +**included** | [**List[DimensionMemberReferenceDTO]**](DimensionMemberReferenceDTO.md) | The unique IDs of members to include when evaluating the metric. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.member_values_dto import MemberValuesDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of MemberValuesDTO from a JSON string +member_values_dto_instance = MemberValuesDTO.from_json(json) +# print the JSON string representation of the object +print(MemberValuesDTO.to_json()) + +# convert the object into a dict +member_values_dto_dict = member_values_dto_instance.to_dict() +# create an instance of MemberValuesDTO from a dict +member_values_dto_from_dict = MemberValuesDTO.from_dict(member_values_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/NumericParameterValueDTO.md b/src/visier.sdk.api.data_out/docs/NumericParameterValueDTO.md new file mode 100644 index 000000000..af23e9195 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/NumericParameterValueDTO.md @@ -0,0 +1,31 @@ +# NumericParameterValueDTO + +The value of a numeric parameter, including the parameter ID and the numeric value passed into the parameter. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**parameter_id** | **str** | The unique ID of the numeric parameter qualified by the object. | [optional] +**value** | **float** | The numeric value of the parameter. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.numeric_parameter_value_dto import NumericParameterValueDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of NumericParameterValueDTO from a JSON string +numeric_parameter_value_dto_instance = NumericParameterValueDTO.from_json(json) +# print the JSON string representation of the object +print(NumericParameterValueDTO.to_json()) + +# convert the object into a dict +numeric_parameter_value_dto_dict = numeric_parameter_value_dto_instance.to_dict() +# create an instance of NumericParameterValueDTO from a dict +numeric_parameter_value_dto_from_dict = NumericParameterValueDTO.from_dict(numeric_parameter_value_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/PlanParameterValueDTO.md b/src/visier.sdk.api.data_out/docs/PlanParameterValueDTO.md new file mode 100644 index 000000000..82eacdf9f --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/PlanParameterValueDTO.md @@ -0,0 +1,33 @@ +# PlanParameterValueDTO + +The value for a parameter on a planning metric, including the parameter ID and the plan the parameter is based on. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**parameter_id** | **str** | The unique ID of the plan parameter qualified by the object. | [optional] +**plan_id** | **str** | The unique ID of the plan the parameter is based on. | [optional] +**scenario_id** | **str** | The unique ID of the scenario the parameter is based on. | [optional] +**snapshot_id** | **str** | The unique ID of the snapshot the parameter is based on. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.plan_parameter_value_dto import PlanParameterValueDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PlanParameterValueDTO from a JSON string +plan_parameter_value_dto_instance = PlanParameterValueDTO.from_json(json) +# print the JSON string representation of the object +print(PlanParameterValueDTO.to_json()) + +# convert the object into a dict +plan_parameter_value_dto_dict = plan_parameter_value_dto_instance.to_dict() +# create an instance of PlanParameterValueDTO from a dict +plan_parameter_value_dto_from_dict = PlanParameterValueDTO.from_dict(plan_parameter_value_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/PropertyColumnDTO.md b/src/visier.sdk.api.data_out/docs/PropertyColumnDTO.md new file mode 100644 index 000000000..461873181 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/PropertyColumnDTO.md @@ -0,0 +1,31 @@ +# PropertyColumnDTO + +A named, result column of a list query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**column_definition** | [**QueryPropertyDTO**](QueryPropertyDTO.md) | The definition of the property to query on. | [optional] +**column_name** | **str** | The name of the column. This is optional. If not specified, the name of the property is used, or a generic column name if the property is unnamed. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.property_column_dto import PropertyColumnDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PropertyColumnDTO from a JSON string +property_column_dto_instance = PropertyColumnDTO.from_json(json) +# print the JSON string representation of the object +print(PropertyColumnDTO.to_json()) + +# convert the object into a dict +property_column_dto_dict = property_column_dto_instance.to_dict() +# create an instance of PropertyColumnDTO from a dict +property_column_dto_from_dict = PropertyColumnDTO.from_dict(property_column_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/PropertyReferenceDTO.md b/src/visier.sdk.api.data_out/docs/PropertyReferenceDTO.md new file mode 100644 index 000000000..5d5aabd83 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/PropertyReferenceDTO.md @@ -0,0 +1,31 @@ +# PropertyReferenceDTO + +The name and qualifying path of a property to query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | The ID of the property. See `Properties` to get the ID. | [optional] +**qualifying_path** | **str** | The qualifying path to the property in Visier, such as the analytic object or event the property is associated with. If the path has multiple objects, each object is separated by a period. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.property_reference_dto import PropertyReferenceDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of PropertyReferenceDTO from a JSON string +property_reference_dto_instance = PropertyReferenceDTO.from_json(json) +# print the JSON string representation of the object +print(PropertyReferenceDTO.to_json()) + +# convert the object into a dict +property_reference_dto_dict = property_reference_dto_instance.to_dict() +# create an instance of PropertyReferenceDTO from a dict +property_reference_dto_from_dict = PropertyReferenceDTO.from_dict(property_reference_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryAxisDTO.md b/src/visier.sdk.api.data_out/docs/QueryAxisDTO.md new file mode 100644 index 000000000..824588525 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryAxisDTO.md @@ -0,0 +1,39 @@ +# QueryAxisDTO + +An axis of a query used to group data points. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension_data_member_selection** | [**QueryDimensionDataMemberSelectionDTO**](QueryDimensionDataMemberSelectionDTO.md) | An axis comprised of all leaf, including data, members of an existing dimension in Visier. | [optional] +**dimension_leaf_member_selection** | [**QueryDimensionLeafSelectionDTO**](QueryDimensionLeafSelectionDTO.md) | An axis comprised of all non-data leaf members of an existing dimension in Visier. | [optional] +**dimension_level_selection** | [**QueryDimensionLevelSelectionDTO**](QueryDimensionLevelSelectionDTO.md) | An axis that uses levels of existing dimensions in Visier. | [optional] +**dimension_level_with_uncategorized_value_selection** | [**QueryDimensionLevelSelectionDTO**](QueryDimensionLevelSelectionDTO.md) | An axis that uses existing dimension levels in Visier, including uncategorized levels. | [optional] +**dimension_member_selection** | [**QueryDimensionMemberSelectionDTO**](QueryDimensionMemberSelectionDTO.md) | An axis that uses existing dimension members in Visier. | [optional] +**formula** | **str** | An axis expressed as a formula. | [optional] +**member_map_selection** | [**QueryMemberMapSelectionDTO**](QueryMemberMapSelectionDTO.md) | An axis that uses an existing member map in Visier. | [optional] +**numeric_ranges** | [**QueryNumericRangesDTO**](QueryNumericRangesDTO.md) | An axis that uses an existing range dimension in Visier and defines the ranges to query. | [optional] +**selection_concept** | [**SelectionConceptReferenceDTO**](SelectionConceptReferenceDTO.md) | An axis that uses an existing selection concept in Visier. The resulting axis consists of 3 positions: True, False, and Unknown. | [optional] +**table_axis_options** | [**QueryAxisOptionsDTO**](QueryAxisOptionsDTO.md) | Additional transformations to perform on this axis. Only available when the Accept header is a table format, such as text/csv or application/jsonlines. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_axis_dto import QueryAxisDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryAxisDTO from a JSON string +query_axis_dto_instance = QueryAxisDTO.from_json(json) +# print the JSON string representation of the object +print(QueryAxisDTO.to_json()) + +# convert the object into a dict +query_axis_dto_dict = query_axis_dto_instance.to_dict() +# create an instance of QueryAxisDTO from a dict +query_axis_dto_from_dict = QueryAxisDTO.from_dict(query_axis_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryAxisOptionsDTO.md b/src/visier.sdk.api.data_out/docs/QueryAxisOptionsDTO.md new file mode 100644 index 000000000..164197219 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryAxisOptionsDTO.md @@ -0,0 +1,31 @@ +# QueryAxisOptionsDTO + +QueryAxisOptions allows you to customize an axis in the query, such as changing the display mode for its cell set values or providing a custom column name. Only available when the Accept header is a table format, such as text/csv or application/jsonlines. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**column_name** | **str** | If specified, returns the column name of the axis in the response. | [optional] +**member_display_mode** | **str** | Options to override the display mode for the axis. This overrides the query-level `memberDisplayMode` options value in the query. Only available for non-time axes. Use the QueryAxisMemberDisplayMode `memberDisplayMode` to apply different display modes to different axes. For example, let's say your query has the `memberDisplayMode` as `DISPLAY` but you want to fetch the object name for a specific dimension. With QueryAxisMemberDisplayMode `memberDisplayMode`, you can override that dimension's `memberDisplayMode` to `DEFAULT` instead of `DISPLAY`. Valid values are `UNCHANGED`, `DEFAULT`, `COMPACT`, `DISPLAY`, or `MDX`. Default is `UNCHANGED`. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_axis_options_dto import QueryAxisOptionsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryAxisOptionsDTO from a JSON string +query_axis_options_dto_instance = QueryAxisOptionsDTO.from_json(json) +# print the JSON string representation of the object +print(QueryAxisOptionsDTO.to_json()) + +# convert the object into a dict +query_axis_options_dto_dict = query_axis_options_dto_instance.to_dict() +# create an instance of QueryAxisOptionsDTO from a dict +query_axis_options_dto_from_dict = QueryAxisOptionsDTO.from_dict(query_axis_options_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryClarificationDTO.md b/src/visier.sdk.api.data_out/docs/QueryClarificationDTO.md new file mode 100644 index 000000000..cd8d78c31 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryClarificationDTO.md @@ -0,0 +1,29 @@ +# QueryClarificationDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_clarification_dto import QueryClarificationDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryClarificationDTO from a JSON string +query_clarification_dto_instance = QueryClarificationDTO.from_json(json) +# print the JSON string representation of the object +print(QueryClarificationDTO.to_json()) + +# convert the object into a dict +query_clarification_dto_dict = query_clarification_dto_instance.to_dict() +# create an instance of QueryClarificationDTO from a dict +query_clarification_dto_from_dict = QueryClarificationDTO.from_dict(query_clarification_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryDimensionDataMemberSelectionDTO.md b/src/visier.sdk.api.data_out/docs/QueryDimensionDataMemberSelectionDTO.md new file mode 100644 index 000000000..6cb5285a4 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryDimensionDataMemberSelectionDTO.md @@ -0,0 +1,30 @@ +# QueryDimensionDataMemberSelectionDTO + +A QueryDimensionLeafSelection allows you to define a member set consisting exclusively of leaf-level, including data, members for the given dimension. Leaf members are those members that have no descendents. A member may be a leaf member regardless of the level it is positioned at. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension** | [**DimensionReferenceDTO**](DimensionReferenceDTO.md) | A dimension and its qualifying path to query. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_dimension_data_member_selection_dto import QueryDimensionDataMemberSelectionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryDimensionDataMemberSelectionDTO from a JSON string +query_dimension_data_member_selection_dto_instance = QueryDimensionDataMemberSelectionDTO.from_json(json) +# print the JSON string representation of the object +print(QueryDimensionDataMemberSelectionDTO.to_json()) + +# convert the object into a dict +query_dimension_data_member_selection_dto_dict = query_dimension_data_member_selection_dto_instance.to_dict() +# create an instance of QueryDimensionDataMemberSelectionDTO from a dict +query_dimension_data_member_selection_dto_from_dict = QueryDimensionDataMemberSelectionDTO.from_dict(query_dimension_data_member_selection_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryDimensionLeafSelectionDTO.md b/src/visier.sdk.api.data_out/docs/QueryDimensionLeafSelectionDTO.md new file mode 100644 index 000000000..b72c9d268 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryDimensionLeafSelectionDTO.md @@ -0,0 +1,30 @@ +# QueryDimensionLeafSelectionDTO + +A QueryDimensionLeafSelection allows you to define a member set consisting exclusively of leaf-level members for the given dimension. Leaf members are those members that have no descendents. A member may be a leaf member regardless of the level it is positioned at. This member selection option, excludes data members. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension** | [**DimensionReferenceDTO**](DimensionReferenceDTO.md) | A dimension and its qualifying path to query. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_dimension_leaf_selection_dto import QueryDimensionLeafSelectionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryDimensionLeafSelectionDTO from a JSON string +query_dimension_leaf_selection_dto_instance = QueryDimensionLeafSelectionDTO.from_json(json) +# print the JSON string representation of the object +print(QueryDimensionLeafSelectionDTO.to_json()) + +# convert the object into a dict +query_dimension_leaf_selection_dto_dict = query_dimension_leaf_selection_dto_instance.to_dict() +# create an instance of QueryDimensionLeafSelectionDTO from a dict +query_dimension_leaf_selection_dto_from_dict = QueryDimensionLeafSelectionDTO.from_dict(query_dimension_leaf_selection_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryDimensionLevelSelectionDTO.md b/src/visier.sdk.api.data_out/docs/QueryDimensionLevelSelectionDTO.md new file mode 100644 index 000000000..58a59ca2f --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryDimensionLevelSelectionDTO.md @@ -0,0 +1,31 @@ +# QueryDimensionLevelSelectionDTO + +A QueryDimensionLevelSelection allows you to select a dimension level and its members without explicitly listing each member. To see the correct notation for levels, see `Dimension`. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension** | [**DimensionReferenceDTO**](DimensionReferenceDTO.md) | A dimension and its qualifying path to query. | [optional] +**level_ids** | **List[str]** | The ordered collection of level identifiers for the dimension. See `Dimension`. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_dimension_level_selection_dto import QueryDimensionLevelSelectionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryDimensionLevelSelectionDTO from a JSON string +query_dimension_level_selection_dto_instance = QueryDimensionLevelSelectionDTO.from_json(json) +# print the JSON string representation of the object +print(QueryDimensionLevelSelectionDTO.to_json()) + +# convert the object into a dict +query_dimension_level_selection_dto_dict = query_dimension_level_selection_dto_instance.to_dict() +# create an instance of QueryDimensionLevelSelectionDTO from a dict +query_dimension_level_selection_dto_from_dict = QueryDimensionLevelSelectionDTO.from_dict(query_dimension_level_selection_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryDimensionMemberSelectionDTO.md b/src/visier.sdk.api.data_out/docs/QueryDimensionMemberSelectionDTO.md new file mode 100644 index 000000000..61cff6b6a --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryDimensionMemberSelectionDTO.md @@ -0,0 +1,31 @@ +# QueryDimensionMemberSelectionDTO + +A QueryDimensionMemberSelection defines dimension members to select in the query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension** | [**DimensionReferenceDTO**](DimensionReferenceDTO.md) | A dimension and its qualifying path to query. | [optional] +**members** | [**List[DimensionMemberReferenceDTO]**](DimensionMemberReferenceDTO.md) | A collection of dimension members to select in the query. This must contain at least one member. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_dimension_member_selection_dto import QueryDimensionMemberSelectionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryDimensionMemberSelectionDTO from a JSON string +query_dimension_member_selection_dto_instance = QueryDimensionMemberSelectionDTO.from_json(json) +# print the JSON string representation of the object +print(QueryDimensionMemberSelectionDTO.to_json()) + +# convert the object into a dict +query_dimension_member_selection_dto_dict = query_dimension_member_selection_dto_instance.to_dict() +# create an instance of QueryDimensionMemberSelectionDTO from a dict +query_dimension_member_selection_dto_from_dict = QueryDimensionMemberSelectionDTO.from_dict(query_dimension_member_selection_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryExecutionOptionsDTO.md b/src/visier.sdk.api.data_out/docs/QueryExecutionOptionsDTO.md new file mode 100644 index 000000000..bc71c09bd --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryExecutionOptionsDTO.md @@ -0,0 +1,42 @@ +# QueryExecutionOptionsDTO + +A QueryExecutionOptions provides additional instructions to perform a query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**axis_visibility** | **str** | The amount of information to return about each axis. Default is SIMPLE. | [optional] +**calendar_type** | **str** | The calendar type to use. This will be used for all time calculations unless explicitly overridden in the calculation itself. Default is TENANT_CALENDAR. | [optional] +**cell_distribution_options** | [**CellDistributionOptionsDTO**](CellDistributionOptionsDTO.md) | | [optional] +**currency_conversion_code** | **str** | The target currency for all currency conversions. If not specified, the tenant default currency will be used. | [optional] +**currency_conversion_date** | **str** | The currency conversion date to use. If defined, the currency conversion will use the exchange rates as of this date. Default is the exchange rate at the end of the query time interval. Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Note: Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers. | [optional] +**currency_conversion_mode** | **str** | The currency conversion mode to use. This will be used for all currency conversion calculations unless explicitly overridden in the calculation itself. Default is TENANT_CURRENCY_CONVERSION. | [optional] +**enable_descending_space** | **bool** | If true, filter non-time axis member sets to only include members that are in aggregate positions or whose previous position is a leaf | [optional] +**enable_sparse_results** | **bool** | Retrieve sparse cell sets. Sparse results only retrieve non-zero and non-null cells. Whether a result is truly sparse or not is determined by the Visier server. | [optional] +**internal** | [**InternalQueryExecutionOptionsDTO**](InternalQueryExecutionOptionsDTO.md) | | [optional] +**lineage_depth** | **int** | The max number of levels of nesting to unwind when determining the lineage for a derived metric value. | [optional] +**member_display_mode** | **str** | Define the `memberDisplayMode` options to control how member values are rendered in the aggregate query result set. You can override the `memberDisplayMode` on a per-axis basis, if required. Valid values are `DEFAULT`, `COMPACT`, `DISPLAY`, or `MDX`. Default is `DEFAULT`. * `DEFAULT`: The default member name representation. For non-time members, this means returning the technical member name path. For time members, this includes a bracketed member index. For example, Time instant member: `2019-06-01T00:00:00.000Z - [0]` For example, Time interval member: `2022-06-01T00:00:00.000Z/2022-07-01T00:00:00.000Z - [12]` * `COMPACT`: Compacts the time member name representation. This also transforms the representation of time intervals to the end time of the interval. For example, Time instant member: `2019-06-01T00:00:00.000Z` For example, Time interval member: `2022-07-01T00:00:00.000Z` where the interval member name was `2022-06-01T00:00:00.000Z/2022-07-01T00:00:00.000Z - [12]` * `DISPLAY`: Emit the members' display names whenever possible. When combined with `axisVisibility = VERBOSE`, the full display name path will be emitted. * `MDX`: Emit member name paths where each element is enclosed in square brackets, `[]`. Multidimensional expression (MDX) display mode automatically encloses time members in square brackets and puts them in `COMPACT` format. For example, Location member `North America.United States.California` becomes `[North America].[United States].[California]` in MDX display mode. For example, Time instant member `2019-06-01T00:00:00.000Z - [0]` becomes `[2019-06-01T00:00:00.000Z]` in MDX display mode. | [optional] +**null_visibility** | **str** | Show or hide null or N/A values in the result. Default is SHOW. | [optional] +**zero_visibility** | **str** | Show or hide zeros in the result. Default is SHOW. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_execution_options_dto import QueryExecutionOptionsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryExecutionOptionsDTO from a JSON string +query_execution_options_dto_instance = QueryExecutionOptionsDTO.from_json(json) +# print the JSON string representation of the object +print(QueryExecutionOptionsDTO.to_json()) + +# convert the object into a dict +query_execution_options_dto_dict = query_execution_options_dto_instance.to_dict() +# create an instance of QueryExecutionOptionsDTO from a dict +query_execution_options_dto_from_dict = QueryExecutionOptionsDTO.from_dict(query_execution_options_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryFilterDTO.md b/src/visier.sdk.api.data_out/docs/QueryFilterDTO.md new file mode 100644 index 000000000..2c2500eda --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryFilterDTO.md @@ -0,0 +1,33 @@ +# QueryFilterDTO + +A QueryFilter selects specific data points within a population. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cohort** | [**CohortFilterDTO**](CohortFilterDTO.md) | A filter that identifies a population at a specific time. | [optional] +**formula** | **str** | A filter expressed as a formula. | [optional] +**member_set** | [**MemberFilterDTO**](MemberFilterDTO.md) | A filter that includes or excludes dimension members. | [optional] +**selection_concept** | [**SelectionConceptReferenceDTO**](SelectionConceptReferenceDTO.md) | A filter that uses an existing selection concept in Visier. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_filter_dto import QueryFilterDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryFilterDTO from a JSON string +query_filter_dto_instance = QueryFilterDTO.from_json(json) +# print the JSON string representation of the object +print(QueryFilterDTO.to_json()) + +# convert the object into a dict +query_filter_dto_dict = query_filter_dto_instance.to_dict() +# create an instance of QueryFilterDTO from a dict +query_filter_dto_from_dict = QueryFilterDTO.from_dict(query_filter_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryMemberMapPropertyDTO.md b/src/visier.sdk.api.data_out/docs/QueryMemberMapPropertyDTO.md new file mode 100644 index 000000000..488d6d680 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryMemberMapPropertyDTO.md @@ -0,0 +1,31 @@ +# QueryMemberMapPropertyDTO + +A QueryMemberMapProperty defines an existing member map and its dimension to query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**member_map** | [**DimensionReferenceDTO**](DimensionReferenceDTO.md) | A member map and its qualifying path to query. | [optional] +**target_dimension_name** | **str** | The name of the member map's dimension that you want to query. The member selection is based on this dimension. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_member_map_property_dto import QueryMemberMapPropertyDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryMemberMapPropertyDTO from a JSON string +query_member_map_property_dto_instance = QueryMemberMapPropertyDTO.from_json(json) +# print the JSON string representation of the object +print(QueryMemberMapPropertyDTO.to_json()) + +# convert the object into a dict +query_member_map_property_dto_dict = query_member_map_property_dto_instance.to_dict() +# create an instance of QueryMemberMapPropertyDTO from a dict +query_member_map_property_dto_from_dict = QueryMemberMapPropertyDTO.from_dict(query_member_map_property_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryMemberMapSelectionDTO.md b/src/visier.sdk.api.data_out/docs/QueryMemberMapSelectionDTO.md new file mode 100644 index 000000000..c7285667a --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryMemberMapSelectionDTO.md @@ -0,0 +1,32 @@ +# QueryMemberMapSelectionDTO + +A QueryMemberMapSelection groups data in a query by dimension members in a member map. This allows grouping by a dimension that isn't typically valid on the analytic object being queried by selecting a valid member map on the analytic object. Note: This is unique to the data query API and cannot be reproduced in Visier's interface. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**member_map** | [**DimensionReferenceDTO**](DimensionReferenceDTO.md) | A member map and its qualifying path to query. | [optional] +**members** | [**List[DimensionMemberReferenceDTO]**](DimensionMemberReferenceDTO.md) | A collection of the selected dimension members from the `targetDimension`. This must contain at least one member. | [optional] +**target_dimension_name** | **str** | The name of the member map's dimension that you want to query. The member selection is based on this dimension. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_member_map_selection_dto import QueryMemberMapSelectionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryMemberMapSelectionDTO from a JSON string +query_member_map_selection_dto_instance = QueryMemberMapSelectionDTO.from_json(json) +# print the JSON string representation of the object +print(QueryMemberMapSelectionDTO.to_json()) + +# convert the object into a dict +query_member_map_selection_dto_dict = query_member_map_selection_dto_instance.to_dict() +# create an instance of QueryMemberMapSelectionDTO from a dict +query_member_map_selection_dto_from_dict = QueryMemberMapSelectionDTO.from_dict(query_member_map_selection_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryNumericRangesDTO.md b/src/visier.sdk.api.data_out/docs/QueryNumericRangesDTO.md new file mode 100644 index 000000000..e008d5577 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryNumericRangesDTO.md @@ -0,0 +1,34 @@ +# QueryNumericRangesDTO + +A QueryNumericRanges groups data into specified ranges based on a property value. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**include_all_member** | **bool** | If `true`, a member is included that represents all members on the axis. Default is false. | [optional] +**include_independent_zero_range** | **bool** | If `true`, 0 is an independent range. Default is false. | [optional] +**include_negative** | **bool** | If `true`, negative ranges are included. Default is false. | [optional] +**var_property** | [**QueryPropertyDTO**](QueryPropertyDTO.md) | The name and qualifying path of a numeric property. Non-numeric properties are not accepted. | [optional] +**ranges** | **str** | The ranges to group data into, expressed as a space-separated string of range-bound values. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_numeric_ranges_dto import QueryNumericRangesDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryNumericRangesDTO from a JSON string +query_numeric_ranges_dto_instance = QueryNumericRangesDTO.from_json(json) +# print the JSON string representation of the object +print(QueryNumericRangesDTO.to_json()) + +# convert the object into a dict +query_numeric_ranges_dto_dict = query_numeric_ranges_dto_instance.to_dict() +# create an instance of QueryNumericRangesDTO from a dict +query_numeric_ranges_dto_from_dict = QueryNumericRangesDTO.from_dict(query_numeric_ranges_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryParameterValueDTO.md b/src/visier.sdk.api.data_out/docs/QueryParameterValueDTO.md new file mode 100644 index 000000000..29ff951bd --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryParameterValueDTO.md @@ -0,0 +1,33 @@ +# QueryParameterValueDTO + +An object that contains parameter values for either member or numeric parameters. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**aggregation_type_value** | [**AggregationTypeParameterValueDTO**](AggregationTypeParameterValueDTO.md) | A value for an aggregation parameter. | [optional] +**member_value** | [**MemberParameterValueDTO**](MemberParameterValueDTO.md) | A value for a member parameter. | [optional] +**numeric_value** | [**NumericParameterValueDTO**](NumericParameterValueDTO.md) | A value for a numeric parameter. | [optional] +**plan_value** | [**PlanParameterValueDTO**](PlanParameterValueDTO.md) | A value for a plan parameter. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_parameter_value_dto import QueryParameterValueDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryParameterValueDTO from a JSON string +query_parameter_value_dto_instance = QueryParameterValueDTO.from_json(json) +# print the JSON string representation of the object +print(QueryParameterValueDTO.to_json()) + +# convert the object into a dict +query_parameter_value_dto_dict = query_parameter_value_dto_instance.to_dict() +# create an instance of QueryParameterValueDTO from a dict +query_parameter_value_dto_from_dict = QueryParameterValueDTO.from_dict(query_parameter_value_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryPropertyDTO.md b/src/visier.sdk.api.data_out/docs/QueryPropertyDTO.md new file mode 100644 index 000000000..cad5fc458 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryPropertyDTO.md @@ -0,0 +1,35 @@ +# QueryPropertyDTO + +A QueryProperty defines a property of a data point returned from a query. This is not the same as a `property` in Visier's data mode. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dimension** | [**DimensionReferenceDTO**](DimensionReferenceDTO.md) | A dimension-based property that returns the full name path of the dimension member that the data point is mapped to. | [optional] +**effective_date_property** | **object** | A property that yields the effective date for the record | [optional] +**formula** | **str** | A formula-based property. | [optional] +**member_map_property** | [**QueryMemberMapPropertyDTO**](QueryMemberMapPropertyDTO.md) | A member map-based property that uses an existing member map in Visier. | [optional] +**var_property** | [**PropertyReferenceDTO**](PropertyReferenceDTO.md) | A property reference. | [optional] +**selection_concept** | [**SelectionConceptReferenceDTO**](SelectionConceptReferenceDTO.md) | A selection concept-based property that returns true or false. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_property_dto import QueryPropertyDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryPropertyDTO from a JSON string +query_property_dto_instance = QueryPropertyDTO.from_json(json) +# print the JSON string representation of the object +print(QueryPropertyDTO.to_json()) + +# convert the object into a dict +query_property_dto_dict = query_property_dto_instance.to_dict() +# create an instance of QueryPropertyDTO from a dict +query_property_dto_from_dict = QueryPropertyDTO.from_dict(query_property_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryTimeIntervalDTO.md b/src/visier.sdk.api.data_out/docs/QueryTimeIntervalDTO.md new file mode 100644 index 000000000..483dedfc0 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryTimeIntervalDTO.md @@ -0,0 +1,36 @@ +# QueryTimeIntervalDTO + +A QueryTimeInterval defines the time interval to query, including the \"from\" time, period type, period count, time direction, and shift to apply + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**direction** | **str** | The direction to extend. Default is BACKWARD. | [optional] +**dynamic_date_from** | **str** | Dynamically select the date from which to extend. Valid values are `SOURCE` or `COMPLETE_PERIOD`. Both options use the `source` query definition element to determine the date. * If `dynamicDateFrom` is `SOURCE`, the query returns data from a date determined by the `source` query definition element. If `dynamicDateFrom` is `COMPLETE_PERIOD`, the query returns data starting from the latest or earliest date with a complete period of data. When `dynamicDateFrom` is specified: * If `source` is `metric`, then `dynamicDateFrom` considers the date range of available data for the metric. * If `source` is `formula`, then `dynamicDateFrom` considers the date range of available data for the metric in the formula. * If `source` is `analyticObject`, then `dynamicDateFrom` considers the date range of available data for the analytic object. Then, if `direction` is `BACKWARD`, query backward from the data **end** date and if `direction` is `FORWARD`, query forward from the data **start** date. This allows you to keep getting the latest or earliest data without changing your query every time there's new or updated data. Example: If a tenant has Headcount metric data available from 2023-01-01 to 2024-01-01 (End date exclusive), specifying `dynamicDateFrom`: `SOURCE` with `direction`: `BACKWARD` means the query will retrieve data backward from 2024-01-01. The effect is the same as if specifying a `fromDateTime` of 2024-01-01'T'00:00:00.000. Example: If a tenant has Employee subject data available from 2023-01-01 to 2024-01-01 (End date exclusive), specifying `dynamicDateFrom`: `SOURCE` with `direction`: `FORWARD` means the query will retrieve data forward from 2023-01-01. The effect is the same as if specifying a `fromDateTime` of 2023-01-01'T'00:00:00.000. Example: If a tenant has Employee subject data available from 2023-01-10 to 2023-04-01 (End date exclusive), specifying `dynamicDateFrom`: `COMPLETE_PERIOD` with `direction`: `FORWARD` means the query will retrieve data forward from 2023-02-01. The effect is the same as if specifying a `fromDateTime` of 2023-02-01'T'00:00:00.000. Example: If a tenant has Employee subject data available from 2023-01-01 to 2023-03-15 (End date exclusive), specifying `dynamicDateFrom`: `COMPLETE_PERIOD` with `direction`: `BACKWARD` means the query will retrieve data backward from 2023-03-01. The effect is the same as if specifying a `fromDateTime` of 2023-03-01'T'00:00:00.000. Example: Retrieve a list of EmployeeIDs for the formula extending 1 month backward from the dynamic source date { \"source\": { \"formula\": \"on Employee validUntil instant filterBy(isActiveEmployee) aggregate count(Employee.EmployeeID)\" }, \"columns\": [ { \"columnDefinition\": { \"property\": { \"name\": \"Employee.EmployeeID\", \"qualifyingPath\": \"Employee\" } } }, { \"columnDefinition\": { \"effectiveDateProperty\": {} } } ], \"timeInterval\": { \"dynamicDateFrom\": \"SOURCE\", \"intervalPeriodType\": \"MONTH\", \"intervalPeriodCount\": 1, \"direction\": \"BACKWARD\" } } | [optional] +**from_date_time** | **str** | The instant from which to extend, as an ISO-8601 formatted date time string. Valid formats: yyyy-MM-dd, yyyy-MM-dd'T'HH:mm:ss, yyyy-MM-dd'T'HH:mm:ss.SSS. Events that occur on this date are excluded. Subject-based data that ends on this date is included. | [optional] +**from_instant** | **str** | The instant from which to extend, in milliseconds since 1970-01-01T00:00:00Z. Events that occur on this date are excluded. Subject-based data that ends on this date is included. Note: Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers. | [optional] +**interval_period_count** | **int** | The number of time periods per interval. | [optional] +**interval_period_type** | **str** | The time period type for each interval. Default is MONTH. | [optional] +**shift** | [**TimeShiftDTO**](TimeShiftDTO.md) | The amount of time to shift the time interval by, such as backward by one year. Default is none. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_time_interval_dto import QueryTimeIntervalDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryTimeIntervalDTO from a JSON string +query_time_interval_dto_instance = QueryTimeIntervalDTO.from_json(json) +# print the JSON string representation of the object +print(QueryTimeIntervalDTO.to_json()) + +# convert the object into a dict +query_time_interval_dto_dict = query_time_interval_dto_instance.to_dict() +# create an instance of QueryTimeIntervalDTO from a dict +query_time_interval_dto_from_dict = QueryTimeIntervalDTO.from_dict(query_time_interval_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/QueryTimeIntervalsDTO.md b/src/visier.sdk.api.data_out/docs/QueryTimeIntervalsDTO.md new file mode 100644 index 000000000..fe4ceffde --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/QueryTimeIntervalsDTO.md @@ -0,0 +1,39 @@ +# QueryTimeIntervalsDTO + +A QueryTimeIntervals defines a series of time intervals to query, including the \"from\" time, period type, period count, number of intervals, time direction, and shift to apply to each time interval. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**direction** | **str** | The direction to extend. Defaults is BACKWARD. | [optional] +**dynamic_date_from** | **str** | Dynamically select the date from which to extend. Valid values are `SOURCE` or `COMPLETE_PERIOD`. Both options use the `source` query definition element to determine the date. If `dynamicDateFrom` is `SOURCE`, the query returns data from a date determined by the `source` query definition element. If `dynamicDateFrom` is `COMPLETE_PERIOD`, the query returns data starting from the latest or earliest date with a complete period of data. When `dynamicDateFrom` is specified: * If `source` is `metric`, then `dynamicDateFrom` considers the date range of available data for the metric. * If `source` is `formula`, then `dynamicDateFrom` considers the date range of available data for the metric in the formula. * If `source` is `metrics`, then `dynamicDateFrom` considers the date range of available data for the metric in the formula. Then, if `direction` is `BACKWARD`, query backward from the data **end** date and if `direction` is `FORWARD`, query forward from the data **start** date. This allows you to keep getting the latest or earliest data without changing your query every time there's new or updated data. Note: For multi-metric queries, if `direction` is `BACKWARD`, query backward from the earliest data end date of all metrics and if `direction` is `FORWARD`, query forward from the latest data start date of all metrics. This ensures that all metrics have data in the specified time range. Example: If a tenant has Headcount metric data available from 2023-01-01 to 2024-01-01 (End date exclusive), specifying `dynamicDateFrom`: `SOURCE` with `direction`: `BACKWARD` means the query will retrieve data backward from 2024-01-01. The effect is the same as if specifying a `fromDateTime` of 2024-01-01'T'00:00:00.000. Example: If a tenant has Employee subject data available from 2023-01-10 to 2023-04-01 (End date exclusive), specifying `dynamicDateFrom`: `COMPLETE_PERIOD` with `direction`: `FORWARD` means the query will retrieve data forward from 2023-02-01. The effect is the same as if specifying a `fromDateTime` of 2023-02-01'T'00:00:00.000. Example: If a tenant has Employee subject data available from 2023-01-01 to 2023-03-15 (End date exclusive), specifying `dynamicDateFrom`: `COMPLETE_PERIOD` with `direction`: `BACKWARD` means the query will retrieve data backward from 2023-03-01. The effect is the same as if specifying a `fromDateTime` of 2023-03-01'T'00:00:00.000. Example: If a tenant has Headcount data available from 2023-01-01 to 2024-09-01 and Exit Count data available from 2023-01-01 to 2024-01-01, specifying `dynamicDateFrom`: `SOURCE` with `direction`: `BACKWARD` means the query will retrieve data backward from 2024-01-01. Exit Count has an earlier data end date than Headcount, so `dynamicDateFrom` retrieves data backward from Exit Count's data end date to ensure both metrics have data in the specified time range. Example: Retrieve Headcount (employeeCount) extending 1 month backward from Headcount's dynamic source date { \"query\": { \"source\": { \"metric\": \"employeeCount\" }, \"timeIntervals\": { \"dynamicDateFrom\": \"SOURCE\", \"intervalPeriodType\": \"MONTH\", \"intervalCount\": 1, \"direction\": \"BACKWARD\" } } } | [optional] +**from_date_time** | **str** | The instant from which to extend, as an ISO-8601 formatted date time string. This value is exclusive. Valid formats: yyyy-MM-dd, yyyy-MM-dd'T'HH:mm:ss, yyyy-MM-dd'T'HH:mm:ss.SSS. Events that occur on this date are excluded. Subject-based data that ends on this date is included. | [optional] +**from_instant** | **str** | The instant from which to extend, in milliseconds since 1970-01-01T00:00:00Z. Events that occur on this date are excluded. Subject-based data that ends on this date is included. Note: Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers. | [optional] +**interval_count** | **int** | The number of intervals. Default is 1. | [optional] +**interval_period_count** | **int** | The number of time periods per interval. Default is 1. | [optional] +**interval_period_type** | **str** | The time period type for each interval. Default is MONTH. | [optional] +**shift** | [**TimeShiftDTO**](TimeShiftDTO.md) | The amount of time to shift the time interval by, such as backward by one year. | [optional] +**trailing_period_count** | **int** | The number of time periods per trailing period. If `trailingPeriodType` is defined and `trailingPeriodCount` is undefined, the default trailing period count is 1. Note: This parameter is only applicable to metrics that can calculate trailing time. If defined on a metric that doesn't have trailing time, the platform ignores the parameter. | [optional] +**trailing_period_type** | **str** | The time period type for each trailing period. If `trailingPeriodCount` is defined and `trailingPeriodType` is undefined, the default trailing period type is `MONTH`. If both `trailingPeriodType` and `trailingPeriodCount` are undefined, `intervalPeriodCount` is used as the trailing period count. Note: This parameter is only applicable to metrics that can calculate trailing time. If defined on a metric that doesn't have trailing time, the platform ignores the parameter. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.query_time_intervals_dto import QueryTimeIntervalsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryTimeIntervalsDTO from a JSON string +query_time_intervals_dto_instance = QueryTimeIntervalsDTO.from_json(json) +# print the JSON string representation of the object +print(QueryTimeIntervalsDTO.to_json()) + +# convert the object into a dict +query_time_intervals_dto_dict = query_time_intervals_dto_instance.to_dict() +# create an instance of QueryTimeIntervalsDTO from a dict +query_time_intervals_dto_from_dict = QueryTimeIntervalsDTO.from_dict(query_time_intervals_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/SearchApi.md b/src/visier.sdk.api.data_out/docs/SearchApi.md new file mode 100644 index 000000000..8361a6905 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/SearchApi.md @@ -0,0 +1,112 @@ +# visier.sdk.api.data_out.SearchApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**simple_search_document_headers**](SearchApi.md#simple_search_document_headers) | **GET** /v1alpha/search/simple/document-headers | Perform a simple search for Visier document headers + + +# **simple_search_document_headers** +> SimpleDocumentHeaderSearchResponseDTO simple_search_document_headers(q=q, limit=limit, offset=offset) + +Perform a simple search for Visier document headers + +Perform a simple search for Visier document headers, such as analysis titles. Simple search doesn't support keywords, Boolean expressions, or any other advanced search features. Example: `GET /v1alpha/search/simple/document-headers?q=My+Query&limit=10` returns the first 10 document headers that best match the query string `My Query`.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.models.simple_document_header_search_response_dto import SimpleDocumentHeaderSearchResponseDTO +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.SearchApi(api_client) + q = 'q_example' # str | The search query string. (optional) + limit = 56 # int | The maximum number of results to return. Defaults to 100. (optional) + offset = 56 # int | The index to start retrieving results from, also known as offset. Defaults to 0. (optional) + + try: + # Perform a simple search for Visier document headers + api_response = api_instance.simple_search_document_headers(q=q, limit=limit, offset=offset) + print("The response of SearchApi->simple_search_document_headers:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SearchApi->simple_search_document_headers: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **q** | **str**| The search query string. | [optional] + **limit** | **int**| The maximum number of results to return. Defaults to 100. | [optional] + **offset** | **int**| The index to start retrieving results from, also known as offset. Defaults to 0. | [optional] + +### Return type + +[**SimpleDocumentHeaderSearchResponseDTO**](SimpleDocumentHeaderSearchResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.data_out/docs/SelectionConceptReferenceDTO.md b/src/visier.sdk.api.data_out/docs/SelectionConceptReferenceDTO.md new file mode 100644 index 000000000..213413239 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/SelectionConceptReferenceDTO.md @@ -0,0 +1,31 @@ +# SelectionConceptReferenceDTO + +The name and qualifying path of a selection concept to query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | The ID of the selection concept. See `SelectionConcepts` to get the ID. | [optional] +**qualifying_path** | **str** | The qualifying path to the selection concept in Visier, such as the analytic object or event the selection concept is associated with. If the path has multiple objects, each object is separated by a period. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.selection_concept_reference_dto import SelectionConceptReferenceDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SelectionConceptReferenceDTO from a JSON string +selection_concept_reference_dto_instance = SelectionConceptReferenceDTO.from_json(json) +# print the JSON string representation of the object +print(SelectionConceptReferenceDTO.to_json()) + +# convert the object into a dict +selection_concept_reference_dto_dict = selection_concept_reference_dto_instance.to_dict() +# create an instance of SelectionConceptReferenceDTO from a dict +selection_concept_reference_dto_from_dict = SelectionConceptReferenceDTO.from_dict(selection_concept_reference_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/SimpleDocumentHeaderSearchResponseDTO.md b/src/visier.sdk.api.data_out/docs/SimpleDocumentHeaderSearchResponseDTO.md new file mode 100644 index 000000000..b8c2f8a8a --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/SimpleDocumentHeaderSearchResponseDTO.md @@ -0,0 +1,30 @@ +# SimpleDocumentHeaderSearchResponseDTO + +The response body structure for Simple document header search operations. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**document_headers** | [**List[SimpleDocumentHeaderSearchResultDTO]**](SimpleDocumentHeaderSearchResultDTO.md) | The ordered collection of document header search results. The results are sorted according to their relevance in a descending order. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.simple_document_header_search_response_dto import SimpleDocumentHeaderSearchResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SimpleDocumentHeaderSearchResponseDTO from a JSON string +simple_document_header_search_response_dto_instance = SimpleDocumentHeaderSearchResponseDTO.from_json(json) +# print the JSON string representation of the object +print(SimpleDocumentHeaderSearchResponseDTO.to_json()) + +# convert the object into a dict +simple_document_header_search_response_dto_dict = simple_document_header_search_response_dto_instance.to_dict() +# create an instance of SimpleDocumentHeaderSearchResponseDTO from a dict +simple_document_header_search_response_dto_from_dict = SimpleDocumentHeaderSearchResponseDTO.from_dict(simple_document_header_search_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/SimpleDocumentHeaderSearchResultDTO.md b/src/visier.sdk.api.data_out/docs/SimpleDocumentHeaderSearchResultDTO.md new file mode 100644 index 000000000..56468b26e --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/SimpleDocumentHeaderSearchResultDTO.md @@ -0,0 +1,33 @@ +# SimpleDocumentHeaderSearchResultDTO + +Structure of a single document header search using the Simple search operation. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | The `Web Template Framework` representation of the search result element. This commonly displayed alongside the result by search portals. | [optional] +**display_name** | **str** | The display name of the element in the search result. | [optional] +**relevance** | **float** | The relevance of the search result and a number between `0` and `100`. | [optional] +**view_link** | [**DocumentSearchLinkDTO**](DocumentSearchLinkDTO.md) | Use the `viewLink` to build a web request to view this document. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.simple_document_header_search_result_dto import SimpleDocumentHeaderSearchResultDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SimpleDocumentHeaderSearchResultDTO from a JSON string +simple_document_header_search_result_dto_instance = SimpleDocumentHeaderSearchResultDTO.from_json(json) +# print the JSON string representation of the object +print(SimpleDocumentHeaderSearchResultDTO.to_json()) + +# convert the object into a dict +simple_document_header_search_result_dto_dict = simple_document_header_search_result_dto_instance.to_dict() +# create an instance of SimpleDocumentHeaderSearchResultDTO from a dict +simple_document_header_search_result_dto_from_dict = SimpleDocumentHeaderSearchResultDTO.from_dict(simple_document_header_search_result_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/SnapshotQueryExecutionDTO.md b/src/visier.sdk.api.data_out/docs/SnapshotQueryExecutionDTO.md new file mode 100644 index 000000000..11b335e5c --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/SnapshotQueryExecutionDTO.md @@ -0,0 +1,35 @@ +# SnapshotQueryExecutionDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**columns** | [**List[PropertyColumnDTO]**](PropertyColumnDTO.md) | The columns to include in the result. This must contain at least one column. | [optional] +**filters** | [**List[QueryFilterDTO]**](QueryFilterDTO.md) | The filters of this query. Omit `filters` if no filtering is required. | [optional] +**options** | [**SnapshotQueryExecutionOptionsDTO**](SnapshotQueryExecutionOptionsDTO.md) | Additional instructions for your query, such as a calendar type or conversion information. | [optional] +**parameter_values** | [**List[QueryParameterValueDTO]**](QueryParameterValueDTO.md) | The parameter values for either member or numeric parameters. | [optional] +**sort_options** | [**List[SortOptionDTO]**](SortOptionDTO.md) | The index and direction to sort a column in the `columns` array. | [optional] +**source** | [**ListQuerySourceDTO**](ListQuerySourceDTO.md) | The source data that you want to query. | [optional] +**time_intervals** | [**QueryTimeIntervalsDTO**](QueryTimeIntervalsDTO.md) | The time intervals to query. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.snapshot_query_execution_dto import SnapshotQueryExecutionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SnapshotQueryExecutionDTO from a JSON string +snapshot_query_execution_dto_instance = SnapshotQueryExecutionDTO.from_json(json) +# print the JSON string representation of the object +print(SnapshotQueryExecutionDTO.to_json()) + +# convert the object into a dict +snapshot_query_execution_dto_dict = snapshot_query_execution_dto_instance.to_dict() +# create an instance of SnapshotQueryExecutionDTO from a dict +snapshot_query_execution_dto_from_dict = SnapshotQueryExecutionDTO.from_dict(snapshot_query_execution_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/SnapshotQueryExecutionOptionsDTO.md b/src/visier.sdk.api.data_out/docs/SnapshotQueryExecutionOptionsDTO.md new file mode 100644 index 000000000..e7e3d3626 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/SnapshotQueryExecutionOptionsDTO.md @@ -0,0 +1,38 @@ +# SnapshotQueryExecutionOptionsDTO + +A SnapshotQueryExecutionOptions provides additional instructions to perform a snapshot query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**calendar_type** | **str** | The calendar type to use. This will be used for all time calculations unless explicitly overridden in the calculation itself. Default is TENANT_CALENDAR. | [optional] +**currency_conversion_code** | **str** | The optional target currency for all currency conversions. If not specified, the tenant default currency will be used. | [optional] +**currency_conversion_date** | **str** | The currency conversion date to use. If defined, the currency conversion will use the exchange rates as of this date. | [optional] +**date_time_display_mode** | **str** | Control how date-time values are displayed in the result set. Supported values: * `EPOCH`: The number of elapsed milliseconds since January 1, 1970 in UTC timezone. This is the default. * `DATETIME`: The date-time value displayed in `yyyy-MM-dd HH:mm:ssZZ` format. | [optional] +**limit** | **int** | The maximum number of entries to return. Default is to return all entries. If `page` is defined but limit is not defined, limit will be set to a default value of 1000. | [optional] +**multiple_tables** | **bool** | Option to return multiple table files as zipped archive for derived metrics. Default is false. If false, one table is returned for the drill-through metric. | [optional] +**omit_header** | **bool** | Option to omit the header from the result. If true, queryMode must be either FILL or FAIL. Default is false. | [optional] +**page** | **int** | A page defines a subset of the overall result set. The number of rows per page is equal to limit with the exception of the last page in the result set which may contain fewer rows. `Page` is an index that begins at 0. The index to start retrieving results is calculated by multiplying `page` by `limit`. | [optional] +**query_mode** | **str** | Determines how the query should handle column definitions that the query is unable to resolve. Default is DEFAULT. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.snapshot_query_execution_options_dto import SnapshotQueryExecutionOptionsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SnapshotQueryExecutionOptionsDTO from a JSON string +snapshot_query_execution_options_dto_instance = SnapshotQueryExecutionOptionsDTO.from_json(json) +# print the JSON string representation of the object +print(SnapshotQueryExecutionOptionsDTO.to_json()) + +# convert the object into a dict +snapshot_query_execution_options_dto_dict = snapshot_query_execution_options_dto_instance.to_dict() +# create an instance of SnapshotQueryExecutionOptionsDTO from a dict +snapshot_query_execution_options_dto_from_dict = SnapshotQueryExecutionOptionsDTO.from_dict(snapshot_query_execution_options_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/SortOptionDTO.md b/src/visier.sdk.api.data_out/docs/SortOptionDTO.md new file mode 100644 index 000000000..8af4b9679 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/SortOptionDTO.md @@ -0,0 +1,31 @@ +# SortOptionDTO + +Sort option for a column of a list query. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**column_index** | **int** | The index of the column of the list query, staring from 0. | [optional] +**sort_direction** | **str** | The sort direction. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.sort_option_dto import SortOptionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SortOptionDTO from a JSON string +sort_option_dto_instance = SortOptionDTO.from_json(json) +# print the JSON string representation of the object +print(SortOptionDTO.to_json()) + +# convert the object into a dict +sort_option_dto_dict = sort_option_dto_instance.to_dict() +# create an instance of SortOptionDTO from a dict +sort_option_dto_from_dict = SortOptionDTO.from_dict(sort_option_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/SqlLikeQueryExecutionDTO.md b/src/visier.sdk.api.data_out/docs/SqlLikeQueryExecutionDTO.md new file mode 100644 index 000000000..f5945acaf --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/SqlLikeQueryExecutionDTO.md @@ -0,0 +1,31 @@ +# SqlLikeQueryExecutionDTO + +* Request body for SQL-like query executions + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**options** | [**QueryExecutionOptionsDTO**](QueryExecutionOptionsDTO.md) | Optional options that currently that cannot be expressed in SQL-like | [optional] +**query** | **str** | The SQL-like query string | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.sql_like_query_execution_dto import SqlLikeQueryExecutionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of SqlLikeQueryExecutionDTO from a JSON string +sql_like_query_execution_dto_instance = SqlLikeQueryExecutionDTO.from_json(json) +# print the JSON string representation of the object +print(SqlLikeQueryExecutionDTO.to_json()) + +# convert the object into a dict +sql_like_query_execution_dto_dict = sql_like_query_execution_dto_instance.to_dict() +# create an instance of SqlLikeQueryExecutionDTO from a dict +sql_like_query_execution_dto_from_dict = SqlLikeQueryExecutionDTO.from_dict(sql_like_query_execution_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/Status.md b/src/visier.sdk.api.data_out/docs/Status.md new file mode 100644 index 000000000..683c09bca --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/Status.md @@ -0,0 +1,32 @@ +# Status + +The response structure for errors. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | Error classification. | [optional] +**message** | **str** | Error message describing the root cause of the error. | [optional] +**rci** | **str** | Optional root cause identifier. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.status import Status + +# TODO update the JSON string below +json = "{}" +# create an instance of Status from a JSON string +status_instance = Status.from_json(json) +# print the JSON string representation of the object +print(Status.to_json()) + +# convert the object into a dict +status_dict = status_instance.to_dict() +# create an instance of Status from a dict +status_from_dict = Status.from_dict(status_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/TimeShiftDTO.md b/src/visier.sdk.api.data_out/docs/TimeShiftDTO.md new file mode 100644 index 000000000..37edd6d8d --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/TimeShiftDTO.md @@ -0,0 +1,32 @@ +# TimeShiftDTO + +The amount of time to shift the time interval by, such as backward by one year. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**direction** | **str** | The direction to extend. Default is BACKWARD. | [optional] +**period_count** | **int** | The number of intervals. Default is 1. | [optional] +**period_type** | **str** | The time period type for the shift. | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.time_shift_dto import TimeShiftDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of TimeShiftDTO from a JSON string +time_shift_dto_instance = TimeShiftDTO.from_json(json) +# print the JSON string representation of the object +print(TimeShiftDTO.to_json()) + +# convert the object into a dict +time_shift_dto_dict = time_shift_dto_instance.to_dict() +# create an instance of TimeShiftDTO from a dict +time_shift_dto_from_dict = TimeShiftDTO.from_dict(time_shift_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/VeeDataDTO.md b/src/visier.sdk.api.data_out/docs/VeeDataDTO.md new file mode 100644 index 000000000..239a16486 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/VeeDataDTO.md @@ -0,0 +1,30 @@ +# VeeDataDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**context** | **str** | | [optional] +**data_json** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.vee_data_dto import VeeDataDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of VeeDataDTO from a JSON string +vee_data_dto_instance = VeeDataDTO.from_json(json) +# print the JSON string representation of the object +print(VeeDataDTO.to_json()) + +# convert the object into a dict +vee_data_dto_dict = vee_data_dto_instance.to_dict() +# create an instance of VeeDataDTO from a dict +vee_data_dto_from_dict = VeeDataDTO.from_dict(vee_data_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/VeeFeedbackDTO.md b/src/visier.sdk.api.data_out/docs/VeeFeedbackDTO.md new file mode 100644 index 000000000..90692ff1a --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/VeeFeedbackDTO.md @@ -0,0 +1,32 @@ +# VeeFeedbackDTO + +Query feedback DTOs + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | | [optional] +**is_approved** | **bool** | | [optional] +**response** | [**VeeResponseDTO**](VeeResponseDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.vee_feedback_dto import VeeFeedbackDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of VeeFeedbackDTO from a JSON string +vee_feedback_dto_instance = VeeFeedbackDTO.from_json(json) +# print the JSON string representation of the object +print(VeeFeedbackDTO.to_json()) + +# convert the object into a dict +vee_feedback_dto_dict = vee_feedback_dto_instance.to_dict() +# create an instance of VeeFeedbackDTO from a dict +vee_feedback_dto_from_dict = VeeFeedbackDTO.from_dict(vee_feedback_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/VeeQueryApi.md b/src/visier.sdk.api.data_out/docs/VeeQueryApi.md new file mode 100644 index 000000000..d2b87f4fe --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/VeeQueryApi.md @@ -0,0 +1,338 @@ +# visier.sdk.api.data_out.VeeQueryApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**vee_query_feedback**](VeeQueryApi.md#vee_query_feedback) | **POST** /v1alpha/rest/vee/query-feedback | Submit Vee feedback +[**vee_query_request**](VeeQueryApi.md#vee_query_request) | **POST** /v1alpha/rest/vee/query | Ask Vee a question +[**vee_sample_questions**](VeeQueryApi.md#vee_sample_questions) | **GET** /v1alpha/rest/vee/sample-questions | Get a list of sample questions + + +# **vee_query_feedback** +> VeeFeedbackDTO vee_query_feedback(question=question, thread_state_question_state=thread_state_question_state, options_include_visual=options_include_visual, options_include_data=options_include_data, options_data_format=options_data_format, options_include_reworded_question=options_include_reworded_question) + +Submit Vee feedback + +Give Vee feedback on a previous response. POST the `threadState` field returned from `query` endpoint above, along with a positive or negative rating (`isApproved`) and any further information you'd like to provide (`description`).
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). Example: `POST /v1alpha/rest/vee/query-feedback` returns a success or failure: ```json { \"response\": { .. }, \"isApproved\": \"false\", \"description\": \"API testing\" } ``` + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.models.vee_feedback_dto import VeeFeedbackDTO +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.VeeQueryApi(api_client) + question = 'question_example' # str | (optional) + thread_state_question_state = ['thread_state_question_state_example'] # List[str] | (optional) + options_include_visual = True # bool | (optional) + options_include_data = True # bool | (optional) + options_data_format = 'options_data_format_example' # str | (optional) + options_include_reworded_question = True # bool | (optional) + + try: + # Submit Vee feedback + api_response = api_instance.vee_query_feedback(question=question, thread_state_question_state=thread_state_question_state, options_include_visual=options_include_visual, options_include_data=options_include_data, options_data_format=options_data_format, options_include_reworded_question=options_include_reworded_question) + print("The response of VeeQueryApi->vee_query_feedback:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling VeeQueryApi->vee_query_feedback: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **question** | **str**| | [optional] + **thread_state_question_state** | [**List[str]**](str.md)| | [optional] + **options_include_visual** | **bool**| | [optional] + **options_include_data** | **bool**| | [optional] + **options_data_format** | **str**| | [optional] + **options_include_reworded_question** | **bool**| | [optional] + +### Return type + +[**VeeFeedbackDTO**](VeeFeedbackDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **vee_query_request** +> VeeResponseDTO vee_query_request(question=question, thread_state_question_state=thread_state_question_state, options_include_visual=options_include_visual, options_include_data=options_include_data, options_data_format=options_data_format, options_include_reworded_question=options_include_reworded_question) + +Ask Vee a question + +Use this API to ask Vee a People Analytic question and receive a response. Options `includeData` and `includeVisual` can be set in the request data to receive additional data corresponding to the answer. Example: `POST v1alpha/rest/vee/query` with body data ```json { \"question\": \"who is Adam?\" \"options\": { \"includeVisual\": \"false\", \"includeData\": \"true\" } } ``` returns ```json { \"threadState\": { .. }, \"statusCode\": { \"statusCode\": \"VEE_API_SUCCESS\", \"statusMsg\": \"Successful Vee response for question=who is Adam?\" }, \"narrative\": \"For Adam Mccallum in Apr 2024: Performance Rating is Level 4, and it changed once on Feb 2024, Potential is High, and it changed once on Feb 2023, Email Address is adam.mccallum.d3m@visierinc.com, Compa Ratio is 28.9%, Period Change Direct Compensation is 0.00%, Manager Status is 1, Direct Span of Control is 3, Manager Change Count is 0, Average Overall Experience Score is N/A and Job Name is Operations Director.\", \"queryFunction\": \"Info_Card(filters[Employee.Full_Name = \\\"Adam Mccallum\\\"]);\", \"concepts\": {}, \"data\": { \"dataJson\": \"..\", \"context\": \"{\\\"filters\\\":[],\\\"timeFilter\\\":[\\\"Apr 2024\\\"]}\" }, \"visual\": {}, \"rewordedQuestion\": \"What is the current status and details of Adam Mccallum's employment as of April 2024?\" } ```
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.models.vee_response_dto import VeeResponseDTO +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.VeeQueryApi(api_client) + question = 'question_example' # str | (optional) + thread_state_question_state = ['thread_state_question_state_example'] # List[str] | (optional) + options_include_visual = True # bool | (optional) + options_include_data = True # bool | (optional) + options_data_format = 'options_data_format_example' # str | (optional) + options_include_reworded_question = True # bool | (optional) + + try: + # Ask Vee a question + api_response = api_instance.vee_query_request(question=question, thread_state_question_state=thread_state_question_state, options_include_visual=options_include_visual, options_include_data=options_include_data, options_data_format=options_data_format, options_include_reworded_question=options_include_reworded_question) + print("The response of VeeQueryApi->vee_query_request:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling VeeQueryApi->vee_query_request: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **question** | **str**| | [optional] + **thread_state_question_state** | [**List[str]**](str.md)| | [optional] + **options_include_visual** | **bool**| | [optional] + **options_include_data** | **bool**| | [optional] + **options_data_format** | **str**| | [optional] + **options_include_reworded_question** | **bool**| | [optional] + +### Return type + +[**VeeResponseDTO**](VeeResponseDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **vee_sample_questions** +> VeeSampleQuestionLibraryDTO vee_sample_questions(question=question, thread_state_question_state=thread_state_question_state, options_include_visual=options_include_visual, options_include_data=options_include_data, options_data_format=options_data_format, options_include_reworded_question=options_include_reworded_question) + +Get a list of sample questions + +To get started with Vee, use this API to get a list of sample questions. Example: `GET /v1alpha/rest/vee/sample-questions` returns a string list of questions. ```json questions { \"questions\": \"What is the turnover rate?\" \"metadata\": { \"categories\": \"metricQuestion\"\" } } ```
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + +### Example + +* Api Key Authentication (CookieAuth): +* Api Key Authentication (ApiKeyAuth): +* OAuth Authentication (OAuth2Auth): +* OAuth Authentication (OAuth2Auth): +* Bearer Authentication (BearerAuth): + +```python +import visier.sdk.api.data_out +from visier.sdk.api.data_out.models.vee_sample_question_library_dto import VeeSampleQuestionLibraryDTO +from visier.sdk.api.data_out.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = visier.sdk.api.data_out.Configuration( + host = "http://localhost" +) + +# 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. + +# Configure API key authorization: CookieAuth +configuration.api_key['CookieAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['CookieAuth'] = 'Bearer' + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +configuration.access_token = os.environ["ACCESS_TOKEN"] + +# Configure Bearer authorization: BearerAuth +configuration = visier.sdk.api.data_out.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with visier.sdk.api.data_out.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = visier.sdk.api.data_out.VeeQueryApi(api_client) + question = 'question_example' # str | (optional) + thread_state_question_state = ['thread_state_question_state_example'] # List[str] | (optional) + options_include_visual = True # bool | (optional) + options_include_data = True # bool | (optional) + options_data_format = 'options_data_format_example' # str | (optional) + options_include_reworded_question = True # bool | (optional) + + try: + # Get a list of sample questions + api_response = api_instance.vee_sample_questions(question=question, thread_state_question_state=thread_state_question_state, options_include_visual=options_include_visual, options_include_data=options_include_data, options_data_format=options_data_format, options_include_reworded_question=options_include_reworded_question) + print("The response of VeeQueryApi->vee_sample_questions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling VeeQueryApi->vee_sample_questions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **question** | **str**| | [optional] + **thread_state_question_state** | [**List[str]**](str.md)| | [optional] + **options_include_visual** | **bool**| | [optional] + **options_include_data** | **bool**| | [optional] + **options_data_format** | **str**| | [optional] + **options_include_reworded_question** | **bool**| | [optional] + +### Return type + +[**VeeSampleQuestionLibraryDTO**](VeeSampleQuestionLibraryDTO.md) + +### Authorization + +[CookieAuth](../README.md#CookieAuth), [ApiKeyAuth](../README.md#ApiKeyAuth), [OAuth2Auth](../README.md#OAuth2Auth), [OAuth2Auth](../README.md#OAuth2Auth), [BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**0** | Default error response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/src/visier.sdk.api.data_out/docs/VeeQueryCorrectionsDTO.md b/src/visier.sdk.api.data_out/docs/VeeQueryCorrectionsDTO.md new file mode 100644 index 000000000..da9f8d28e --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/VeeQueryCorrectionsDTO.md @@ -0,0 +1,30 @@ +# VeeQueryCorrectionsDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**clarifications** | [**List[QueryClarificationDTO]**](QueryClarificationDTO.md) | | [optional] +**warning** | **List[str]** | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.vee_query_corrections_dto import VeeQueryCorrectionsDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of VeeQueryCorrectionsDTO from a JSON string +vee_query_corrections_dto_instance = VeeQueryCorrectionsDTO.from_json(json) +# print the JSON string representation of the object +print(VeeQueryCorrectionsDTO.to_json()) + +# convert the object into a dict +vee_query_corrections_dto_dict = vee_query_corrections_dto_instance.to_dict() +# create an instance of VeeQueryCorrectionsDTO from a dict +vee_query_corrections_dto_from_dict = VeeQueryCorrectionsDTO.from_dict(vee_query_corrections_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/VeeResponseDTO.md b/src/visier.sdk.api.data_out/docs/VeeResponseDTO.md new file mode 100644 index 000000000..cfb27ed48 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/VeeResponseDTO.md @@ -0,0 +1,38 @@ +# VeeResponseDTO + +Server Response DTOs + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**chart_url** | **str** | | [optional] +**corrections** | [**VeeQueryCorrectionsDTO**](VeeQueryCorrectionsDTO.md) | | [optional] +**data** | [**VeeDataDTO**](VeeDataDTO.md) | | [optional] +**narrative** | **str** | | [optional] +**reworded_question** | **str** | | [optional] +**var_schema** | [**VeeResponseSchemaDTO**](VeeResponseSchemaDTO.md) | | [optional] +**status_code** | [**VeeStatusCodeDTO**](VeeStatusCodeDTO.md) | | [optional] +**thread_state** | [**VeeThreadStateDTO**](VeeThreadStateDTO.md) | | [optional] +**visual** | [**VeeVisualDTO**](VeeVisualDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.vee_response_dto import VeeResponseDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of VeeResponseDTO from a JSON string +vee_response_dto_instance = VeeResponseDTO.from_json(json) +# print the JSON string representation of the object +print(VeeResponseDTO.to_json()) + +# convert the object into a dict +vee_response_dto_dict = vee_response_dto_instance.to_dict() +# create an instance of VeeResponseDTO from a dict +vee_response_dto_from_dict = VeeResponseDTO.from_dict(vee_response_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/VeeResponseSchemaDTO.md b/src/visier.sdk.api.data_out/docs/VeeResponseSchemaDTO.md new file mode 100644 index 000000000..41b64c4c3 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/VeeResponseSchemaDTO.md @@ -0,0 +1,31 @@ +# VeeResponseSchemaDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**concepts** | [**List[VeeResponseSchemaReferenceDTO]**](VeeResponseSchemaReferenceDTO.md) | | [optional] +**dimensions** | [**List[VeeResponseSchemaReferenceDTO]**](VeeResponseSchemaReferenceDTO.md) | | [optional] +**metrics** | **List[str]** | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.vee_response_schema_dto import VeeResponseSchemaDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of VeeResponseSchemaDTO from a JSON string +vee_response_schema_dto_instance = VeeResponseSchemaDTO.from_json(json) +# print the JSON string representation of the object +print(VeeResponseSchemaDTO.to_json()) + +# convert the object into a dict +vee_response_schema_dto_dict = vee_response_schema_dto_instance.to_dict() +# create an instance of VeeResponseSchemaDTO from a dict +vee_response_schema_dto_from_dict = VeeResponseSchemaDTO.from_dict(vee_response_schema_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/VeeResponseSchemaReferenceDTO.md b/src/visier.sdk.api.data_out/docs/VeeResponseSchemaReferenceDTO.md new file mode 100644 index 000000000..4fdfa8523 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/VeeResponseSchemaReferenceDTO.md @@ -0,0 +1,30 @@ +# VeeResponseSchemaReferenceDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**paths** | **List[str]** | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.vee_response_schema_reference_dto import VeeResponseSchemaReferenceDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of VeeResponseSchemaReferenceDTO from a JSON string +vee_response_schema_reference_dto_instance = VeeResponseSchemaReferenceDTO.from_json(json) +# print the JSON string representation of the object +print(VeeResponseSchemaReferenceDTO.to_json()) + +# convert the object into a dict +vee_response_schema_reference_dto_dict = vee_response_schema_reference_dto_instance.to_dict() +# create an instance of VeeResponseSchemaReferenceDTO from a dict +vee_response_schema_reference_dto_from_dict = VeeResponseSchemaReferenceDTO.from_dict(vee_response_schema_reference_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/VeeSampleQuestionDTO.md b/src/visier.sdk.api.data_out/docs/VeeSampleQuestionDTO.md new file mode 100644 index 000000000..e9dd79825 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/VeeSampleQuestionDTO.md @@ -0,0 +1,31 @@ +# VeeSampleQuestionDTO + +Query sample questions + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**metadata** | [**VeeSampleQuestionMetadataDTO**](VeeSampleQuestionMetadataDTO.md) | | [optional] +**question** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.vee_sample_question_dto import VeeSampleQuestionDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of VeeSampleQuestionDTO from a JSON string +vee_sample_question_dto_instance = VeeSampleQuestionDTO.from_json(json) +# print the JSON string representation of the object +print(VeeSampleQuestionDTO.to_json()) + +# convert the object into a dict +vee_sample_question_dto_dict = vee_sample_question_dto_instance.to_dict() +# create an instance of VeeSampleQuestionDTO from a dict +vee_sample_question_dto_from_dict = VeeSampleQuestionDTO.from_dict(vee_sample_question_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/VeeSampleQuestionLibraryDTO.md b/src/visier.sdk.api.data_out/docs/VeeSampleQuestionLibraryDTO.md new file mode 100644 index 000000000..cd58ce4ee --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/VeeSampleQuestionLibraryDTO.md @@ -0,0 +1,29 @@ +# VeeSampleQuestionLibraryDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**questions** | [**List[VeeSampleQuestionDTO]**](VeeSampleQuestionDTO.md) | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.vee_sample_question_library_dto import VeeSampleQuestionLibraryDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of VeeSampleQuestionLibraryDTO from a JSON string +vee_sample_question_library_dto_instance = VeeSampleQuestionLibraryDTO.from_json(json) +# print the JSON string representation of the object +print(VeeSampleQuestionLibraryDTO.to_json()) + +# convert the object into a dict +vee_sample_question_library_dto_dict = vee_sample_question_library_dto_instance.to_dict() +# create an instance of VeeSampleQuestionLibraryDTO from a dict +vee_sample_question_library_dto_from_dict = VeeSampleQuestionLibraryDTO.from_dict(vee_sample_question_library_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/VeeSampleQuestionMetadataDTO.md b/src/visier.sdk.api.data_out/docs/VeeSampleQuestionMetadataDTO.md new file mode 100644 index 000000000..3f26c4215 --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/VeeSampleQuestionMetadataDTO.md @@ -0,0 +1,29 @@ +# VeeSampleQuestionMetadataDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**categories** | **List[str]** | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.vee_sample_question_metadata_dto import VeeSampleQuestionMetadataDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of VeeSampleQuestionMetadataDTO from a JSON string +vee_sample_question_metadata_dto_instance = VeeSampleQuestionMetadataDTO.from_json(json) +# print the JSON string representation of the object +print(VeeSampleQuestionMetadataDTO.to_json()) + +# convert the object into a dict +vee_sample_question_metadata_dto_dict = vee_sample_question_metadata_dto_instance.to_dict() +# create an instance of VeeSampleQuestionMetadataDTO from a dict +vee_sample_question_metadata_dto_from_dict = VeeSampleQuestionMetadataDTO.from_dict(vee_sample_question_metadata_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/VeeStatusCodeDTO.md b/src/visier.sdk.api.data_out/docs/VeeStatusCodeDTO.md new file mode 100644 index 000000000..c3225ac4b --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/VeeStatusCodeDTO.md @@ -0,0 +1,30 @@ +# VeeStatusCodeDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status_code** | **str** | | [optional] +**status_msg** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.vee_status_code_dto import VeeStatusCodeDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of VeeStatusCodeDTO from a JSON string +vee_status_code_dto_instance = VeeStatusCodeDTO.from_json(json) +# print the JSON string representation of the object +print(VeeStatusCodeDTO.to_json()) + +# convert the object into a dict +vee_status_code_dto_dict = vee_status_code_dto_instance.to_dict() +# create an instance of VeeStatusCodeDTO from a dict +vee_status_code_dto_from_dict = VeeStatusCodeDTO.from_dict(vee_status_code_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/VeeThreadStateDTO.md b/src/visier.sdk.api.data_out/docs/VeeThreadStateDTO.md new file mode 100644 index 000000000..db25a3c1a --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/VeeThreadStateDTO.md @@ -0,0 +1,29 @@ +# VeeThreadStateDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**question_state** | **List[str]** | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.vee_thread_state_dto import VeeThreadStateDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of VeeThreadStateDTO from a JSON string +vee_thread_state_dto_instance = VeeThreadStateDTO.from_json(json) +# print the JSON string representation of the object +print(VeeThreadStateDTO.to_json()) + +# convert the object into a dict +vee_thread_state_dto_dict = vee_thread_state_dto_instance.to_dict() +# create an instance of VeeThreadStateDTO from a dict +vee_thread_state_dto_from_dict = VeeThreadStateDTO.from_dict(vee_thread_state_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/docs/VeeVisualDTO.md b/src/visier.sdk.api.data_out/docs/VeeVisualDTO.md new file mode 100644 index 000000000..1fd29213a --- /dev/null +++ b/src/visier.sdk.api.data_out/docs/VeeVisualDTO.md @@ -0,0 +1,30 @@ +# VeeVisualDTO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**context** | **str** | | [optional] +**image** | **str** | | [optional] + +## Example + +```python +from visier.sdk.api.data_out.models.vee_visual_dto import VeeVisualDTO + +# TODO update the JSON string below +json = "{}" +# create an instance of VeeVisualDTO from a JSON string +vee_visual_dto_instance = VeeVisualDTO.from_json(json) +# print the JSON string representation of the object +print(VeeVisualDTO.to_json()) + +# convert the object into a dict +vee_visual_dto_dict = vee_visual_dto_instance.to_dict() +# create an instance of VeeVisualDTO from a dict +vee_visual_dto_from_dict = VeeVisualDTO.from_dict(vee_visual_dto_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/src/visier.sdk.api.data_out/git_push.sh b/src/visier.sdk.api.data_out/git_push.sh new file mode 100644 index 000000000..f53a75d4f --- /dev/null +++ b/src/visier.sdk.api.data_out/git_push.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ +# +# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" + +git_user_id=$1 +git_repo_id=$2 +release_note=$3 +git_host=$4 + +if [ "$git_host" = "" ]; then + git_host="github.com" + echo "[INFO] No command line input provided. Set \$git_host to $git_host" +fi + +if [ "$git_user_id" = "" ]; then + git_user_id="GIT_USER_ID" + echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" +fi + +if [ "$git_repo_id" = "" ]; then + git_repo_id="GIT_REPO_ID" + echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" +fi + +if [ "$release_note" = "" ]; then + release_note="Minor update" + echo "[INFO] No command line input provided. Set \$release_note to $release_note" +fi + +# Initialize the local directory as a Git repository +git init + +# Adds the files in the local repository and stages them for commit. +git add . + +# Commits the tracked changes and prepares them to be pushed to a remote repository. +git commit -m "$release_note" + +# Sets the new remote +git_remote=$(git remote) +if [ "$git_remote" = "" ]; then # git remote not defined + + if [ "$GIT_TOKEN" = "" ]; then + echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." + git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git + else + git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git + fi + +fi + +git pull origin master + +# Pushes (Forces) the changes in the local repository up to the remote repository +echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" +git push origin master 2>&1 | grep -v 'To https' diff --git a/src/visier.sdk.api.data_out/pyproject.toml b/src/visier.sdk.api.data_out/pyproject.toml new file mode 100644 index 000000000..8ae4030a4 --- /dev/null +++ b/src/visier.sdk.api.data_out/pyproject.toml @@ -0,0 +1,71 @@ +[tool.poetry] +name = "visier.sdk.api.data_out" +version = "0.0.1" +description = "Visier Data Out APIs" +authors = ["OpenAPI Generator Community "] +license = "Apache License, Version 2.0" +readme = "README.md" +repository = "https://github.com/GIT_USER_ID/GIT_REPO_ID" +keywords = ["OpenAPI", "OpenAPI-Generator", "Visier Data Out APIs"] +include = ["visier.sdk.api.data_out/py.typed"] + +[tool.poetry.dependencies] +python = "^3.7" + +urllib3 = ">= 1.25.3" +python-dateutil = ">=2.8.2" +pydantic = ">=2" +typing-extensions = ">=4.7.1" + +[tool.poetry.dev-dependencies] +pytest = ">=7.2.1" +tox = ">=3.9.0" +flake8 = ">=4.0.0" +types-python-dateutil = ">=2.8.19.14" +mypy = "1.4.1" + + +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[tool.pylint.'MESSAGES CONTROL'] +extension-pkg-whitelist = "pydantic" + +[tool.mypy] +files = [ + "visier.sdk.api.data_out", + #"test", # auto-generated tests + "tests", # hand-written tests +] +# TODO: enable "strict" once all these individual checks are passing +# strict = true + +# List from: https://mypy.readthedocs.io/en/stable/existing_code.html#introduce-stricter-options +warn_unused_configs = true +warn_redundant_casts = true +warn_unused_ignores = true + +## Getting these passing should be easy +strict_equality = true +strict_concatenate = true + +## Strongly recommend enabling this one as soon as you can +check_untyped_defs = true + +## These shouldn't be too much additional work, but may be tricky to +## get passing if you use a lot of untyped libraries +disallow_subclassing_any = true +disallow_untyped_decorators = true +disallow_any_generics = true + +### These next few are various gradations of forcing use of type annotations +#disallow_untyped_calls = true +#disallow_incomplete_defs = true +#disallow_untyped_defs = true +# +### This one isn't too hard to get passing, but return on investment is lower +#no_implicit_reexport = true +# +### This one can be tricky to get passing if you use a lot of untyped libraries +#warn_return_any = true diff --git a/src/visier.sdk.api.data_out/requirements.txt b/src/visier.sdk.api.data_out/requirements.txt new file mode 100644 index 000000000..931b4e384 --- /dev/null +++ b/src/visier.sdk.api.data_out/requirements.txt @@ -0,0 +1,6 @@ +python_dateutil >= 2.5.3 +setuptools >= 21.0.0 +urllib3 >= 1.25.3, < 2.1.0 +pydantic >= 2 +typing-extensions >= 4.7.1 +Flask >= 3.0.0 \ No newline at end of file diff --git a/src/visier.sdk.api.data_out/setup.cfg b/src/visier.sdk.api.data_out/setup.cfg new file mode 100644 index 000000000..11433ee87 --- /dev/null +++ b/src/visier.sdk.api.data_out/setup.cfg @@ -0,0 +1,2 @@ +[flake8] +max-line-length=99 diff --git a/src/visier.sdk.api.data_out/setup.py b/src/visier.sdk.api.data_out/setup.py new file mode 100644 index 000000000..6dc5b0105 --- /dev/null +++ b/src/visier.sdk.api.data_out/setup.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from setuptools import setup, find_packages # noqa: H301 + +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools +NAME = "visier.sdk.api.data-out" +VERSION = "0.0.1" +PYTHON_REQUIRES = ">=3.7" +REQUIRES = [ + "urllib3 >= 1.25.3, < 2.1.0", + "python-dateutil", + "pydantic >= 2", + "typing-extensions >= 4.7.1", +] + +setup( + name=NAME, + version=VERSION, + description="Visier Data Out APIs", + author="OpenAPI Generator community", + author_email="team@openapitools.org", + url="", + keywords=["OpenAPI", "OpenAPI-Generator", "Visier Data Out APIs"], + install_requires=REQUIRES, + packages=find_packages(exclude=["test", "tests"]), + include_package_data=True, + license="Apache License, Version 2.0", + long_description_content_type='text/markdown', + long_description="""\ + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + """, # noqa: E501 + package_data={"visier.sdk.api.data_out": ["py.typed"]}, +) diff --git a/src/visier.sdk.api.data_out/test-requirements.txt b/src/visier.sdk.api.data_out/test-requirements.txt new file mode 100644 index 000000000..8e6d8cb13 --- /dev/null +++ b/src/visier.sdk.api.data_out/test-requirements.txt @@ -0,0 +1,5 @@ +pytest~=7.1.3 +pytest-cov>=2.8.1 +pytest-randomly>=3.12.0 +mypy>=1.4.1 +types-python-dateutil>=2.8.19 diff --git a/src/visier.sdk.api.data_out/test/__init__.py b/src/visier.sdk.api.data_out/test/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.data_out/test/test_aggregation_query_dto.py b/src/visier.sdk.api.data_out/test/test_aggregation_query_dto.py new file mode 100644 index 000000000..b39c43214 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_aggregation_query_dto.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.aggregation_query_dto import AggregationQueryDTO + +class TestAggregationQueryDTO(unittest.TestCase): + """AggregationQueryDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AggregationQueryDTO: + """Test AggregationQueryDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AggregationQueryDTO` + """ + model = AggregationQueryDTO() + if include_optional: + return AggregationQueryDTO( + axes = [ + visier.sdk.api.data_out.models.query_axis_dto.QueryAxisDTO( + dimension_data_member_selection = null, + dimension_leaf_member_selection = null, + dimension_level_selection = null, + dimension_level_with_uncategorized_value_selection = null, + dimension_member_selection = null, + formula = '', + member_map_selection = null, + numeric_ranges = null, + selection_concept = null, + table_axis_options = null, ) + ], + filters = [ + visier.sdk.api.data_out.models.query_filter_dto.QueryFilterDTO( + cohort = null, + formula = '', + member_set = null, + selection_concept = null, ) + ], + parameter_values = [ + visier.sdk.api.data_out.models.query_parameter_value_dto.QueryParameterValueDTO( + aggregation_type_value = null, + member_value = null, + numeric_value = null, + plan_value = null, ) + ], + source = visier.sdk.api.data_out.models.aggregation_query_source_dto.AggregationQuerySourceDTO( + formula = '', + metric = '', + metrics = null, ), + time_intervals = visier.sdk.api.data_out.models.query_time_intervals_dto.QueryTimeIntervalsDTO( + direction = 'BACKWARD', + dynamic_date_from = '', + from_date_time = '', + from_instant = '', + interval_count = 56, + interval_period_count = 56, + interval_period_type = 'MONTH', + shift = null, + trailing_period_count = 56, + trailing_period_type = 'MONTH', ) + ) + else: + return AggregationQueryDTO( + ) + """ + + def testAggregationQueryDTO(self): + """Test AggregationQueryDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_aggregation_query_execution_dto.py b/src/visier.sdk.api.data_out/test/test_aggregation_query_execution_dto.py new file mode 100644 index 000000000..751fff4bf --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_aggregation_query_execution_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.aggregation_query_execution_dto import AggregationQueryExecutionDTO + +class TestAggregationQueryExecutionDTO(unittest.TestCase): + """AggregationQueryExecutionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AggregationQueryExecutionDTO: + """Test AggregationQueryExecutionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AggregationQueryExecutionDTO` + """ + model = AggregationQueryExecutionDTO() + if include_optional: + return AggregationQueryExecutionDTO( + options = visier.sdk.api.data_out.models.query_execution_options_dto.QueryExecutionOptionsDTO( + axis_visibility = 'SIMPLE', + calendar_type = 'TENANT_CALENDAR', + cell_distribution_options = visier.sdk.api.data_out.models.cell_distribution_options_dto.CellDistributionOptionsDTO( + bin_count = 56, ), + currency_conversion_code = '', + currency_conversion_date = '', + currency_conversion_mode = 'TENANT_CURRENCY_CONVERSION', + enable_descending_space = True, + enable_sparse_results = True, + internal = visier.sdk.api.data_out.models.internal_query_execution_options_dto.InternalQueryExecutionOptionsDTO( + align_time_axis_to_period_end = True, + sparse_handling_mode = 'ALLOW', ), + lineage_depth = 56, + member_display_mode = 'DEFAULT', + null_visibility = 'SHOW', + zero_visibility = 'SHOW', ), + query = visier.sdk.api.data_out.models.aggregation_query_dto.AggregationQueryDTO( + axes = [ + visier.sdk.api.data_out.models.query_axis_dto.QueryAxisDTO( + dimension_data_member_selection = null, + dimension_leaf_member_selection = null, + dimension_level_selection = null, + dimension_level_with_uncategorized_value_selection = null, + dimension_member_selection = null, + formula = '', + member_map_selection = null, + numeric_ranges = null, + selection_concept = null, + table_axis_options = null, ) + ], + filters = [ + visier.sdk.api.data_out.models.query_filter_dto.QueryFilterDTO( + cohort = null, + formula = '', + member_set = null, + selection_concept = null, ) + ], + parameter_values = [ + visier.sdk.api.data_out.models.query_parameter_value_dto.QueryParameterValueDTO( + aggregation_type_value = null, + member_value = null, + numeric_value = null, + plan_value = null, ) + ], + source = null, + time_intervals = null, ) + ) + else: + return AggregationQueryExecutionDTO( + ) + """ + + def testAggregationQueryExecutionDTO(self): + """Test AggregationQueryExecutionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_aggregation_query_source_dto.py b/src/visier.sdk.api.data_out/test/test_aggregation_query_source_dto.py new file mode 100644 index 000000000..b24ae226d --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_aggregation_query_source_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.aggregation_query_source_dto import AggregationQuerySourceDTO + +class TestAggregationQuerySourceDTO(unittest.TestCase): + """AggregationQuerySourceDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AggregationQuerySourceDTO: + """Test AggregationQuerySourceDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AggregationQuerySourceDTO` + """ + model = AggregationQuerySourceDTO() + if include_optional: + return AggregationQuerySourceDTO( + formula = '', + metric = '', + metrics = visier.sdk.api.data_out.models.aggregation_query_source_metrics_dto.AggregationQuerySourceMetricsDTO( + columns = [ + visier.sdk.api.data_out.models.aggregation_query_source_metric_dto.AggregationQuerySourceMetricDTO( + column_name = '', + formula = '', + id = '', + qualifying_path = '', ) + ], ) + ) + else: + return AggregationQuerySourceDTO( + ) + """ + + def testAggregationQuerySourceDTO(self): + """Test AggregationQuerySourceDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_aggregation_query_source_metric_dto.py b/src/visier.sdk.api.data_out/test/test_aggregation_query_source_metric_dto.py new file mode 100644 index 000000000..3ea2910ea --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_aggregation_query_source_metric_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.aggregation_query_source_metric_dto import AggregationQuerySourceMetricDTO + +class TestAggregationQuerySourceMetricDTO(unittest.TestCase): + """AggregationQuerySourceMetricDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AggregationQuerySourceMetricDTO: + """Test AggregationQuerySourceMetricDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AggregationQuerySourceMetricDTO` + """ + model = AggregationQuerySourceMetricDTO() + if include_optional: + return AggregationQuerySourceMetricDTO( + column_name = '', + formula = '', + id = '', + qualifying_path = '' + ) + else: + return AggregationQuerySourceMetricDTO( + ) + """ + + def testAggregationQuerySourceMetricDTO(self): + """Test AggregationQuerySourceMetricDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_aggregation_query_source_metrics_dto.py b/src/visier.sdk.api.data_out/test/test_aggregation_query_source_metrics_dto.py new file mode 100644 index 000000000..b2f41137f --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_aggregation_query_source_metrics_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.aggregation_query_source_metrics_dto import AggregationQuerySourceMetricsDTO + +class TestAggregationQuerySourceMetricsDTO(unittest.TestCase): + """AggregationQuerySourceMetricsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AggregationQuerySourceMetricsDTO: + """Test AggregationQuerySourceMetricsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AggregationQuerySourceMetricsDTO` + """ + model = AggregationQuerySourceMetricsDTO() + if include_optional: + return AggregationQuerySourceMetricsDTO( + columns = [ + visier.sdk.api.data_out.models.aggregation_query_source_metric_dto.AggregationQuerySourceMetricDTO( + column_name = '', + formula = '', + id = '', + qualifying_path = '', ) + ] + ) + else: + return AggregationQuerySourceMetricsDTO( + ) + """ + + def testAggregationQuerySourceMetricsDTO(self): + """Test AggregationQuerySourceMetricsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_aggregation_type_parameter_value_dto.py b/src/visier.sdk.api.data_out/test/test_aggregation_type_parameter_value_dto.py new file mode 100644 index 000000000..c941d7cf6 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_aggregation_type_parameter_value_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.aggregation_type_parameter_value_dto import AggregationTypeParameterValueDTO + +class TestAggregationTypeParameterValueDTO(unittest.TestCase): + """AggregationTypeParameterValueDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AggregationTypeParameterValueDTO: + """Test AggregationTypeParameterValueDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AggregationTypeParameterValueDTO` + """ + model = AggregationTypeParameterValueDTO() + if include_optional: + return AggregationTypeParameterValueDTO( + aggregation_option_id = '', + parameter_id = '' + ) + else: + return AggregationTypeParameterValueDTO( + ) + """ + + def testAggregationTypeParameterValueDTO(self): + """Test AggregationTypeParameterValueDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_cell_distribution_bin_dto.py b/src/visier.sdk.api.data_out/test/test_cell_distribution_bin_dto.py new file mode 100644 index 000000000..f96f2145c --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_cell_distribution_bin_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.cell_distribution_bin_dto import CellDistributionBinDTO + +class TestCellDistributionBinDTO(unittest.TestCase): + """CellDistributionBinDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CellDistributionBinDTO: + """Test CellDistributionBinDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CellDistributionBinDTO` + """ + model = CellDistributionBinDTO() + if include_optional: + return CellDistributionBinDTO( + support = '', + value = '' + ) + else: + return CellDistributionBinDTO( + ) + """ + + def testCellDistributionBinDTO(self): + """Test CellDistributionBinDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_cell_distribution_options_dto.py b/src/visier.sdk.api.data_out/test/test_cell_distribution_options_dto.py new file mode 100644 index 000000000..e76ca90ef --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_cell_distribution_options_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.cell_distribution_options_dto import CellDistributionOptionsDTO + +class TestCellDistributionOptionsDTO(unittest.TestCase): + """CellDistributionOptionsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CellDistributionOptionsDTO: + """Test CellDistributionOptionsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CellDistributionOptionsDTO` + """ + model = CellDistributionOptionsDTO() + if include_optional: + return CellDistributionOptionsDTO( + bin_count = 56 + ) + else: + return CellDistributionOptionsDTO( + ) + """ + + def testCellDistributionOptionsDTO(self): + """Test CellDistributionOptionsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_cell_dto.py b/src/visier.sdk.api.data_out/test/test_cell_dto.py new file mode 100644 index 000000000..49809392a --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_cell_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.cell_dto import CellDTO + +class TestCellDTO(unittest.TestCase): + """CellDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CellDTO: + """Test CellDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CellDTO` + """ + model = CellDTO() + if include_optional: + return CellDTO( + coordinates = [ + 56 + ], + distribution = [ + visier.sdk.api.data_out.models.cell_distribution_bin_dto.CellDistributionBinDTO( + support = '', + value = '', ) + ], + support = '', + value = '' + ) + else: + return CellDTO( + ) + """ + + def testCellDTO(self): + """Test CellDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_cell_set_axis_dto.py b/src/visier.sdk.api.data_out/test/test_cell_set_axis_dto.py new file mode 100644 index 000000000..f117be23b --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_cell_set_axis_dto.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.cell_set_axis_dto import CellSetAxisDTO + +class TestCellSetAxisDTO(unittest.TestCase): + """CellSetAxisDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CellSetAxisDTO: + """Test CellSetAxisDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CellSetAxisDTO` + """ + model = CellSetAxisDTO() + if include_optional: + return CellSetAxisDTO( + dimension = visier.sdk.api.data_out.models.dimension_reference_dto.DimensionReferenceDTO( + name = '', + qualifying_path = '', ), + positions = [ + visier.sdk.api.data_out.models.cell_set_axis_position_dto.CellSetAxisPositionDTO( + display_name = '', + display_name_path = [ + '' + ], + path = [ + '' + ], ) + ] + ) + else: + return CellSetAxisDTO( + ) + """ + + def testCellSetAxisDTO(self): + """Test CellSetAxisDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_cell_set_axis_position_dto.py b/src/visier.sdk.api.data_out/test/test_cell_set_axis_position_dto.py new file mode 100644 index 000000000..7b444a898 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_cell_set_axis_position_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.cell_set_axis_position_dto import CellSetAxisPositionDTO + +class TestCellSetAxisPositionDTO(unittest.TestCase): + """CellSetAxisPositionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CellSetAxisPositionDTO: + """Test CellSetAxisPositionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CellSetAxisPositionDTO` + """ + model = CellSetAxisPositionDTO() + if include_optional: + return CellSetAxisPositionDTO( + display_name = '', + display_name_path = [ + '' + ], + path = [ + '' + ] + ) + else: + return CellSetAxisPositionDTO( + ) + """ + + def testCellSetAxisPositionDTO(self): + """Test CellSetAxisPositionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_cell_set_dto.py b/src/visier.sdk.api.data_out/test/test_cell_set_dto.py new file mode 100644 index 000000000..db5e58472 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_cell_set_dto.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.cell_set_dto import CellSetDTO + +class TestCellSetDTO(unittest.TestCase): + """CellSetDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CellSetDTO: + """Test CellSetDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CellSetDTO` + """ + model = CellSetDTO() + if include_optional: + return CellSetDTO( + axes = [ + visier.sdk.api.data_out.models.cell_set_axis_dto.CellSetAxisDTO( + dimension = null, + positions = [ + visier.sdk.api.data_out.models.cell_set_axis_position_dto.CellSetAxisPositionDTO( + display_name = '', + display_name_path = [ + '' + ], + path = [ + '' + ], ) + ], ) + ], + cells = [ + visier.sdk.api.data_out.models.cell_dto.CellDTO( + coordinates = [ + 56 + ], + distribution = [ + visier.sdk.api.data_out.models.cell_distribution_bin_dto.CellDistributionBinDTO( + support = '', + value = '', ) + ], + support = '', + value = '', ) + ], + lineage = visier.sdk.api.data_out.models.lineage_dto.LineageDTO( + cell_sets = [ + visier.sdk.api.data_out.models.cell_set_dto.CellSetDTO( + axes = [ + visier.sdk.api.data_out.models.cell_set_axis_dto.CellSetAxisDTO( + dimension = null, + positions = [ + visier.sdk.api.data_out.models.cell_set_axis_position_dto.CellSetAxisPositionDTO( + display_name = '', + display_name_path = [ + '' + ], + path = [ + '' + ], ) + ], ) + ], + cells = [ + visier.sdk.api.data_out.models.cell_dto.CellDTO( + coordinates = [ + 56 + ], + distribution = [ + visier.sdk.api.data_out.models.cell_distribution_bin_dto.CellDistributionBinDTO( + support = '', + value = '', ) + ], + support = '', + value = '', ) + ], + lineage = null, ) + ], + op = '', ) + ) + else: + return CellSetDTO( + ) + """ + + def testCellSetDTO(self): + """Test CellSetDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_cohort_filter_dto.py b/src/visier.sdk.api.data_out/test/test_cohort_filter_dto.py new file mode 100644 index 000000000..da66f2105 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_cohort_filter_dto.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.cohort_filter_dto import CohortFilterDTO + +class TestCohortFilterDTO(unittest.TestCase): + """CohortFilterDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CohortFilterDTO: + """Test CohortFilterDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CohortFilterDTO` + """ + model = CohortFilterDTO() + if include_optional: + return CohortFilterDTO( + exclude = True, + key_group = visier.sdk.api.data_out.models.key_group_filter_dto.KeyGroupFilterDTO( + filters = [ + visier.sdk.api.data_out.models.key_group_filter_item_dto.KeyGroupFilterItemDTO( + formula = '', + member_set = null, + selection_concept = null, ) + ], ), + time_interval = visier.sdk.api.data_out.models.query_time_interval_dto.QueryTimeIntervalDTO( + direction = 'BACKWARD', + dynamic_date_from = '', + from_date_time = '', + from_instant = '', + interval_period_count = 56, + interval_period_type = 'MONTH', + shift = null, ) + ) + else: + return CohortFilterDTO( + ) + """ + + def testCohortFilterDTO(self): + """Test CohortFilterDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_data_query_api.py b/src/visier.sdk.api.data_out/test/test_data_query_api.py new file mode 100644 index 000000000..652f521ce --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_data_query_api.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.api.data_query_api import DataQueryApi + + +class TestDataQueryApi(unittest.TestCase): + """DataQueryApi unit test stubs""" + + def setUp(self) -> None: + self.api = DataQueryApi() + + def tearDown(self) -> None: + pass + + def test_aggregate(self) -> None: + """Test case for aggregate + + Query aggregate data + """ + pass + + def test_list(self) -> None: + """Test case for list + + Query a list of details + """ + pass + + def test_query_snapshot(self) -> None: + """Test case for query_snapshot + + Query a series of detailed snapshots + """ + pass + + def test_sql_like(self) -> None: + """Test case for sql_like + + Query aggregate or list data using SQL-like syntax + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_data_version_export_api.py b/src/visier.sdk.api.data_out/test/test_data_version_export_api.py new file mode 100644 index 000000000..4eff33225 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_data_version_export_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.api.data_version_export_api import DataVersionExportApi + + +class TestDataVersionExportApi(unittest.TestCase): + """DataVersionExportApi unit test stubs""" + + def setUp(self) -> None: + self.api = DataVersionExportApi() + + def tearDown(self) -> None: + pass + + def test_call_1_alpha_download_file(self) -> None: + """Test case for call_1_alpha_download_file + + Download a file from a data version export. + """ + pass + + def test_get_available_data_versions(self) -> None: + """Test case for get_available_data_versions + + Retrieve a list of all data versions + """ + pass + + def test_get_available_exports(self) -> None: + """Test case for get_available_exports + + Retrieve the details of all data version exports + """ + pass + + def test_get_export(self) -> None: + """Test case for get_export + + Retrieve the details of a data version export. + """ + pass + + def test_get_export_job_status(self) -> None: + """Test case for get_export_job_status + + Retrieve a data version export job's status + """ + pass + + def test_schedule_export_job(self) -> None: + """Test case for schedule_export_job + + Schedule a data version export job + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_data_version_export_column_dto.py b/src/visier.sdk.api.data_out/test/test_data_version_export_column_dto.py new file mode 100644 index 000000000..fcee24667 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_data_version_export_column_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.data_version_export_column_dto import DataVersionExportColumnDTO + +class TestDataVersionExportColumnDTO(unittest.TestCase): + """DataVersionExportColumnDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataVersionExportColumnDTO: + """Test DataVersionExportColumnDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataVersionExportColumnDTO` + """ + model = DataVersionExportColumnDTO() + if include_optional: + return DataVersionExportColumnDTO( + allows_null = True, + data_type = '', + is_primary_key_component = True, + name = '' + ) + else: + return DataVersionExportColumnDTO( + ) + """ + + def testDataVersionExportColumnDTO(self): + """Test DataVersionExportColumnDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_data_version_export_data_version_summary_dto.py b/src/visier.sdk.api.data_out/test/test_data_version_export_data_version_summary_dto.py new file mode 100644 index 000000000..0292eb3f8 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_data_version_export_data_version_summary_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.data_version_export_data_version_summary_dto import DataVersionExportDataVersionSummaryDTO + +class TestDataVersionExportDataVersionSummaryDTO(unittest.TestCase): + """DataVersionExportDataVersionSummaryDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataVersionExportDataVersionSummaryDTO: + """Test DataVersionExportDataVersionSummaryDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataVersionExportDataVersionSummaryDTO` + """ + model = DataVersionExportDataVersionSummaryDTO() + if include_optional: + return DataVersionExportDataVersionSummaryDTO( + created = '', + data_category = '', + data_version = '' + ) + else: + return DataVersionExportDataVersionSummaryDTO( + ) + """ + + def testDataVersionExportDataVersionSummaryDTO(self): + """Test DataVersionExportDataVersionSummaryDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_data_version_export_data_versions_dto.py b/src/visier.sdk.api.data_out/test/test_data_version_export_data_versions_dto.py new file mode 100644 index 000000000..0fd0bf384 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_data_version_export_data_versions_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.data_version_export_data_versions_dto import DataVersionExportDataVersionsDTO + +class TestDataVersionExportDataVersionsDTO(unittest.TestCase): + """DataVersionExportDataVersionsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataVersionExportDataVersionsDTO: + """Test DataVersionExportDataVersionsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataVersionExportDataVersionsDTO` + """ + model = DataVersionExportDataVersionsDTO() + if include_optional: + return DataVersionExportDataVersionsDTO( + data_versions = [ + visier.sdk.api.data_out.models.data_version_export_data_version_summary_dto.DataVersionExportDataVersionSummaryDTO( + created = '', + data_category = '', + data_version = '', ) + ] + ) + else: + return DataVersionExportDataVersionsDTO( + ) + """ + + def testDataVersionExportDataVersionsDTO(self): + """Test DataVersionExportDataVersionsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_data_version_export_dto.py b/src/visier.sdk.api.data_out/test/test_data_version_export_dto.py new file mode 100644 index 000000000..ab56c90c8 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_data_version_export_dto.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.data_version_export_dto import DataVersionExportDTO + +class TestDataVersionExportDTO(unittest.TestCase): + """DataVersionExportDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataVersionExportDTO: + """Test DataVersionExportDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataVersionExportDTO` + """ + model = DataVersionExportDTO() + if include_optional: + return DataVersionExportDTO( + base_data_version_number = '', + data_version_number = '', + deleted_tables = [ + '' + ], + new_tables = [ + '' + ], + tables = [ + visier.sdk.api.data_out.models.data_version_export_table_dto.DataVersionExportTableDTO( + common_columns = null, + deleted_columns = [ + '' + ], + name = '', + new_columns = null, ) + ], + timestamp = '', + uuid = '' + ) + else: + return DataVersionExportDTO( + ) + """ + + def testDataVersionExportDTO(self): + """Test DataVersionExportDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_data_version_export_file_dto.py b/src/visier.sdk.api.data_out/test/test_data_version_export_file_dto.py new file mode 100644 index 000000000..a90e64c69 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_data_version_export_file_dto.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.data_version_export_file_dto import DataVersionExportFileDTO + +class TestDataVersionExportFileDTO(unittest.TestCase): + """DataVersionExportFileDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataVersionExportFileDTO: + """Test DataVersionExportFileDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataVersionExportFileDTO` + """ + model = DataVersionExportFileDTO() + if include_optional: + return DataVersionExportFileDTO( + columns = [ + visier.sdk.api.data_out.models.data_version_export_column_dto.DataVersionExportColumnDTO( + allows_null = True, + data_type = '', + is_primary_key_component = True, + name = '', ) + ], + files = [ + visier.sdk.api.data_out.models.data_version_export_part_file_dto.DataVersionExportPartFileDTO( + file_id = 56, + filename = '', ) + ] + ) + else: + return DataVersionExportFileDTO( + ) + """ + + def testDataVersionExportFileDTO(self): + """Test DataVersionExportFileDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_data_version_export_job_status_dto.py b/src/visier.sdk.api.data_out/test/test_data_version_export_job_status_dto.py new file mode 100644 index 000000000..aa14242f3 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_data_version_export_job_status_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.data_version_export_job_status_dto import DataVersionExportJobStatusDTO + +class TestDataVersionExportJobStatusDTO(unittest.TestCase): + """DataVersionExportJobStatusDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataVersionExportJobStatusDTO: + """Test DataVersionExportJobStatusDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataVersionExportJobStatusDTO` + """ + model = DataVersionExportJobStatusDTO() + if include_optional: + return DataVersionExportJobStatusDTO( + completed = True, + export_uuid = '', + failed = True, + job_uuid = '' + ) + else: + return DataVersionExportJobStatusDTO( + ) + """ + + def testDataVersionExportJobStatusDTO(self): + """Test DataVersionExportJobStatusDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_data_version_export_part_file_dto.py b/src/visier.sdk.api.data_out/test/test_data_version_export_part_file_dto.py new file mode 100644 index 000000000..e05d6749f --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_data_version_export_part_file_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.data_version_export_part_file_dto import DataVersionExportPartFileDTO + +class TestDataVersionExportPartFileDTO(unittest.TestCase): + """DataVersionExportPartFileDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataVersionExportPartFileDTO: + """Test DataVersionExportPartFileDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataVersionExportPartFileDTO` + """ + model = DataVersionExportPartFileDTO() + if include_optional: + return DataVersionExportPartFileDTO( + file_id = 56, + filename = '' + ) + else: + return DataVersionExportPartFileDTO( + ) + """ + + def testDataVersionExportPartFileDTO(self): + """Test DataVersionExportPartFileDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_data_version_export_schedule_job_request_dto.py b/src/visier.sdk.api.data_out/test/test_data_version_export_schedule_job_request_dto.py new file mode 100644 index 000000000..5fde52d9a --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_data_version_export_schedule_job_request_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.data_version_export_schedule_job_request_dto import DataVersionExportScheduleJobRequestDTO + +class TestDataVersionExportScheduleJobRequestDTO(unittest.TestCase): + """DataVersionExportScheduleJobRequestDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataVersionExportScheduleJobRequestDTO: + """Test DataVersionExportScheduleJobRequestDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataVersionExportScheduleJobRequestDTO` + """ + model = DataVersionExportScheduleJobRequestDTO() + if include_optional: + return DataVersionExportScheduleJobRequestDTO( + base_data_version_number = '', + data_version_number = '' + ) + else: + return DataVersionExportScheduleJobRequestDTO( + ) + """ + + def testDataVersionExportScheduleJobRequestDTO(self): + """Test DataVersionExportScheduleJobRequestDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_data_version_export_schedule_job_response_dto.py b/src/visier.sdk.api.data_out/test/test_data_version_export_schedule_job_response_dto.py new file mode 100644 index 000000000..405a773a5 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_data_version_export_schedule_job_response_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.data_version_export_schedule_job_response_dto import DataVersionExportScheduleJobResponseDTO + +class TestDataVersionExportScheduleJobResponseDTO(unittest.TestCase): + """DataVersionExportScheduleJobResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataVersionExportScheduleJobResponseDTO: + """Test DataVersionExportScheduleJobResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataVersionExportScheduleJobResponseDTO` + """ + model = DataVersionExportScheduleJobResponseDTO() + if include_optional: + return DataVersionExportScheduleJobResponseDTO( + job_uuid = '' + ) + else: + return DataVersionExportScheduleJobResponseDTO( + ) + """ + + def testDataVersionExportScheduleJobResponseDTO(self): + """Test DataVersionExportScheduleJobResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_data_version_export_table_dto.py b/src/visier.sdk.api.data_out/test/test_data_version_export_table_dto.py new file mode 100644 index 000000000..d2e96435a --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_data_version_export_table_dto.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.data_version_export_table_dto import DataVersionExportTableDTO + +class TestDataVersionExportTableDTO(unittest.TestCase): + """DataVersionExportTableDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataVersionExportTableDTO: + """Test DataVersionExportTableDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataVersionExportTableDTO` + """ + model = DataVersionExportTableDTO() + if include_optional: + return DataVersionExportTableDTO( + common_columns = visier.sdk.api.data_out.models.data_version_export_file_dto.DataVersionExportFileDTO( + columns = [ + visier.sdk.api.data_out.models.data_version_export_column_dto.DataVersionExportColumnDTO( + allows_null = True, + data_type = '', + is_primary_key_component = True, + name = '', ) + ], + files = [ + visier.sdk.api.data_out.models.data_version_export_part_file_dto.DataVersionExportPartFileDTO( + file_id = 56, + filename = '', ) + ], ), + deleted_columns = [ + '' + ], + name = '', + new_columns = visier.sdk.api.data_out.models.data_version_export_file_dto.DataVersionExportFileDTO( + columns = [ + visier.sdk.api.data_out.models.data_version_export_column_dto.DataVersionExportColumnDTO( + allows_null = True, + data_type = '', + is_primary_key_component = True, + name = '', ) + ], + files = [ + visier.sdk.api.data_out.models.data_version_export_part_file_dto.DataVersionExportPartFileDTO( + file_id = 56, + filename = '', ) + ], ) + ) + else: + return DataVersionExportTableDTO( + ) + """ + + def testDataVersionExportTableDTO(self): + """Test DataVersionExportTableDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_data_version_exports_dto.py b/src/visier.sdk.api.data_out/test/test_data_version_exports_dto.py new file mode 100644 index 000000000..398730eb8 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_data_version_exports_dto.py @@ -0,0 +1,72 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.data_version_exports_dto import DataVersionExportsDTO + +class TestDataVersionExportsDTO(unittest.TestCase): + """DataVersionExportsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DataVersionExportsDTO: + """Test DataVersionExportsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DataVersionExportsDTO` + """ + model = DataVersionExportsDTO() + if include_optional: + return DataVersionExportsDTO( + data_version_exports = [ + visier.sdk.api.data_out.models.data_version_export_dto.DataVersionExportDTO( + base_data_version_number = '', + data_version_number = '', + deleted_tables = [ + '' + ], + new_tables = [ + '' + ], + tables = [ + visier.sdk.api.data_out.models.data_version_export_table_dto.DataVersionExportTableDTO( + common_columns = null, + deleted_columns = [ + '' + ], + name = '', + new_columns = null, ) + ], + timestamp = '', + uuid = '', ) + ] + ) + else: + return DataVersionExportsDTO( + ) + """ + + def testDataVersionExportsDTO(self): + """Test DataVersionExportsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_dimension_member_reference_dto.py b/src/visier.sdk.api.data_out/test/test_dimension_member_reference_dto.py new file mode 100644 index 000000000..e8389f02c --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_dimension_member_reference_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.dimension_member_reference_dto import DimensionMemberReferenceDTO + +class TestDimensionMemberReferenceDTO(unittest.TestCase): + """DimensionMemberReferenceDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DimensionMemberReferenceDTO: + """Test DimensionMemberReferenceDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DimensionMemberReferenceDTO` + """ + model = DimensionMemberReferenceDTO() + if include_optional: + return DimensionMemberReferenceDTO( + path = [ + '' + ] + ) + else: + return DimensionMemberReferenceDTO( + ) + """ + + def testDimensionMemberReferenceDTO(self): + """Test DimensionMemberReferenceDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_dimension_reference_dto.py b/src/visier.sdk.api.data_out/test/test_dimension_reference_dto.py new file mode 100644 index 000000000..681d785a9 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_dimension_reference_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.dimension_reference_dto import DimensionReferenceDTO + +class TestDimensionReferenceDTO(unittest.TestCase): + """DimensionReferenceDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DimensionReferenceDTO: + """Test DimensionReferenceDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DimensionReferenceDTO` + """ + model = DimensionReferenceDTO() + if include_optional: + return DimensionReferenceDTO( + name = '', + qualifying_path = '' + ) + else: + return DimensionReferenceDTO( + ) + """ + + def testDimensionReferenceDTO(self): + """Test DimensionReferenceDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_document_search_link_dto.py b/src/visier.sdk.api.data_out/test/test_document_search_link_dto.py new file mode 100644 index 000000000..a1ea17530 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_document_search_link_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.document_search_link_dto import DocumentSearchLinkDTO + +class TestDocumentSearchLinkDTO(unittest.TestCase): + """DocumentSearchLinkDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DocumentSearchLinkDTO: + """Test DocumentSearchLinkDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DocumentSearchLinkDTO` + """ + model = DocumentSearchLinkDTO() + if include_optional: + return DocumentSearchLinkDTO( + href = '', + verb = '' + ) + else: + return DocumentSearchLinkDTO( + ) + """ + + def testDocumentSearchLinkDTO(self): + """Test DocumentSearchLinkDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_dv_export_status.py b/src/visier.sdk.api.data_out/test/test_dv_export_status.py new file mode 100644 index 000000000..12a031e9f --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_dv_export_status.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.dv_export_status import DvExportStatus + +class TestDvExportStatus(unittest.TestCase): + """DvExportStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DvExportStatus: + """Test DvExportStatus + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DvExportStatus` + """ + model = DvExportStatus() + if include_optional: + return DvExportStatus( + error_code = '', + localized_message = '', + message = '', + rci = '', + user_error = True + ) + else: + return DvExportStatus( + ) + """ + + def testDvExportStatus(self): + """Test DvExportStatus""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_google_protobuf_any.py b/src/visier.sdk.api.data_out/test/test_google_protobuf_any.py new file mode 100644 index 000000000..4a7069632 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_google_protobuf_any.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.google_protobuf_any import GoogleProtobufAny + +class TestGoogleProtobufAny(unittest.TestCase): + """GoogleProtobufAny unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoogleProtobufAny: + """Test GoogleProtobufAny + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoogleProtobufAny` + """ + model = GoogleProtobufAny() + if include_optional: + return GoogleProtobufAny( + type = '' + ) + else: + return GoogleProtobufAny( + ) + """ + + def testGoogleProtobufAny(self): + """Test GoogleProtobufAny""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_internal_query_execution_options_dto.py b/src/visier.sdk.api.data_out/test/test_internal_query_execution_options_dto.py new file mode 100644 index 000000000..2dcf58c79 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_internal_query_execution_options_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.internal_query_execution_options_dto import InternalQueryExecutionOptionsDTO + +class TestInternalQueryExecutionOptionsDTO(unittest.TestCase): + """InternalQueryExecutionOptionsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InternalQueryExecutionOptionsDTO: + """Test InternalQueryExecutionOptionsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InternalQueryExecutionOptionsDTO` + """ + model = InternalQueryExecutionOptionsDTO() + if include_optional: + return InternalQueryExecutionOptionsDTO( + align_time_axis_to_period_end = True, + sparse_handling_mode = 'ALLOW' + ) + else: + return InternalQueryExecutionOptionsDTO( + ) + """ + + def testInternalQueryExecutionOptionsDTO(self): + """Test InternalQueryExecutionOptionsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_key_group_filter_dto.py b/src/visier.sdk.api.data_out/test/test_key_group_filter_dto.py new file mode 100644 index 000000000..1d72c9b03 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_key_group_filter_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.key_group_filter_dto import KeyGroupFilterDTO + +class TestKeyGroupFilterDTO(unittest.TestCase): + """KeyGroupFilterDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KeyGroupFilterDTO: + """Test KeyGroupFilterDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KeyGroupFilterDTO` + """ + model = KeyGroupFilterDTO() + if include_optional: + return KeyGroupFilterDTO( + filters = [ + visier.sdk.api.data_out.models.key_group_filter_item_dto.KeyGroupFilterItemDTO( + formula = '', + member_set = null, + selection_concept = null, ) + ] + ) + else: + return KeyGroupFilterDTO( + ) + """ + + def testKeyGroupFilterDTO(self): + """Test KeyGroupFilterDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_key_group_filter_item_dto.py b/src/visier.sdk.api.data_out/test/test_key_group_filter_item_dto.py new file mode 100644 index 000000000..8a49b6180 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_key_group_filter_item_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.key_group_filter_item_dto import KeyGroupFilterItemDTO + +class TestKeyGroupFilterItemDTO(unittest.TestCase): + """KeyGroupFilterItemDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KeyGroupFilterItemDTO: + """Test KeyGroupFilterItemDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KeyGroupFilterItemDTO` + """ + model = KeyGroupFilterItemDTO() + if include_optional: + return KeyGroupFilterItemDTO( + formula = '', + member_set = visier.sdk.api.data_out.models.member_filter_dto.MemberFilterDTO( + dimension = null, + values = null, ), + selection_concept = visier.sdk.api.data_out.models.selection_concept_reference_dto.SelectionConceptReferenceDTO( + name = '', + qualifying_path = '', ) + ) + else: + return KeyGroupFilterItemDTO( + ) + """ + + def testKeyGroupFilterItemDTO(self): + """Test KeyGroupFilterItemDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_lineage_dto.py b/src/visier.sdk.api.data_out/test/test_lineage_dto.py new file mode 100644 index 000000000..68e4ce2ec --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_lineage_dto.py @@ -0,0 +1,82 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.lineage_dto import LineageDTO + +class TestLineageDTO(unittest.TestCase): + """LineageDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LineageDTO: + """Test LineageDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LineageDTO` + """ + model = LineageDTO() + if include_optional: + return LineageDTO( + cell_sets = [ + visier.sdk.api.data_out.models.cell_set_dto.CellSetDTO( + axes = [ + visier.sdk.api.data_out.models.cell_set_axis_dto.CellSetAxisDTO( + dimension = null, + positions = [ + visier.sdk.api.data_out.models.cell_set_axis_position_dto.CellSetAxisPositionDTO( + display_name = '', + display_name_path = [ + '' + ], + path = [ + '' + ], ) + ], ) + ], + cells = [ + visier.sdk.api.data_out.models.cell_dto.CellDTO( + coordinates = [ + 56 + ], + distribution = [ + visier.sdk.api.data_out.models.cell_distribution_bin_dto.CellDistributionBinDTO( + support = '', + value = '', ) + ], + support = '', + value = '', ) + ], + lineage = null, ) + ], + op = '' + ) + else: + return LineageDTO( + ) + """ + + def testLineageDTO(self): + """Test LineageDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_list_query_execution_dto.py b/src/visier.sdk.api.data_out/test/test_list_query_execution_dto.py new file mode 100644 index 000000000..9209dc33c --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_list_query_execution_dto.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.list_query_execution_dto import ListQueryExecutionDTO + +class TestListQueryExecutionDTO(unittest.TestCase): + """ListQueryExecutionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListQueryExecutionDTO: + """Test ListQueryExecutionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListQueryExecutionDTO` + """ + model = ListQueryExecutionDTO() + if include_optional: + return ListQueryExecutionDTO( + columns = [ + visier.sdk.api.data_out.models.property_column_dto.PropertyColumnDTO( + column_definition = null, + column_name = '', ) + ], + filters = [ + visier.sdk.api.data_out.models.query_filter_dto.QueryFilterDTO( + cohort = null, + formula = '', + member_set = null, + selection_concept = null, ) + ], + options = visier.sdk.api.data_out.models.list_query_execution_options_dto.ListQueryExecutionOptionsDTO( + calendar_type = 'TENANT_CALENDAR', + currency_conversion_code = '', + currency_conversion_date = '', + currency_conversion_mode = 'TENANT_CURRENCY_CONVERSION', + date_time_display_mode = 'EPOCH', + limit = 56, + multiple_tables = True, + omit_header = True, + page = 56, + query_mode = 'DEFAULT', + record_mode = 'NORMAL', ), + parameter_values = [ + visier.sdk.api.data_out.models.query_parameter_value_dto.QueryParameterValueDTO( + aggregation_type_value = null, + member_value = null, + numeric_value = null, + plan_value = null, ) + ], + sort_options = [ + visier.sdk.api.data_out.models.sort_option_dto.SortOptionDTO( + column_index = 56, + sort_direction = 'SORT_ASCENDING', ) + ], + source = visier.sdk.api.data_out.models.list_query_source_dto.ListQuerySourceDTO( + analytic_object = '', + formula = '', + metric = '', ), + time_interval = visier.sdk.api.data_out.models.query_time_interval_dto.QueryTimeIntervalDTO( + direction = 'BACKWARD', + dynamic_date_from = '', + from_date_time = '', + from_instant = '', + interval_period_count = 56, + interval_period_type = 'MONTH', + shift = null, ) + ) + else: + return ListQueryExecutionDTO( + ) + """ + + def testListQueryExecutionDTO(self): + """Test ListQueryExecutionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_list_query_execution_options_dto.py b/src/visier.sdk.api.data_out/test/test_list_query_execution_options_dto.py new file mode 100644 index 000000000..c69354622 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_list_query_execution_options_dto.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.list_query_execution_options_dto import ListQueryExecutionOptionsDTO + +class TestListQueryExecutionOptionsDTO(unittest.TestCase): + """ListQueryExecutionOptionsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListQueryExecutionOptionsDTO: + """Test ListQueryExecutionOptionsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListQueryExecutionOptionsDTO` + """ + model = ListQueryExecutionOptionsDTO() + if include_optional: + return ListQueryExecutionOptionsDTO( + calendar_type = 'TENANT_CALENDAR', + currency_conversion_code = '', + currency_conversion_date = '', + currency_conversion_mode = 'TENANT_CURRENCY_CONVERSION', + date_time_display_mode = 'EPOCH', + limit = 56, + multiple_tables = True, + omit_header = True, + page = 56, + query_mode = 'DEFAULT', + record_mode = 'NORMAL' + ) + else: + return ListQueryExecutionOptionsDTO( + ) + """ + + def testListQueryExecutionOptionsDTO(self): + """Test ListQueryExecutionOptionsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_list_query_source_dto.py b/src/visier.sdk.api.data_out/test/test_list_query_source_dto.py new file mode 100644 index 000000000..3f0dee32f --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_list_query_source_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.list_query_source_dto import ListQuerySourceDTO + +class TestListQuerySourceDTO(unittest.TestCase): + """ListQuerySourceDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListQuerySourceDTO: + """Test ListQuerySourceDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListQuerySourceDTO` + """ + model = ListQuerySourceDTO() + if include_optional: + return ListQuerySourceDTO( + analytic_object = '', + formula = '', + metric = '' + ) + else: + return ListQuerySourceDTO( + ) + """ + + def testListQuerySourceDTO(self): + """Test ListQuerySourceDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_list_response.py b/src/visier.sdk.api.data_out/test/test_list_response.py new file mode 100644 index 000000000..85b39a226 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_list_response.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.list_response import ListResponse + +class TestListResponse(unittest.TestCase): + """ListResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListResponse: + """Test ListResponse + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListResponse` + """ + model = ListResponse() + if include_optional: + return ListResponse( + header = { }, + rows = [ + { } + ] + ) + else: + return ListResponse( + ) + """ + + def testListResponse(self): + """Test ListResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_member_filter_dto.py b/src/visier.sdk.api.data_out/test/test_member_filter_dto.py new file mode 100644 index 000000000..018b09b0d --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_member_filter_dto.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.member_filter_dto import MemberFilterDTO + +class TestMemberFilterDTO(unittest.TestCase): + """MemberFilterDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MemberFilterDTO: + """Test MemberFilterDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MemberFilterDTO` + """ + model = MemberFilterDTO() + if include_optional: + return MemberFilterDTO( + dimension = visier.sdk.api.data_out.models.dimension_reference_dto.DimensionReferenceDTO( + name = '', + qualifying_path = '', ), + values = visier.sdk.api.data_out.models.member_values_dto.MemberValuesDTO( + excluded = [ + visier.sdk.api.data_out.models.dimension_member_reference_dto.DimensionMemberReferenceDTO( + path = [ + '' + ], ) + ], + included = [ + visier.sdk.api.data_out.models.dimension_member_reference_dto.DimensionMemberReferenceDTO() + ], ) + ) + else: + return MemberFilterDTO( + ) + """ + + def testMemberFilterDTO(self): + """Test MemberFilterDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_member_parameter_value_dto.py b/src/visier.sdk.api.data_out/test/test_member_parameter_value_dto.py new file mode 100644 index 000000000..5c28eea2c --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_member_parameter_value_dto.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.member_parameter_value_dto import MemberParameterValueDTO + +class TestMemberParameterValueDTO(unittest.TestCase): + """MemberParameterValueDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MemberParameterValueDTO: + """Test MemberParameterValueDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MemberParameterValueDTO` + """ + model = MemberParameterValueDTO() + if include_optional: + return MemberParameterValueDTO( + dimension_id = '', + parameter_id = '', + reference_path = [ + '' + ], + values = visier.sdk.api.data_out.models.member_values_dto.MemberValuesDTO( + excluded = [ + visier.sdk.api.data_out.models.dimension_member_reference_dto.DimensionMemberReferenceDTO( + path = [ + '' + ], ) + ], + included = [ + visier.sdk.api.data_out.models.dimension_member_reference_dto.DimensionMemberReferenceDTO() + ], ) + ) + else: + return MemberParameterValueDTO( + ) + """ + + def testMemberParameterValueDTO(self): + """Test MemberParameterValueDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_member_values_dto.py b/src/visier.sdk.api.data_out/test/test_member_values_dto.py new file mode 100644 index 000000000..3d6a4fbd8 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_member_values_dto.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.member_values_dto import MemberValuesDTO + +class TestMemberValuesDTO(unittest.TestCase): + """MemberValuesDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MemberValuesDTO: + """Test MemberValuesDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MemberValuesDTO` + """ + model = MemberValuesDTO() + if include_optional: + return MemberValuesDTO( + excluded = [ + visier.sdk.api.data_out.models.dimension_member_reference_dto.DimensionMemberReferenceDTO( + path = [ + '' + ], ) + ], + included = [ + visier.sdk.api.data_out.models.dimension_member_reference_dto.DimensionMemberReferenceDTO( + path = [ + '' + ], ) + ] + ) + else: + return MemberValuesDTO( + ) + """ + + def testMemberValuesDTO(self): + """Test MemberValuesDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_numeric_parameter_value_dto.py b/src/visier.sdk.api.data_out/test/test_numeric_parameter_value_dto.py new file mode 100644 index 000000000..d8fa287e4 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_numeric_parameter_value_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.numeric_parameter_value_dto import NumericParameterValueDTO + +class TestNumericParameterValueDTO(unittest.TestCase): + """NumericParameterValueDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NumericParameterValueDTO: + """Test NumericParameterValueDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NumericParameterValueDTO` + """ + model = NumericParameterValueDTO() + if include_optional: + return NumericParameterValueDTO( + parameter_id = '', + value = 1.337 + ) + else: + return NumericParameterValueDTO( + ) + """ + + def testNumericParameterValueDTO(self): + """Test NumericParameterValueDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_plan_parameter_value_dto.py b/src/visier.sdk.api.data_out/test/test_plan_parameter_value_dto.py new file mode 100644 index 000000000..5e388009c --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_plan_parameter_value_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.plan_parameter_value_dto import PlanParameterValueDTO + +class TestPlanParameterValueDTO(unittest.TestCase): + """PlanParameterValueDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PlanParameterValueDTO: + """Test PlanParameterValueDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PlanParameterValueDTO` + """ + model = PlanParameterValueDTO() + if include_optional: + return PlanParameterValueDTO( + parameter_id = '', + plan_id = '', + scenario_id = '', + snapshot_id = '' + ) + else: + return PlanParameterValueDTO( + ) + """ + + def testPlanParameterValueDTO(self): + """Test PlanParameterValueDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_property_column_dto.py b/src/visier.sdk.api.data_out/test/test_property_column_dto.py new file mode 100644 index 000000000..8cc6aa44c --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_property_column_dto.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.property_column_dto import PropertyColumnDTO + +class TestPropertyColumnDTO(unittest.TestCase): + """PropertyColumnDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PropertyColumnDTO: + """Test PropertyColumnDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PropertyColumnDTO` + """ + model = PropertyColumnDTO() + if include_optional: + return PropertyColumnDTO( + column_definition = visier.sdk.api.data_out.models.query_property_dto.QueryPropertyDTO( + dimension = null, + effective_date_property = null, + formula = '', + member_map_property = null, + property = null, + selection_concept = null, ), + column_name = '' + ) + else: + return PropertyColumnDTO( + ) + """ + + def testPropertyColumnDTO(self): + """Test PropertyColumnDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_property_reference_dto.py b/src/visier.sdk.api.data_out/test/test_property_reference_dto.py new file mode 100644 index 000000000..1bbcc93d7 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_property_reference_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.property_reference_dto import PropertyReferenceDTO + +class TestPropertyReferenceDTO(unittest.TestCase): + """PropertyReferenceDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PropertyReferenceDTO: + """Test PropertyReferenceDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PropertyReferenceDTO` + """ + model = PropertyReferenceDTO() + if include_optional: + return PropertyReferenceDTO( + name = '', + qualifying_path = '' + ) + else: + return PropertyReferenceDTO( + ) + """ + + def testPropertyReferenceDTO(self): + """Test PropertyReferenceDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_axis_dto.py b/src/visier.sdk.api.data_out/test/test_query_axis_dto.py new file mode 100644 index 000000000..2c75f0b13 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_axis_dto.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_axis_dto import QueryAxisDTO + +class TestQueryAxisDTO(unittest.TestCase): + """QueryAxisDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryAxisDTO: + """Test QueryAxisDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryAxisDTO` + """ + model = QueryAxisDTO() + if include_optional: + return QueryAxisDTO( + dimension_data_member_selection = visier.sdk.api.data_out.models.query_dimension_data_member_selection_dto.QueryDimensionDataMemberSelectionDTO( + dimension = null, ), + dimension_leaf_member_selection = visier.sdk.api.data_out.models.query_dimension_leaf_selection_dto.QueryDimensionLeafSelectionDTO( + dimension = null, ), + dimension_level_selection = visier.sdk.api.data_out.models.query_dimension_level_selection_dto.QueryDimensionLevelSelectionDTO( + dimension = null, + level_ids = [ + '' + ], ), + dimension_level_with_uncategorized_value_selection = visier.sdk.api.data_out.models.query_dimension_level_selection_dto.QueryDimensionLevelSelectionDTO( + dimension = null, + level_ids = [ + '' + ], ), + dimension_member_selection = visier.sdk.api.data_out.models.query_dimension_member_selection_dto.QueryDimensionMemberSelectionDTO( + dimension = null, + members = [ + visier.sdk.api.data_out.models.dimension_member_reference_dto.DimensionMemberReferenceDTO( + path = [ + '' + ], ) + ], ), + formula = '', + member_map_selection = visier.sdk.api.data_out.models.query_member_map_selection_dto.QueryMemberMapSelectionDTO( + member_map = null, + members = [ + visier.sdk.api.data_out.models.dimension_member_reference_dto.DimensionMemberReferenceDTO( + path = [ + '' + ], ) + ], + target_dimension_name = '', ), + numeric_ranges = visier.sdk.api.data_out.models.query_numeric_ranges_dto.QueryNumericRangesDTO( + include_all_member = True, + include_independent_zero_range = True, + include_negative = True, + property = null, + ranges = '', ), + selection_concept = visier.sdk.api.data_out.models.selection_concept_reference_dto.SelectionConceptReferenceDTO( + name = '', + qualifying_path = '', ), + table_axis_options = visier.sdk.api.data_out.models.query_axis_options_dto.QueryAxisOptionsDTO( + column_name = '', + member_display_mode = 'UNCHANGED', ) + ) + else: + return QueryAxisDTO( + ) + """ + + def testQueryAxisDTO(self): + """Test QueryAxisDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_axis_options_dto.py b/src/visier.sdk.api.data_out/test/test_query_axis_options_dto.py new file mode 100644 index 000000000..99084dfd8 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_axis_options_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_axis_options_dto import QueryAxisOptionsDTO + +class TestQueryAxisOptionsDTO(unittest.TestCase): + """QueryAxisOptionsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryAxisOptionsDTO: + """Test QueryAxisOptionsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryAxisOptionsDTO` + """ + model = QueryAxisOptionsDTO() + if include_optional: + return QueryAxisOptionsDTO( + column_name = '', + member_display_mode = 'UNCHANGED' + ) + else: + return QueryAxisOptionsDTO( + ) + """ + + def testQueryAxisOptionsDTO(self): + """Test QueryAxisOptionsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_clarification_dto.py b/src/visier.sdk.api.data_out/test/test_query_clarification_dto.py new file mode 100644 index 000000000..1cd7f345f --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_clarification_dto.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_clarification_dto import QueryClarificationDTO + +class TestQueryClarificationDTO(unittest.TestCase): + """QueryClarificationDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryClarificationDTO: + """Test QueryClarificationDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryClarificationDTO` + """ + model = QueryClarificationDTO() + if include_optional: + return QueryClarificationDTO( + message = '' + ) + else: + return QueryClarificationDTO( + ) + """ + + def testQueryClarificationDTO(self): + """Test QueryClarificationDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_dimension_data_member_selection_dto.py b/src/visier.sdk.api.data_out/test/test_query_dimension_data_member_selection_dto.py new file mode 100644 index 000000000..d713f4baf --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_dimension_data_member_selection_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_dimension_data_member_selection_dto import QueryDimensionDataMemberSelectionDTO + +class TestQueryDimensionDataMemberSelectionDTO(unittest.TestCase): + """QueryDimensionDataMemberSelectionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryDimensionDataMemberSelectionDTO: + """Test QueryDimensionDataMemberSelectionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryDimensionDataMemberSelectionDTO` + """ + model = QueryDimensionDataMemberSelectionDTO() + if include_optional: + return QueryDimensionDataMemberSelectionDTO( + dimension = visier.sdk.api.data_out.models.dimension_reference_dto.DimensionReferenceDTO( + name = '', + qualifying_path = '', ) + ) + else: + return QueryDimensionDataMemberSelectionDTO( + ) + """ + + def testQueryDimensionDataMemberSelectionDTO(self): + """Test QueryDimensionDataMemberSelectionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_dimension_leaf_selection_dto.py b/src/visier.sdk.api.data_out/test/test_query_dimension_leaf_selection_dto.py new file mode 100644 index 000000000..ed51ac8b3 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_dimension_leaf_selection_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_dimension_leaf_selection_dto import QueryDimensionLeafSelectionDTO + +class TestQueryDimensionLeafSelectionDTO(unittest.TestCase): + """QueryDimensionLeafSelectionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryDimensionLeafSelectionDTO: + """Test QueryDimensionLeafSelectionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryDimensionLeafSelectionDTO` + """ + model = QueryDimensionLeafSelectionDTO() + if include_optional: + return QueryDimensionLeafSelectionDTO( + dimension = visier.sdk.api.data_out.models.dimension_reference_dto.DimensionReferenceDTO( + name = '', + qualifying_path = '', ) + ) + else: + return QueryDimensionLeafSelectionDTO( + ) + """ + + def testQueryDimensionLeafSelectionDTO(self): + """Test QueryDimensionLeafSelectionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_dimension_level_selection_dto.py b/src/visier.sdk.api.data_out/test/test_query_dimension_level_selection_dto.py new file mode 100644 index 000000000..ddca17f85 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_dimension_level_selection_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_dimension_level_selection_dto import QueryDimensionLevelSelectionDTO + +class TestQueryDimensionLevelSelectionDTO(unittest.TestCase): + """QueryDimensionLevelSelectionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryDimensionLevelSelectionDTO: + """Test QueryDimensionLevelSelectionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryDimensionLevelSelectionDTO` + """ + model = QueryDimensionLevelSelectionDTO() + if include_optional: + return QueryDimensionLevelSelectionDTO( + dimension = visier.sdk.api.data_out.models.dimension_reference_dto.DimensionReferenceDTO( + name = '', + qualifying_path = '', ), + level_ids = [ + '' + ] + ) + else: + return QueryDimensionLevelSelectionDTO( + ) + """ + + def testQueryDimensionLevelSelectionDTO(self): + """Test QueryDimensionLevelSelectionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_dimension_member_selection_dto.py b/src/visier.sdk.api.data_out/test/test_query_dimension_member_selection_dto.py new file mode 100644 index 000000000..3a5d12ae5 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_dimension_member_selection_dto.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_dimension_member_selection_dto import QueryDimensionMemberSelectionDTO + +class TestQueryDimensionMemberSelectionDTO(unittest.TestCase): + """QueryDimensionMemberSelectionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryDimensionMemberSelectionDTO: + """Test QueryDimensionMemberSelectionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryDimensionMemberSelectionDTO` + """ + model = QueryDimensionMemberSelectionDTO() + if include_optional: + return QueryDimensionMemberSelectionDTO( + dimension = visier.sdk.api.data_out.models.dimension_reference_dto.DimensionReferenceDTO( + name = '', + qualifying_path = '', ), + members = [ + visier.sdk.api.data_out.models.dimension_member_reference_dto.DimensionMemberReferenceDTO( + path = [ + '' + ], ) + ] + ) + else: + return QueryDimensionMemberSelectionDTO( + ) + """ + + def testQueryDimensionMemberSelectionDTO(self): + """Test QueryDimensionMemberSelectionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_execution_options_dto.py b/src/visier.sdk.api.data_out/test/test_query_execution_options_dto.py new file mode 100644 index 000000000..e6ce14247 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_execution_options_dto.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_execution_options_dto import QueryExecutionOptionsDTO + +class TestQueryExecutionOptionsDTO(unittest.TestCase): + """QueryExecutionOptionsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryExecutionOptionsDTO: + """Test QueryExecutionOptionsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryExecutionOptionsDTO` + """ + model = QueryExecutionOptionsDTO() + if include_optional: + return QueryExecutionOptionsDTO( + axis_visibility = 'SIMPLE', + calendar_type = 'TENANT_CALENDAR', + cell_distribution_options = visier.sdk.api.data_out.models.cell_distribution_options_dto.CellDistributionOptionsDTO( + bin_count = 56, ), + currency_conversion_code = '', + currency_conversion_date = '', + currency_conversion_mode = 'TENANT_CURRENCY_CONVERSION', + enable_descending_space = True, + enable_sparse_results = True, + internal = visier.sdk.api.data_out.models.internal_query_execution_options_dto.InternalQueryExecutionOptionsDTO( + align_time_axis_to_period_end = True, + sparse_handling_mode = 'ALLOW', ), + lineage_depth = 56, + member_display_mode = 'DEFAULT', + null_visibility = 'SHOW', + zero_visibility = 'SHOW' + ) + else: + return QueryExecutionOptionsDTO( + ) + """ + + def testQueryExecutionOptionsDTO(self): + """Test QueryExecutionOptionsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_filter_dto.py b/src/visier.sdk.api.data_out/test/test_query_filter_dto.py new file mode 100644 index 000000000..23d698c6a --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_filter_dto.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_filter_dto import QueryFilterDTO + +class TestQueryFilterDTO(unittest.TestCase): + """QueryFilterDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryFilterDTO: + """Test QueryFilterDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryFilterDTO` + """ + model = QueryFilterDTO() + if include_optional: + return QueryFilterDTO( + cohort = visier.sdk.api.data_out.models.cohort_filter_dto.CohortFilterDTO( + exclude = True, + key_group = null, + time_interval = null, ), + formula = '', + member_set = visier.sdk.api.data_out.models.member_filter_dto.MemberFilterDTO( + dimension = null, + values = null, ), + selection_concept = visier.sdk.api.data_out.models.selection_concept_reference_dto.SelectionConceptReferenceDTO( + name = '', + qualifying_path = '', ) + ) + else: + return QueryFilterDTO( + ) + """ + + def testQueryFilterDTO(self): + """Test QueryFilterDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_member_map_property_dto.py b/src/visier.sdk.api.data_out/test/test_query_member_map_property_dto.py new file mode 100644 index 000000000..9378701cb --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_member_map_property_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_member_map_property_dto import QueryMemberMapPropertyDTO + +class TestQueryMemberMapPropertyDTO(unittest.TestCase): + """QueryMemberMapPropertyDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryMemberMapPropertyDTO: + """Test QueryMemberMapPropertyDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryMemberMapPropertyDTO` + """ + model = QueryMemberMapPropertyDTO() + if include_optional: + return QueryMemberMapPropertyDTO( + member_map = visier.sdk.api.data_out.models.dimension_reference_dto.DimensionReferenceDTO( + name = '', + qualifying_path = '', ), + target_dimension_name = '' + ) + else: + return QueryMemberMapPropertyDTO( + ) + """ + + def testQueryMemberMapPropertyDTO(self): + """Test QueryMemberMapPropertyDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_member_map_selection_dto.py b/src/visier.sdk.api.data_out/test/test_query_member_map_selection_dto.py new file mode 100644 index 000000000..ec7f4c98d --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_member_map_selection_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_member_map_selection_dto import QueryMemberMapSelectionDTO + +class TestQueryMemberMapSelectionDTO(unittest.TestCase): + """QueryMemberMapSelectionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryMemberMapSelectionDTO: + """Test QueryMemberMapSelectionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryMemberMapSelectionDTO` + """ + model = QueryMemberMapSelectionDTO() + if include_optional: + return QueryMemberMapSelectionDTO( + member_map = visier.sdk.api.data_out.models.dimension_reference_dto.DimensionReferenceDTO( + name = '', + qualifying_path = '', ), + members = [ + visier.sdk.api.data_out.models.dimension_member_reference_dto.DimensionMemberReferenceDTO( + path = [ + '' + ], ) + ], + target_dimension_name = '' + ) + else: + return QueryMemberMapSelectionDTO( + ) + """ + + def testQueryMemberMapSelectionDTO(self): + """Test QueryMemberMapSelectionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_numeric_ranges_dto.py b/src/visier.sdk.api.data_out/test/test_query_numeric_ranges_dto.py new file mode 100644 index 000000000..e9510b5f5 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_numeric_ranges_dto.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_numeric_ranges_dto import QueryNumericRangesDTO + +class TestQueryNumericRangesDTO(unittest.TestCase): + """QueryNumericRangesDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryNumericRangesDTO: + """Test QueryNumericRangesDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryNumericRangesDTO` + """ + model = QueryNumericRangesDTO() + if include_optional: + return QueryNumericRangesDTO( + include_all_member = True, + include_independent_zero_range = True, + include_negative = True, + var_property = visier.sdk.api.data_out.models.query_property_dto.QueryPropertyDTO( + dimension = null, + effective_date_property = null, + formula = '', + member_map_property = null, + property = null, + selection_concept = null, ), + ranges = '' + ) + else: + return QueryNumericRangesDTO( + ) + """ + + def testQueryNumericRangesDTO(self): + """Test QueryNumericRangesDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_parameter_value_dto.py b/src/visier.sdk.api.data_out/test/test_query_parameter_value_dto.py new file mode 100644 index 000000000..d5d766481 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_parameter_value_dto.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_parameter_value_dto import QueryParameterValueDTO + +class TestQueryParameterValueDTO(unittest.TestCase): + """QueryParameterValueDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryParameterValueDTO: + """Test QueryParameterValueDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryParameterValueDTO` + """ + model = QueryParameterValueDTO() + if include_optional: + return QueryParameterValueDTO( + aggregation_type_value = visier.sdk.api.data_out.models.aggregation_type_parameter_value_dto.AggregationTypeParameterValueDTO( + aggregation_option_id = '', + parameter_id = '', ), + member_value = visier.sdk.api.data_out.models.member_parameter_value_dto.MemberParameterValueDTO( + dimension_id = '', + parameter_id = '', + reference_path = [ + '' + ], + values = null, ), + numeric_value = visier.sdk.api.data_out.models.numeric_parameter_value_dto.NumericParameterValueDTO( + parameter_id = '', + value = 1.337, ), + plan_value = visier.sdk.api.data_out.models.plan_parameter_value_dto.PlanParameterValueDTO( + parameter_id = '', + plan_id = '', + scenario_id = '', + snapshot_id = '', ) + ) + else: + return QueryParameterValueDTO( + ) + """ + + def testQueryParameterValueDTO(self): + """Test QueryParameterValueDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_property_dto.py b/src/visier.sdk.api.data_out/test/test_query_property_dto.py new file mode 100644 index 000000000..f638cff53 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_property_dto.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_property_dto import QueryPropertyDTO + +class TestQueryPropertyDTO(unittest.TestCase): + """QueryPropertyDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryPropertyDTO: + """Test QueryPropertyDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryPropertyDTO` + """ + model = QueryPropertyDTO() + if include_optional: + return QueryPropertyDTO( + dimension = visier.sdk.api.data_out.models.dimension_reference_dto.DimensionReferenceDTO( + name = '', + qualifying_path = '', ), + effective_date_property = None, + formula = '', + member_map_property = visier.sdk.api.data_out.models.query_member_map_property_dto.QueryMemberMapPropertyDTO( + member_map = null, + target_dimension_name = '', ), + var_property = visier.sdk.api.data_out.models.property_reference_dto.PropertyReferenceDTO( + name = '', + qualifying_path = '', ), + selection_concept = visier.sdk.api.data_out.models.selection_concept_reference_dto.SelectionConceptReferenceDTO( + name = '', + qualifying_path = '', ) + ) + else: + return QueryPropertyDTO( + ) + """ + + def testQueryPropertyDTO(self): + """Test QueryPropertyDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_time_interval_dto.py b/src/visier.sdk.api.data_out/test/test_query_time_interval_dto.py new file mode 100644 index 000000000..021255c95 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_time_interval_dto.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_time_interval_dto import QueryTimeIntervalDTO + +class TestQueryTimeIntervalDTO(unittest.TestCase): + """QueryTimeIntervalDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryTimeIntervalDTO: + """Test QueryTimeIntervalDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryTimeIntervalDTO` + """ + model = QueryTimeIntervalDTO() + if include_optional: + return QueryTimeIntervalDTO( + direction = 'BACKWARD', + dynamic_date_from = '', + from_date_time = '', + from_instant = '', + interval_period_count = 56, + interval_period_type = 'MONTH', + shift = visier.sdk.api.data_out.models.time_shift_dto.TimeShiftDTO( + direction = 'BACKWARD', + period_count = 56, + period_type = 'MONTH', ) + ) + else: + return QueryTimeIntervalDTO( + ) + """ + + def testQueryTimeIntervalDTO(self): + """Test QueryTimeIntervalDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_query_time_intervals_dto.py b/src/visier.sdk.api.data_out/test/test_query_time_intervals_dto.py new file mode 100644 index 000000000..b0f912eb5 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_query_time_intervals_dto.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.query_time_intervals_dto import QueryTimeIntervalsDTO + +class TestQueryTimeIntervalsDTO(unittest.TestCase): + """QueryTimeIntervalsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryTimeIntervalsDTO: + """Test QueryTimeIntervalsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryTimeIntervalsDTO` + """ + model = QueryTimeIntervalsDTO() + if include_optional: + return QueryTimeIntervalsDTO( + direction = 'BACKWARD', + dynamic_date_from = '', + from_date_time = '', + from_instant = '', + interval_count = 56, + interval_period_count = 56, + interval_period_type = 'MONTH', + shift = visier.sdk.api.data_out.models.time_shift_dto.TimeShiftDTO( + direction = 'BACKWARD', + period_count = 56, + period_type = 'MONTH', ), + trailing_period_count = 56, + trailing_period_type = 'MONTH' + ) + else: + return QueryTimeIntervalsDTO( + ) + """ + + def testQueryTimeIntervalsDTO(self): + """Test QueryTimeIntervalsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_search_api.py b/src/visier.sdk.api.data_out/test/test_search_api.py new file mode 100644 index 000000000..c263eb794 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_search_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.api.search_api import SearchApi + + +class TestSearchApi(unittest.TestCase): + """SearchApi unit test stubs""" + + def setUp(self) -> None: + self.api = SearchApi() + + def tearDown(self) -> None: + pass + + def test_simple_search_document_headers(self) -> None: + """Test case for simple_search_document_headers + + Perform a simple search for Visier document headers + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_selection_concept_reference_dto.py b/src/visier.sdk.api.data_out/test/test_selection_concept_reference_dto.py new file mode 100644 index 000000000..81d63e0bf --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_selection_concept_reference_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.selection_concept_reference_dto import SelectionConceptReferenceDTO + +class TestSelectionConceptReferenceDTO(unittest.TestCase): + """SelectionConceptReferenceDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SelectionConceptReferenceDTO: + """Test SelectionConceptReferenceDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SelectionConceptReferenceDTO` + """ + model = SelectionConceptReferenceDTO() + if include_optional: + return SelectionConceptReferenceDTO( + name = '', + qualifying_path = '' + ) + else: + return SelectionConceptReferenceDTO( + ) + """ + + def testSelectionConceptReferenceDTO(self): + """Test SelectionConceptReferenceDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_simple_document_header_search_response_dto.py b/src/visier.sdk.api.data_out/test/test_simple_document_header_search_response_dto.py new file mode 100644 index 000000000..14570f513 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_simple_document_header_search_response_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.simple_document_header_search_response_dto import SimpleDocumentHeaderSearchResponseDTO + +class TestSimpleDocumentHeaderSearchResponseDTO(unittest.TestCase): + """SimpleDocumentHeaderSearchResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimpleDocumentHeaderSearchResponseDTO: + """Test SimpleDocumentHeaderSearchResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimpleDocumentHeaderSearchResponseDTO` + """ + model = SimpleDocumentHeaderSearchResponseDTO() + if include_optional: + return SimpleDocumentHeaderSearchResponseDTO( + document_headers = [ + visier.sdk.api.data_out.models.simple_document_header_search_result_dto.SimpleDocumentHeaderSearchResultDTO( + description = '', + display_name = '', + relevance = 1.337, + view_link = null, ) + ] + ) + else: + return SimpleDocumentHeaderSearchResponseDTO( + ) + """ + + def testSimpleDocumentHeaderSearchResponseDTO(self): + """Test SimpleDocumentHeaderSearchResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_simple_document_header_search_result_dto.py b/src/visier.sdk.api.data_out/test/test_simple_document_header_search_result_dto.py new file mode 100644 index 000000000..2159ba85f --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_simple_document_header_search_result_dto.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.simple_document_header_search_result_dto import SimpleDocumentHeaderSearchResultDTO + +class TestSimpleDocumentHeaderSearchResultDTO(unittest.TestCase): + """SimpleDocumentHeaderSearchResultDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimpleDocumentHeaderSearchResultDTO: + """Test SimpleDocumentHeaderSearchResultDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimpleDocumentHeaderSearchResultDTO` + """ + model = SimpleDocumentHeaderSearchResultDTO() + if include_optional: + return SimpleDocumentHeaderSearchResultDTO( + description = '', + display_name = '', + relevance = 1.337, + view_link = visier.sdk.api.data_out.models.document_search_link_dto.DocumentSearchLinkDTO( + href = '', + verb = '', ) + ) + else: + return SimpleDocumentHeaderSearchResultDTO( + ) + """ + + def testSimpleDocumentHeaderSearchResultDTO(self): + """Test SimpleDocumentHeaderSearchResultDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_snapshot_query_execution_dto.py b/src/visier.sdk.api.data_out/test/test_snapshot_query_execution_dto.py new file mode 100644 index 000000000..7091aa8de --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_snapshot_query_execution_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.snapshot_query_execution_dto import SnapshotQueryExecutionDTO + +class TestSnapshotQueryExecutionDTO(unittest.TestCase): + """SnapshotQueryExecutionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SnapshotQueryExecutionDTO: + """Test SnapshotQueryExecutionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SnapshotQueryExecutionDTO` + """ + model = SnapshotQueryExecutionDTO() + if include_optional: + return SnapshotQueryExecutionDTO( + columns = [ + visier.sdk.api.data_out.models.property_column_dto.PropertyColumnDTO( + column_definition = null, + column_name = '', ) + ], + filters = [ + visier.sdk.api.data_out.models.query_filter_dto.QueryFilterDTO( + cohort = null, + formula = '', + member_set = null, + selection_concept = null, ) + ], + options = visier.sdk.api.data_out.models.snapshot_query_execution_options_dto.SnapshotQueryExecutionOptionsDTO( + calendar_type = 'TENANT_CALENDAR', + currency_conversion_code = '', + currency_conversion_date = '', + date_time_display_mode = 'EPOCH', + limit = 56, + multiple_tables = True, + omit_header = True, + page = 56, + query_mode = 'DEFAULT', ), + parameter_values = [ + visier.sdk.api.data_out.models.query_parameter_value_dto.QueryParameterValueDTO( + aggregation_type_value = null, + member_value = null, + numeric_value = null, + plan_value = null, ) + ], + sort_options = [ + visier.sdk.api.data_out.models.sort_option_dto.SortOptionDTO( + column_index = 56, + sort_direction = 'SORT_ASCENDING', ) + ], + source = visier.sdk.api.data_out.models.list_query_source_dto.ListQuerySourceDTO( + analytic_object = '', + formula = '', + metric = '', ), + time_intervals = visier.sdk.api.data_out.models.query_time_intervals_dto.QueryTimeIntervalsDTO( + direction = 'BACKWARD', + dynamic_date_from = '', + from_date_time = '', + from_instant = '', + interval_count = 56, + interval_period_count = 56, + interval_period_type = 'MONTH', + shift = null, + trailing_period_count = 56, + trailing_period_type = 'MONTH', ) + ) + else: + return SnapshotQueryExecutionDTO( + ) + """ + + def testSnapshotQueryExecutionDTO(self): + """Test SnapshotQueryExecutionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_snapshot_query_execution_options_dto.py b/src/visier.sdk.api.data_out/test/test_snapshot_query_execution_options_dto.py new file mode 100644 index 000000000..802208d28 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_snapshot_query_execution_options_dto.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.snapshot_query_execution_options_dto import SnapshotQueryExecutionOptionsDTO + +class TestSnapshotQueryExecutionOptionsDTO(unittest.TestCase): + """SnapshotQueryExecutionOptionsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SnapshotQueryExecutionOptionsDTO: + """Test SnapshotQueryExecutionOptionsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SnapshotQueryExecutionOptionsDTO` + """ + model = SnapshotQueryExecutionOptionsDTO() + if include_optional: + return SnapshotQueryExecutionOptionsDTO( + calendar_type = 'TENANT_CALENDAR', + currency_conversion_code = '', + currency_conversion_date = '', + date_time_display_mode = 'EPOCH', + limit = 56, + multiple_tables = True, + omit_header = True, + page = 56, + query_mode = 'DEFAULT' + ) + else: + return SnapshotQueryExecutionOptionsDTO( + ) + """ + + def testSnapshotQueryExecutionOptionsDTO(self): + """Test SnapshotQueryExecutionOptionsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_sort_option_dto.py b/src/visier.sdk.api.data_out/test/test_sort_option_dto.py new file mode 100644 index 000000000..203e3944a --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_sort_option_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.sort_option_dto import SortOptionDTO + +class TestSortOptionDTO(unittest.TestCase): + """SortOptionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SortOptionDTO: + """Test SortOptionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SortOptionDTO` + """ + model = SortOptionDTO() + if include_optional: + return SortOptionDTO( + column_index = 56, + sort_direction = 'SORT_ASCENDING' + ) + else: + return SortOptionDTO( + ) + """ + + def testSortOptionDTO(self): + """Test SortOptionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_sql_like_query_execution_dto.py b/src/visier.sdk.api.data_out/test/test_sql_like_query_execution_dto.py new file mode 100644 index 000000000..7f8fc71b1 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_sql_like_query_execution_dto.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.sql_like_query_execution_dto import SqlLikeQueryExecutionDTO + +class TestSqlLikeQueryExecutionDTO(unittest.TestCase): + """SqlLikeQueryExecutionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SqlLikeQueryExecutionDTO: + """Test SqlLikeQueryExecutionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SqlLikeQueryExecutionDTO` + """ + model = SqlLikeQueryExecutionDTO() + if include_optional: + return SqlLikeQueryExecutionDTO( + options = visier.sdk.api.data_out.models.query_execution_options_dto.QueryExecutionOptionsDTO( + axis_visibility = 'SIMPLE', + calendar_type = 'TENANT_CALENDAR', + cell_distribution_options = visier.sdk.api.data_out.models.cell_distribution_options_dto.CellDistributionOptionsDTO( + bin_count = 56, ), + currency_conversion_code = '', + currency_conversion_date = '', + currency_conversion_mode = 'TENANT_CURRENCY_CONVERSION', + enable_descending_space = True, + enable_sparse_results = True, + internal = visier.sdk.api.data_out.models.internal_query_execution_options_dto.InternalQueryExecutionOptionsDTO( + align_time_axis_to_period_end = True, + sparse_handling_mode = 'ALLOW', ), + lineage_depth = 56, + member_display_mode = 'DEFAULT', + null_visibility = 'SHOW', + zero_visibility = 'SHOW', ), + query = '' + ) + else: + return SqlLikeQueryExecutionDTO( + ) + """ + + def testSqlLikeQueryExecutionDTO(self): + """Test SqlLikeQueryExecutionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_status.py b/src/visier.sdk.api.data_out/test/test_status.py new file mode 100644 index 000000000..5017bcbb5 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_status.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.status import Status + +class TestStatus(unittest.TestCase): + """Status unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Status: + """Test Status + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Status` + """ + model = Status() + if include_optional: + return Status( + error_code = '', + message = '', + rci = '' + ) + else: + return Status( + ) + """ + + def testStatus(self): + """Test Status""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_time_shift_dto.py b/src/visier.sdk.api.data_out/test/test_time_shift_dto.py new file mode 100644 index 000000000..fd22063b9 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_time_shift_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.time_shift_dto import TimeShiftDTO + +class TestTimeShiftDTO(unittest.TestCase): + """TimeShiftDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TimeShiftDTO: + """Test TimeShiftDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TimeShiftDTO` + """ + model = TimeShiftDTO() + if include_optional: + return TimeShiftDTO( + direction = 'BACKWARD', + period_count = 56, + period_type = 'MONTH' + ) + else: + return TimeShiftDTO( + ) + """ + + def testTimeShiftDTO(self): + """Test TimeShiftDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_vee_data_dto.py b/src/visier.sdk.api.data_out/test/test_vee_data_dto.py new file mode 100644 index 000000000..3aa155a07 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_vee_data_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.vee_data_dto import VeeDataDTO + +class TestVeeDataDTO(unittest.TestCase): + """VeeDataDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VeeDataDTO: + """Test VeeDataDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VeeDataDTO` + """ + model = VeeDataDTO() + if include_optional: + return VeeDataDTO( + context = '', + data_json = '' + ) + else: + return VeeDataDTO( + ) + """ + + def testVeeDataDTO(self): + """Test VeeDataDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_vee_feedback_dto.py b/src/visier.sdk.api.data_out/test/test_vee_feedback_dto.py new file mode 100644 index 000000000..7ab646362 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_vee_feedback_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.vee_feedback_dto import VeeFeedbackDTO + +class TestVeeFeedbackDTO(unittest.TestCase): + """VeeFeedbackDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VeeFeedbackDTO: + """Test VeeFeedbackDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VeeFeedbackDTO` + """ + model = VeeFeedbackDTO() + if include_optional: + return VeeFeedbackDTO( + description = '', + is_approved = True, + response = visier.sdk.api.data_out.models.vee_response_dto.VeeResponseDTO( + chart_url = '', + corrections = visier.sdk.api.data_out.models.vee_query_corrections_dto.VeeQueryCorrectionsDTO( + clarifications = [ + visier.sdk.api.data_out.models.query_clarification_dto.QueryClarificationDTO( + message = '', ) + ], + warning = [ + 'VEE_NO_WARNING' + ], ), + data = visier.sdk.api.data_out.models.vee_data_dto.VeeDataDTO( + context = '', + data_json = '', ), + narrative = '', + reworded_question = '', + schema = visier.sdk.api.data_out.models.vee_response_schema_dto.VeeResponseSchemaDTO( + concepts = [ + visier.sdk.api.data_out.models.vee_response_schema_reference_dto.VeeResponseSchemaReferenceDTO( + name = '', + paths = [ + '' + ], ) + ], + dimensions = [ + visier.sdk.api.data_out.models.vee_response_schema_reference_dto.VeeResponseSchemaReferenceDTO( + name = '', ) + ], + metrics = [ + '' + ], ), + status_code = visier.sdk.api.data_out.models.vee_status_code_dto.VeeStatusCodeDTO( + status_msg = '', ), + thread_state = visier.sdk.api.data_out.models.vee_thread_state_dto.VeeThreadStateDTO( + question_state = [ + '' + ], ), + visual = visier.sdk.api.data_out.models.vee_visual_dto.VeeVisualDTO( + context = '', + image = '', ), ) + ) + else: + return VeeFeedbackDTO( + ) + """ + + def testVeeFeedbackDTO(self): + """Test VeeFeedbackDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_vee_query_api.py b/src/visier.sdk.api.data_out/test/test_vee_query_api.py new file mode 100644 index 000000000..6a4088310 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_vee_query_api.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.api.vee_query_api import VeeQueryApi + + +class TestVeeQueryApi(unittest.TestCase): + """VeeQueryApi unit test stubs""" + + def setUp(self) -> None: + self.api = VeeQueryApi() + + def tearDown(self) -> None: + pass + + def test_vee_query_feedback(self) -> None: + """Test case for vee_query_feedback + + Submit Vee feedback + """ + pass + + def test_vee_query_request(self) -> None: + """Test case for vee_query_request + + Ask Vee a question + """ + pass + + def test_vee_sample_questions(self) -> None: + """Test case for vee_sample_questions + + Get a list of sample questions + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_vee_query_corrections_dto.py b/src/visier.sdk.api.data_out/test/test_vee_query_corrections_dto.py new file mode 100644 index 000000000..9a241f874 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_vee_query_corrections_dto.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.vee_query_corrections_dto import VeeQueryCorrectionsDTO + +class TestVeeQueryCorrectionsDTO(unittest.TestCase): + """VeeQueryCorrectionsDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VeeQueryCorrectionsDTO: + """Test VeeQueryCorrectionsDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VeeQueryCorrectionsDTO` + """ + model = VeeQueryCorrectionsDTO() + if include_optional: + return VeeQueryCorrectionsDTO( + clarifications = [ + visier.sdk.api.data_out.models.query_clarification_dto.QueryClarificationDTO( + message = '', ) + ], + warning = [ + 'VEE_NO_WARNING' + ] + ) + else: + return VeeQueryCorrectionsDTO( + ) + """ + + def testVeeQueryCorrectionsDTO(self): + """Test VeeQueryCorrectionsDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_vee_response_dto.py b/src/visier.sdk.api.data_out/test/test_vee_response_dto.py new file mode 100644 index 000000000..8fd9e163f --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_vee_response_dto.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.vee_response_dto import VeeResponseDTO + +class TestVeeResponseDTO(unittest.TestCase): + """VeeResponseDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VeeResponseDTO: + """Test VeeResponseDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VeeResponseDTO` + """ + model = VeeResponseDTO() + if include_optional: + return VeeResponseDTO( + chart_url = '', + corrections = visier.sdk.api.data_out.models.vee_query_corrections_dto.VeeQueryCorrectionsDTO( + clarifications = [ + visier.sdk.api.data_out.models.query_clarification_dto.QueryClarificationDTO( + message = '', ) + ], + warning = [ + 'VEE_NO_WARNING' + ], ), + data = visier.sdk.api.data_out.models.vee_data_dto.VeeDataDTO( + context = '', + data_json = '', ), + narrative = '', + reworded_question = '', + var_schema = visier.sdk.api.data_out.models.vee_response_schema_dto.VeeResponseSchemaDTO( + concepts = [ + visier.sdk.api.data_out.models.vee_response_schema_reference_dto.VeeResponseSchemaReferenceDTO( + name = '', + paths = [ + '' + ], ) + ], + dimensions = [ + visier.sdk.api.data_out.models.vee_response_schema_reference_dto.VeeResponseSchemaReferenceDTO( + name = '', ) + ], + metrics = [ + '' + ], ), + status_code = visier.sdk.api.data_out.models.vee_status_code_dto.VeeStatusCodeDTO( + status_msg = '', ), + thread_state = visier.sdk.api.data_out.models.vee_thread_state_dto.VeeThreadStateDTO( + question_state = [ + '' + ], ), + visual = visier.sdk.api.data_out.models.vee_visual_dto.VeeVisualDTO( + context = '', + image = '', ) + ) + else: + return VeeResponseDTO( + ) + """ + + def testVeeResponseDTO(self): + """Test VeeResponseDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_vee_response_schema_dto.py b/src/visier.sdk.api.data_out/test/test_vee_response_schema_dto.py new file mode 100644 index 000000000..bad5ef179 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_vee_response_schema_dto.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.vee_response_schema_dto import VeeResponseSchemaDTO + +class TestVeeResponseSchemaDTO(unittest.TestCase): + """VeeResponseSchemaDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VeeResponseSchemaDTO: + """Test VeeResponseSchemaDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VeeResponseSchemaDTO` + """ + model = VeeResponseSchemaDTO() + if include_optional: + return VeeResponseSchemaDTO( + concepts = [ + visier.sdk.api.data_out.models.vee_response_schema_reference_dto.VeeResponseSchemaReferenceDTO( + name = '', + paths = [ + '' + ], ) + ], + dimensions = [ + visier.sdk.api.data_out.models.vee_response_schema_reference_dto.VeeResponseSchemaReferenceDTO( + name = '', + paths = [ + '' + ], ) + ], + metrics = [ + '' + ] + ) + else: + return VeeResponseSchemaDTO( + ) + """ + + def testVeeResponseSchemaDTO(self): + """Test VeeResponseSchemaDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_vee_response_schema_reference_dto.py b/src/visier.sdk.api.data_out/test/test_vee_response_schema_reference_dto.py new file mode 100644 index 000000000..68b352ee6 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_vee_response_schema_reference_dto.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.vee_response_schema_reference_dto import VeeResponseSchemaReferenceDTO + +class TestVeeResponseSchemaReferenceDTO(unittest.TestCase): + """VeeResponseSchemaReferenceDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VeeResponseSchemaReferenceDTO: + """Test VeeResponseSchemaReferenceDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VeeResponseSchemaReferenceDTO` + """ + model = VeeResponseSchemaReferenceDTO() + if include_optional: + return VeeResponseSchemaReferenceDTO( + name = '', + paths = [ + '' + ] + ) + else: + return VeeResponseSchemaReferenceDTO( + ) + """ + + def testVeeResponseSchemaReferenceDTO(self): + """Test VeeResponseSchemaReferenceDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_vee_sample_question_dto.py b/src/visier.sdk.api.data_out/test/test_vee_sample_question_dto.py new file mode 100644 index 000000000..2c414f209 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_vee_sample_question_dto.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.vee_sample_question_dto import VeeSampleQuestionDTO + +class TestVeeSampleQuestionDTO(unittest.TestCase): + """VeeSampleQuestionDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VeeSampleQuestionDTO: + """Test VeeSampleQuestionDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VeeSampleQuestionDTO` + """ + model = VeeSampleQuestionDTO() + if include_optional: + return VeeSampleQuestionDTO( + metadata = visier.sdk.api.data_out.models.vee_sample_question_metadata_dto.VeeSampleQuestionMetadataDTO( + categories = [ + '' + ], ), + question = '' + ) + else: + return VeeSampleQuestionDTO( + ) + """ + + def testVeeSampleQuestionDTO(self): + """Test VeeSampleQuestionDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_vee_sample_question_library_dto.py b/src/visier.sdk.api.data_out/test/test_vee_sample_question_library_dto.py new file mode 100644 index 000000000..16dc6a9e0 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_vee_sample_question_library_dto.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.vee_sample_question_library_dto import VeeSampleQuestionLibraryDTO + +class TestVeeSampleQuestionLibraryDTO(unittest.TestCase): + """VeeSampleQuestionLibraryDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VeeSampleQuestionLibraryDTO: + """Test VeeSampleQuestionLibraryDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VeeSampleQuestionLibraryDTO` + """ + model = VeeSampleQuestionLibraryDTO() + if include_optional: + return VeeSampleQuestionLibraryDTO( + questions = [ + visier.sdk.api.data_out.models.vee_sample_question_dto.VeeSampleQuestionDTO( + metadata = visier.sdk.api.data_out.models.vee_sample_question_metadata_dto.VeeSampleQuestionMetadataDTO( + categories = [ + '' + ], ), + question = '', ) + ] + ) + else: + return VeeSampleQuestionLibraryDTO( + ) + """ + + def testVeeSampleQuestionLibraryDTO(self): + """Test VeeSampleQuestionLibraryDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_vee_sample_question_metadata_dto.py b/src/visier.sdk.api.data_out/test/test_vee_sample_question_metadata_dto.py new file mode 100644 index 000000000..1083bcebb --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_vee_sample_question_metadata_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.vee_sample_question_metadata_dto import VeeSampleQuestionMetadataDTO + +class TestVeeSampleQuestionMetadataDTO(unittest.TestCase): + """VeeSampleQuestionMetadataDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VeeSampleQuestionMetadataDTO: + """Test VeeSampleQuestionMetadataDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VeeSampleQuestionMetadataDTO` + """ + model = VeeSampleQuestionMetadataDTO() + if include_optional: + return VeeSampleQuestionMetadataDTO( + categories = [ + '' + ] + ) + else: + return VeeSampleQuestionMetadataDTO( + ) + """ + + def testVeeSampleQuestionMetadataDTO(self): + """Test VeeSampleQuestionMetadataDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_vee_status_code_dto.py b/src/visier.sdk.api.data_out/test/test_vee_status_code_dto.py new file mode 100644 index 000000000..0b3c7b04c --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_vee_status_code_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.vee_status_code_dto import VeeStatusCodeDTO + +class TestVeeStatusCodeDTO(unittest.TestCase): + """VeeStatusCodeDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VeeStatusCodeDTO: + """Test VeeStatusCodeDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VeeStatusCodeDTO` + """ + model = VeeStatusCodeDTO() + if include_optional: + return VeeStatusCodeDTO( + status_code = 'UNDEFINED', + status_msg = '' + ) + else: + return VeeStatusCodeDTO( + ) + """ + + def testVeeStatusCodeDTO(self): + """Test VeeStatusCodeDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_vee_thread_state_dto.py b/src/visier.sdk.api.data_out/test/test_vee_thread_state_dto.py new file mode 100644 index 000000000..cc8fa61a4 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_vee_thread_state_dto.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.vee_thread_state_dto import VeeThreadStateDTO + +class TestVeeThreadStateDTO(unittest.TestCase): + """VeeThreadStateDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VeeThreadStateDTO: + """Test VeeThreadStateDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VeeThreadStateDTO` + """ + model = VeeThreadStateDTO() + if include_optional: + return VeeThreadStateDTO( + question_state = [ + '' + ] + ) + else: + return VeeThreadStateDTO( + ) + """ + + def testVeeThreadStateDTO(self): + """Test VeeThreadStateDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/test/test_vee_visual_dto.py b/src/visier.sdk.api.data_out/test/test_vee_visual_dto.py new file mode 100644 index 000000000..e4aaa8410 --- /dev/null +++ b/src/visier.sdk.api.data_out/test/test_vee_visual_dto.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from visier.sdk.api.data_out.models.vee_visual_dto import VeeVisualDTO + +class TestVeeVisualDTO(unittest.TestCase): + """VeeVisualDTO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VeeVisualDTO: + """Test VeeVisualDTO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VeeVisualDTO` + """ + model = VeeVisualDTO() + if include_optional: + return VeeVisualDTO( + context = '', + image = '' + ) + else: + return VeeVisualDTO( + ) + """ + + def testVeeVisualDTO(self): + """Test VeeVisualDTO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/src/visier.sdk.api.data_out/tox.ini b/src/visier.sdk.api.data_out/tox.ini new file mode 100644 index 000000000..1621b6947 --- /dev/null +++ b/src/visier.sdk.api.data_out/tox.ini @@ -0,0 +1,9 @@ +[tox] +envlist = py38, py39, py310, py311, py312 + +[testenv] +deps=-r{toxinidir}/requirements.txt + -r{toxinidir}/test-requirements.txt + +commands= + pytest --cov=visier.sdk.api.data_out diff --git a/src/visier.sdk.api.data_out/visier/__init__.py b/src/visier.sdk.api.data_out/visier/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.data_out/visier/sdk/__init__.py b/src/visier.sdk.api.data_out/visier/sdk/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/__init__.py b/src/visier.sdk.api.data_out/visier/sdk/api/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/__init__.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/__init__.py new file mode 100644 index 000000000..4f4fced63 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/__init__.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +# flake8: noqa + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +__version__ = "0.0.1" + +# import apis into sdk package +from visier.sdk.api.data_out.api.data_query_api import DataQueryApi +from visier.sdk.api.data_out.api.data_version_export_api import DataVersionExportApi +from visier.sdk.api.data_out.api.search_api import SearchApi +from visier.sdk.api.data_out.api.vee_query_api import VeeQueryApi + +# import ApiClient +from visier.sdk.api.data_out.api_response import ApiResponse +from visier.sdk.api.data_out.api_client import ApiClient +from visier.sdk.api.data_out.configuration import Configuration +from visier.sdk.api.data_out.exceptions import OpenApiException +from visier.sdk.api.data_out.exceptions import ApiTypeError +from visier.sdk.api.data_out.exceptions import ApiValueError +from visier.sdk.api.data_out.exceptions import ApiKeyError +from visier.sdk.api.data_out.exceptions import ApiAttributeError +from visier.sdk.api.data_out.exceptions import ApiException + +# import models into sdk package +from visier.sdk.api.data_out.models.aggregation_query_dto import AggregationQueryDTO +from visier.sdk.api.data_out.models.aggregation_query_execution_dto import AggregationQueryExecutionDTO +from visier.sdk.api.data_out.models.aggregation_query_source_dto import AggregationQuerySourceDTO +from visier.sdk.api.data_out.models.aggregation_query_source_metric_dto import AggregationQuerySourceMetricDTO +from visier.sdk.api.data_out.models.aggregation_query_source_metrics_dto import AggregationQuerySourceMetricsDTO +from visier.sdk.api.data_out.models.aggregation_type_parameter_value_dto import AggregationTypeParameterValueDTO +from visier.sdk.api.data_out.models.cell_dto import CellDTO +from visier.sdk.api.data_out.models.cell_distribution_bin_dto import CellDistributionBinDTO +from visier.sdk.api.data_out.models.cell_distribution_options_dto import CellDistributionOptionsDTO +from visier.sdk.api.data_out.models.cell_set_axis_dto import CellSetAxisDTO +from visier.sdk.api.data_out.models.cell_set_axis_position_dto import CellSetAxisPositionDTO +from visier.sdk.api.data_out.models.cell_set_dto import CellSetDTO +from visier.sdk.api.data_out.models.cohort_filter_dto import CohortFilterDTO +from visier.sdk.api.data_out.models.data_version_export_column_dto import DataVersionExportColumnDTO +from visier.sdk.api.data_out.models.data_version_export_dto import DataVersionExportDTO +from visier.sdk.api.data_out.models.data_version_export_data_version_summary_dto import DataVersionExportDataVersionSummaryDTO +from visier.sdk.api.data_out.models.data_version_export_data_versions_dto import DataVersionExportDataVersionsDTO +from visier.sdk.api.data_out.models.data_version_export_file_dto import DataVersionExportFileDTO +from visier.sdk.api.data_out.models.data_version_export_job_status_dto import DataVersionExportJobStatusDTO +from visier.sdk.api.data_out.models.data_version_export_part_file_dto import DataVersionExportPartFileDTO +from visier.sdk.api.data_out.models.data_version_export_schedule_job_request_dto import DataVersionExportScheduleJobRequestDTO +from visier.sdk.api.data_out.models.data_version_export_schedule_job_response_dto import DataVersionExportScheduleJobResponseDTO +from visier.sdk.api.data_out.models.data_version_export_table_dto import DataVersionExportTableDTO +from visier.sdk.api.data_out.models.data_version_exports_dto import DataVersionExportsDTO +from visier.sdk.api.data_out.models.dimension_member_reference_dto import DimensionMemberReferenceDTO +from visier.sdk.api.data_out.models.dimension_reference_dto import DimensionReferenceDTO +from visier.sdk.api.data_out.models.document_search_link_dto import DocumentSearchLinkDTO +from visier.sdk.api.data_out.models.dv_export_status import DvExportStatus +from visier.sdk.api.data_out.models.google_protobuf_any import GoogleProtobufAny +from visier.sdk.api.data_out.models.internal_query_execution_options_dto import InternalQueryExecutionOptionsDTO +from visier.sdk.api.data_out.models.key_group_filter_dto import KeyGroupFilterDTO +from visier.sdk.api.data_out.models.key_group_filter_item_dto import KeyGroupFilterItemDTO +from visier.sdk.api.data_out.models.lineage_dto import LineageDTO +from visier.sdk.api.data_out.models.list_query_execution_dto import ListQueryExecutionDTO +from visier.sdk.api.data_out.models.list_query_execution_options_dto import ListQueryExecutionOptionsDTO +from visier.sdk.api.data_out.models.list_query_source_dto import ListQuerySourceDTO +from visier.sdk.api.data_out.models.list_response import ListResponse +from visier.sdk.api.data_out.models.member_filter_dto import MemberFilterDTO +from visier.sdk.api.data_out.models.member_parameter_value_dto import MemberParameterValueDTO +from visier.sdk.api.data_out.models.member_values_dto import MemberValuesDTO +from visier.sdk.api.data_out.models.numeric_parameter_value_dto import NumericParameterValueDTO +from visier.sdk.api.data_out.models.plan_parameter_value_dto import PlanParameterValueDTO +from visier.sdk.api.data_out.models.property_column_dto import PropertyColumnDTO +from visier.sdk.api.data_out.models.property_reference_dto import PropertyReferenceDTO +from visier.sdk.api.data_out.models.query_axis_dto import QueryAxisDTO +from visier.sdk.api.data_out.models.query_axis_options_dto import QueryAxisOptionsDTO +from visier.sdk.api.data_out.models.query_clarification_dto import QueryClarificationDTO +from visier.sdk.api.data_out.models.query_dimension_data_member_selection_dto import QueryDimensionDataMemberSelectionDTO +from visier.sdk.api.data_out.models.query_dimension_leaf_selection_dto import QueryDimensionLeafSelectionDTO +from visier.sdk.api.data_out.models.query_dimension_level_selection_dto import QueryDimensionLevelSelectionDTO +from visier.sdk.api.data_out.models.query_dimension_member_selection_dto import QueryDimensionMemberSelectionDTO +from visier.sdk.api.data_out.models.query_execution_options_dto import QueryExecutionOptionsDTO +from visier.sdk.api.data_out.models.query_filter_dto import QueryFilterDTO +from visier.sdk.api.data_out.models.query_member_map_property_dto import QueryMemberMapPropertyDTO +from visier.sdk.api.data_out.models.query_member_map_selection_dto import QueryMemberMapSelectionDTO +from visier.sdk.api.data_out.models.query_numeric_ranges_dto import QueryNumericRangesDTO +from visier.sdk.api.data_out.models.query_parameter_value_dto import QueryParameterValueDTO +from visier.sdk.api.data_out.models.query_property_dto import QueryPropertyDTO +from visier.sdk.api.data_out.models.query_time_interval_dto import QueryTimeIntervalDTO +from visier.sdk.api.data_out.models.query_time_intervals_dto import QueryTimeIntervalsDTO +from visier.sdk.api.data_out.models.selection_concept_reference_dto import SelectionConceptReferenceDTO +from visier.sdk.api.data_out.models.simple_document_header_search_response_dto import SimpleDocumentHeaderSearchResponseDTO +from visier.sdk.api.data_out.models.simple_document_header_search_result_dto import SimpleDocumentHeaderSearchResultDTO +from visier.sdk.api.data_out.models.snapshot_query_execution_dto import SnapshotQueryExecutionDTO +from visier.sdk.api.data_out.models.snapshot_query_execution_options_dto import SnapshotQueryExecutionOptionsDTO +from visier.sdk.api.data_out.models.sort_option_dto import SortOptionDTO +from visier.sdk.api.data_out.models.sql_like_query_execution_dto import SqlLikeQueryExecutionDTO +from visier.sdk.api.data_out.models.status import Status +from visier.sdk.api.data_out.models.time_shift_dto import TimeShiftDTO +from visier.sdk.api.data_out.models.vee_data_dto import VeeDataDTO +from visier.sdk.api.data_out.models.vee_feedback_dto import VeeFeedbackDTO +from visier.sdk.api.data_out.models.vee_query_corrections_dto import VeeQueryCorrectionsDTO +from visier.sdk.api.data_out.models.vee_response_dto import VeeResponseDTO +from visier.sdk.api.data_out.models.vee_response_schema_dto import VeeResponseSchemaDTO +from visier.sdk.api.data_out.models.vee_response_schema_reference_dto import VeeResponseSchemaReferenceDTO +from visier.sdk.api.data_out.models.vee_sample_question_dto import VeeSampleQuestionDTO +from visier.sdk.api.data_out.models.vee_sample_question_library_dto import VeeSampleQuestionLibraryDTO +from visier.sdk.api.data_out.models.vee_sample_question_metadata_dto import VeeSampleQuestionMetadataDTO +from visier.sdk.api.data_out.models.vee_status_code_dto import VeeStatusCodeDTO +from visier.sdk.api.data_out.models.vee_thread_state_dto import VeeThreadStateDTO +from visier.sdk.api.data_out.models.vee_visual_dto import VeeVisualDTO diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/__init__.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/__init__.py new file mode 100644 index 000000000..8169f7fce --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/__init__.py @@ -0,0 +1,8 @@ +# flake8: noqa + +# import apis into api package +from visier.sdk.api.data_out.api.data_query_api import DataQueryApi +from visier.sdk.api.data_out.api.data_version_export_api import DataVersionExportApi +from visier.sdk.api.data_out.api.search_api import SearchApi +from visier.sdk.api.data_out.api.vee_query_api import VeeQueryApi + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/data_query_api.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/data_query_api.py new file mode 100644 index 000000000..c00b56d36 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/data_query_api.py @@ -0,0 +1,1151 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + 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 visier.sdk.api.data_out.models.aggregation_query_execution_dto import AggregationQueryExecutionDTO +from visier.sdk.api.data_out.models.cell_set_dto import CellSetDTO +from visier.sdk.api.data_out.models.list_query_execution_dto import ListQueryExecutionDTO +from visier.sdk.api.data_out.models.list_response import ListResponse +from visier.sdk.api.data_out.models.snapshot_query_execution_dto import SnapshotQueryExecutionDTO +from visier.sdk.api.data_out.models.sql_like_query_execution_dto import SqlLikeQueryExecutionDTO + +from visier.sdk.api.data_out.api_client import ApiClient, RequestSerialized +from visier.sdk.api.data_out.api_response import ApiResponse +from visier.sdk.api.data_out.rest import RESTResponseType + + +class DataQueryApi: + """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 aggregate( + self, + aggregation_query_execution_dto: AggregationQueryExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CellSetDTO: + """Query aggregate data + + To retrieve aggregated values from your data in Visier, you can perform an aggregation. Usually, an aggregation retrieves values over a period of time, such as multiple months. You can also group and filter your data in an aggregation query to retrieve detailed information. + + :param aggregation_query_execution_dto: (required) + :type aggregation_query_execution_dto: AggregationQueryExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._aggregate_serialize( + aggregation_query_execution_dto=aggregation_query_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CellSetDTO", + } + response_data = self.api_client.call_api( + *_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 aggregate_with_http_info( + self, + aggregation_query_execution_dto: AggregationQueryExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[CellSetDTO]: + """Query aggregate data + + To retrieve aggregated values from your data in Visier, you can perform an aggregation. Usually, an aggregation retrieves values over a period of time, such as multiple months. You can also group and filter your data in an aggregation query to retrieve detailed information. + + :param aggregation_query_execution_dto: (required) + :type aggregation_query_execution_dto: AggregationQueryExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._aggregate_serialize( + aggregation_query_execution_dto=aggregation_query_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CellSetDTO", + } + response_data = self.api_client.call_api( + *_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 aggregate_without_preload_content( + self, + aggregation_query_execution_dto: AggregationQueryExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 aggregate data + + To retrieve aggregated values from your data in Visier, you can perform an aggregation. Usually, an aggregation retrieves values over a period of time, such as multiple months. You can also group and filter your data in an aggregation query to retrieve detailed information. + + :param aggregation_query_execution_dto: (required) + :type aggregation_query_execution_dto: AggregationQueryExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._aggregate_serialize( + aggregation_query_execution_dto=aggregation_query_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CellSetDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _aggregate_serialize( + self, + aggregation_query_execution_dto, + _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]] = {} + _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 aggregation_query_execution_dto is not None: + _body_params = aggregation_query_execution_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/data/query/aggregate', + 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 list( + self, + list_query_execution_dto: ListQueryExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ListResponse: + """Query a list of details + + To retrieve a list of values for specific objects, you can perform a list query. A list query provides information about values for selected data points, and is not an aggregated value. In Visier's interface, a list query is comparable to View Details for a specific data point in a visualization. + + :param list_query_execution_dto: (required) + :type list_query_execution_dto: ListQueryExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_serialize( + list_query_execution_dto=list_query_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListResponse", + } + response_data = self.api_client.call_api( + *_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 list_with_http_info( + self, + list_query_execution_dto: ListQueryExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ListResponse]: + """Query a list of details + + To retrieve a list of values for specific objects, you can perform a list query. A list query provides information about values for selected data points, and is not an aggregated value. In Visier's interface, a list query is comparable to View Details for a specific data point in a visualization. + + :param list_query_execution_dto: (required) + :type list_query_execution_dto: ListQueryExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_serialize( + list_query_execution_dto=list_query_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListResponse", + } + response_data = self.api_client.call_api( + *_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 list_without_preload_content( + self, + list_query_execution_dto: ListQueryExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 a list of details + + To retrieve a list of values for specific objects, you can perform a list query. A list query provides information about values for selected data points, and is not an aggregated value. In Visier's interface, a list query is comparable to View Details for a specific data point in a visualization. + + :param list_query_execution_dto: (required) + :type list_query_execution_dto: ListQueryExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_serialize( + list_query_execution_dto=list_query_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_serialize( + self, + list_query_execution_dto, + _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]] = {} + _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 list_query_execution_dto is not None: + _body_params = list_query_execution_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json', + 'application/octet-stream', + 'text/csv' + ] + ) + + # 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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/data/query/list', + 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 query_snapshot( + self, + snapshot_query_execution_dto: SnapshotQueryExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ListResponse: + """Query a series of detailed snapshots + + To retrieve a collection of `list` query-style snapshots taken at the defined intervals, execute a `snapshot` query. Each snapshot in the result is associated with a timestamp, or the \"effective date\" at which date snapshot data was valid. This API allows you to request a detailed time series from Visier. Structurally, a `snapshot` query is similar to a `list` query, but has the following differences: * The `snapshot` query may contain a column, `effectiveDateProperty`, that specifies the time for each snapshot. To include the `effectiveDateProperty` column, add the following object to the columns array: ```json { \"columnName\": \"Snapshot_Date\", \"columnDefinition\": { \"effectiveDateProperty\": {} } } ``` * The `snapshot` query uses `timeIntervals` (like an `aggregate` query) instead of `timeInterval` (like a `list` query) because the `snapshot` query must specify the number of snapshots to generate. To specify the number of snapshots to generate, use the `intervalCount` property in the `timeIntervals` object, as shown next. ```json { \"timeIntervals\": { \"fromDateTime\": \"2022-01-01\", \"intervalPeriodType\": \"MONTH\", \"intervalPeriodCount\": 6, \"intervalCount\": 4 } ``` + + :param snapshot_query_execution_dto: (required) + :type snapshot_query_execution_dto: SnapshotQueryExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._query_snapshot_serialize( + snapshot_query_execution_dto=snapshot_query_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListResponse", + } + response_data = self.api_client.call_api( + *_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 query_snapshot_with_http_info( + self, + snapshot_query_execution_dto: SnapshotQueryExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[ListResponse]: + """Query a series of detailed snapshots + + To retrieve a collection of `list` query-style snapshots taken at the defined intervals, execute a `snapshot` query. Each snapshot in the result is associated with a timestamp, or the \"effective date\" at which date snapshot data was valid. This API allows you to request a detailed time series from Visier. Structurally, a `snapshot` query is similar to a `list` query, but has the following differences: * The `snapshot` query may contain a column, `effectiveDateProperty`, that specifies the time for each snapshot. To include the `effectiveDateProperty` column, add the following object to the columns array: ```json { \"columnName\": \"Snapshot_Date\", \"columnDefinition\": { \"effectiveDateProperty\": {} } } ``` * The `snapshot` query uses `timeIntervals` (like an `aggregate` query) instead of `timeInterval` (like a `list` query) because the `snapshot` query must specify the number of snapshots to generate. To specify the number of snapshots to generate, use the `intervalCount` property in the `timeIntervals` object, as shown next. ```json { \"timeIntervals\": { \"fromDateTime\": \"2022-01-01\", \"intervalPeriodType\": \"MONTH\", \"intervalPeriodCount\": 6, \"intervalCount\": 4 } ``` + + :param snapshot_query_execution_dto: (required) + :type snapshot_query_execution_dto: SnapshotQueryExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._query_snapshot_serialize( + snapshot_query_execution_dto=snapshot_query_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListResponse", + } + response_data = self.api_client.call_api( + *_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 query_snapshot_without_preload_content( + self, + snapshot_query_execution_dto: SnapshotQueryExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 a series of detailed snapshots + + To retrieve a collection of `list` query-style snapshots taken at the defined intervals, execute a `snapshot` query. Each snapshot in the result is associated with a timestamp, or the \"effective date\" at which date snapshot data was valid. This API allows you to request a detailed time series from Visier. Structurally, a `snapshot` query is similar to a `list` query, but has the following differences: * The `snapshot` query may contain a column, `effectiveDateProperty`, that specifies the time for each snapshot. To include the `effectiveDateProperty` column, add the following object to the columns array: ```json { \"columnName\": \"Snapshot_Date\", \"columnDefinition\": { \"effectiveDateProperty\": {} } } ``` * The `snapshot` query uses `timeIntervals` (like an `aggregate` query) instead of `timeInterval` (like a `list` query) because the `snapshot` query must specify the number of snapshots to generate. To specify the number of snapshots to generate, use the `intervalCount` property in the `timeIntervals` object, as shown next. ```json { \"timeIntervals\": { \"fromDateTime\": \"2022-01-01\", \"intervalPeriodType\": \"MONTH\", \"intervalPeriodCount\": 6, \"intervalCount\": 4 } ``` + + :param snapshot_query_execution_dto: (required) + :type snapshot_query_execution_dto: SnapshotQueryExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._query_snapshot_serialize( + snapshot_query_execution_dto=snapshot_query_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _query_snapshot_serialize( + self, + snapshot_query_execution_dto, + _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]] = {} + _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 snapshot_query_execution_dto is not None: + _body_params = snapshot_query_execution_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json', + 'application/octet-stream', + 'text/csv' + ] + ) + + # 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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/data/query/snapshot', + 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 sql_like( + self, + sql_like_query_execution_dto: SqlLikeQueryExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CellSetDTO: + """Query aggregate or list data using SQL-like syntax + + To retrieve a list of values for specific objects or aggregate values from metrics, you can write queries using SQL-like syntax. The response format matches the query type whether aggregate or list. If requested, aggregate query results may be flattened into tabular format. A SQL-like query is an aggregate if it contains at least one metric. Aggregate queries must specify a time interval divided into periods; for example: ```sql SELECT employeeCount() AS \"Employee Count\", level(Gender, \"Gender\") AS Gender FROM Employee WHERE Visier_Time IN periods(date(\"2023-01-01\"), 4, period(3, Month)); ``` A SQL-like query is a list if it does not contain any metrics. List queries define time intervals as simple intervals; for example: ```sql SELECT EmployeeID AS \"Employee ID\", level(Gender, \"Gender\") AS Gender FROM Employee WHERE Visier_Time BETWEEN date(\"2022-01-01\") AND date(\"2023-01-01\"); ``` + + :param sql_like_query_execution_dto: (required) + :type sql_like_query_execution_dto: SqlLikeQueryExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._sql_like_serialize( + sql_like_query_execution_dto=sql_like_query_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CellSetDTO", + } + response_data = self.api_client.call_api( + *_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 sql_like_with_http_info( + self, + sql_like_query_execution_dto: SqlLikeQueryExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[CellSetDTO]: + """Query aggregate or list data using SQL-like syntax + + To retrieve a list of values for specific objects or aggregate values from metrics, you can write queries using SQL-like syntax. The response format matches the query type whether aggregate or list. If requested, aggregate query results may be flattened into tabular format. A SQL-like query is an aggregate if it contains at least one metric. Aggregate queries must specify a time interval divided into periods; for example: ```sql SELECT employeeCount() AS \"Employee Count\", level(Gender, \"Gender\") AS Gender FROM Employee WHERE Visier_Time IN periods(date(\"2023-01-01\"), 4, period(3, Month)); ``` A SQL-like query is a list if it does not contain any metrics. List queries define time intervals as simple intervals; for example: ```sql SELECT EmployeeID AS \"Employee ID\", level(Gender, \"Gender\") AS Gender FROM Employee WHERE Visier_Time BETWEEN date(\"2022-01-01\") AND date(\"2023-01-01\"); ``` + + :param sql_like_query_execution_dto: (required) + :type sql_like_query_execution_dto: SqlLikeQueryExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._sql_like_serialize( + sql_like_query_execution_dto=sql_like_query_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CellSetDTO", + } + response_data = self.api_client.call_api( + *_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 sql_like_without_preload_content( + self, + sql_like_query_execution_dto: SqlLikeQueryExecutionDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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 aggregate or list data using SQL-like syntax + + To retrieve a list of values for specific objects or aggregate values from metrics, you can write queries using SQL-like syntax. The response format matches the query type whether aggregate or list. If requested, aggregate query results may be flattened into tabular format. A SQL-like query is an aggregate if it contains at least one metric. Aggregate queries must specify a time interval divided into periods; for example: ```sql SELECT employeeCount() AS \"Employee Count\", level(Gender, \"Gender\") AS Gender FROM Employee WHERE Visier_Time IN periods(date(\"2023-01-01\"), 4, period(3, Month)); ``` A SQL-like query is a list if it does not contain any metrics. List queries define time intervals as simple intervals; for example: ```sql SELECT EmployeeID AS \"Employee ID\", level(Gender, \"Gender\") AS Gender FROM Employee WHERE Visier_Time BETWEEN date(\"2022-01-01\") AND date(\"2023-01-01\"); ``` + + :param sql_like_query_execution_dto: (required) + :type sql_like_query_execution_dto: SqlLikeQueryExecutionDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._sql_like_serialize( + sql_like_query_execution_dto=sql_like_query_execution_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CellSetDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _sql_like_serialize( + self, + sql_like_query_execution_dto, + _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]] = {} + _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 sql_like_query_execution_dto is not None: + _body_params = sql_like_query_execution_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json', + 'application/octet-stream', + 'text/csv' + ] + ) + + # 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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/data/query/sql', + 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/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/data_version_export_api.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/data_version_export_api.py new file mode 100644 index 000000000..3f0eef531 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/data_version_export_api.py @@ -0,0 +1,1620 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + 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, StrictBytes, StrictInt, StrictStr +from typing import Union +from typing_extensions import Annotated +from visier.sdk.api.data_out.models.data_version_export_data_versions_dto import DataVersionExportDataVersionsDTO +from visier.sdk.api.data_out.models.data_version_export_job_status_dto import DataVersionExportJobStatusDTO +from visier.sdk.api.data_out.models.data_version_export_schedule_job_request_dto import DataVersionExportScheduleJobRequestDTO +from visier.sdk.api.data_out.models.data_version_export_schedule_job_response_dto import DataVersionExportScheduleJobResponseDTO +from visier.sdk.api.data_out.models.data_version_exports_dto import DataVersionExportsDTO + +from visier.sdk.api.data_out.api_client import ApiClient, RequestSerialized +from visier.sdk.api.data_out.api_response import ApiResponse +from visier.sdk.api.data_out.rest import RESTResponseType + + +class DataVersionExportApi: + """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 call_1_alpha_download_file( + self, + export_uuid: Annotated[StrictStr, Field(description="The unique identifier of the data version export.")], + file_id: Annotated[StrictInt, Field(description="The unique integer identifier of the file within the data version export.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> bytearray: + """Download a file from a data version export. + + This API allows you to download a file from a data version export. Data version export files are in CSV format, compressed with gzip. + + :param export_uuid: The unique identifier of the data version export. (required) + :type export_uuid: str + :param file_id: The unique integer identifier of the file within the data version export. (required) + :type file_id: 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._call_1_alpha_download_file_serialize( + export_uuid=export_uuid, + file_id=file_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_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 call_1_alpha_download_file_with_http_info( + self, + export_uuid: Annotated[StrictStr, Field(description="The unique identifier of the data version export.")], + file_id: Annotated[StrictInt, Field(description="The unique integer identifier of the file within the data version export.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[bytearray]: + """Download a file from a data version export. + + This API allows you to download a file from a data version export. Data version export files are in CSV format, compressed with gzip. + + :param export_uuid: The unique identifier of the data version export. (required) + :type export_uuid: str + :param file_id: The unique integer identifier of the file within the data version export. (required) + :type file_id: 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._call_1_alpha_download_file_serialize( + export_uuid=export_uuid, + file_id=file_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_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 call_1_alpha_download_file_without_preload_content( + self, + export_uuid: Annotated[StrictStr, Field(description="The unique identifier of the data version export.")], + file_id: Annotated[StrictInt, Field(description="The unique integer identifier of the file within the data version export.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Download a file from a data version export. + + This API allows you to download a file from a data version export. Data version export files are in CSV format, compressed with gzip. + + :param export_uuid: The unique identifier of the data version export. (required) + :type export_uuid: str + :param file_id: The unique integer identifier of the file within the data version export. (required) + :type file_id: 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._call_1_alpha_download_file_serialize( + export_uuid=export_uuid, + file_id=file_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _call_1_alpha_download_file_serialize( + self, + export_uuid, + file_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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if export_uuid is not None: + _path_params['exportUuid'] = export_uuid + if file_id is not None: + _path_params['fileId'] = file_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( + [ + 'application/gzip', + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/data/data-version-exports/exports/{exportUuid}/files/{fileId}', + 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_available_data_versions( + 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, + ) -> DataVersionExportDataVersionsDTO: + """Retrieve a list of all data versions + + Retrieve a list of all data versions in the tenant. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_available_data_versions_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportDataVersionsDTO", + } + response_data = self.api_client.call_api( + *_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_available_data_versions_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[DataVersionExportDataVersionsDTO]: + """Retrieve a list of all data versions + + Retrieve a list of all data versions in the tenant. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_available_data_versions_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportDataVersionsDTO", + } + response_data = self.api_client.call_api( + *_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_available_data_versions_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: + """Retrieve a list of all data versions + + Retrieve a list of all data versions in the tenant. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_available_data_versions_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportDataVersionsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_available_data_versions_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/data/data-version-exports/data-versions', + 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_available_exports( + 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, + ) -> DataVersionExportsDTO: + """Retrieve the details of all data version exports + + Retrieve the information for all available data version exports. **Note:** Data version exports are available for 14 days after export job completes. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_available_exports_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportsDTO", + } + response_data = self.api_client.call_api( + *_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_available_exports_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[DataVersionExportsDTO]: + """Retrieve the details of all data version exports + + Retrieve the information for all available data version exports. **Note:** Data version exports are available for 14 days after export job completes. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_available_exports_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportsDTO", + } + response_data = self.api_client.call_api( + *_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_available_exports_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: + """Retrieve the details of all data version exports + + Retrieve the information for all available data version exports. **Note:** Data version exports are available for 14 days after export job completes. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores 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_available_exports_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_available_exports_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]] = {} + _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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/data/data-version-exports/exports', + 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_export( + self, + export_uuid: Annotated[StrictStr, Field(description="The unique identifier of the data version export.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DataVersionExportsDTO: + """Retrieve the details of a data version export. + + Retrieve information for a specific data version export. **Note:** Data version exports are available for 14 days after export job completes. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param export_uuid: The unique identifier of the data version export. (required) + :type export_uuid: 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_export_serialize( + export_uuid=export_uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportsDTO", + } + response_data = self.api_client.call_api( + *_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_export_with_http_info( + self, + export_uuid: Annotated[StrictStr, Field(description="The unique identifier of the data version export.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DataVersionExportsDTO]: + """Retrieve the details of a data version export. + + Retrieve information for a specific data version export. **Note:** Data version exports are available for 14 days after export job completes. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param export_uuid: The unique identifier of the data version export. (required) + :type export_uuid: 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_export_serialize( + export_uuid=export_uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportsDTO", + } + response_data = self.api_client.call_api( + *_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_export_without_preload_content( + self, + export_uuid: Annotated[StrictStr, Field(description="The unique identifier of the data version export.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve the details of a data version export. + + Retrieve information for a specific data version export. **Note:** Data version exports are available for 14 days after export job completes. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param export_uuid: The unique identifier of the data version export. (required) + :type export_uuid: 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_export_serialize( + export_uuid=export_uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportsDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_export_serialize( + self, + export_uuid, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if export_uuid is not None: + _path_params['exportUuid'] = export_uuid + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/data/data-version-exports/exports/{exportUuid}', + 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_export_job_status( + self, + job_uuid: Annotated[StrictStr, Field(description="The unique identifier of the data version export job.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DataVersionExportJobStatusDTO: + """Retrieve a data version export job's status + + Retrieve the status of a data version export job. After the job completes successfully, this endpoint returns an `exportUuid` that you can use to retrieve the export information and download export files. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param job_uuid: The unique identifier of the data version export job. (required) + :type job_uuid: 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_export_job_status_serialize( + job_uuid=job_uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportJobStatusDTO", + } + response_data = self.api_client.call_api( + *_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_export_job_status_with_http_info( + self, + job_uuid: Annotated[StrictStr, Field(description="The unique identifier of the data version export job.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DataVersionExportJobStatusDTO]: + """Retrieve a data version export job's status + + Retrieve the status of a data version export job. After the job completes successfully, this endpoint returns an `exportUuid` that you can use to retrieve the export information and download export files. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param job_uuid: The unique identifier of the data version export job. (required) + :type job_uuid: 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_export_job_status_serialize( + job_uuid=job_uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportJobStatusDTO", + } + response_data = self.api_client.call_api( + *_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_export_job_status_without_preload_content( + self, + job_uuid: Annotated[StrictStr, Field(description="The unique identifier of the data version export job.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Retrieve a data version export job's status + + Retrieve the status of a data version export job. After the job completes successfully, this endpoint returns an `exportUuid` that you can use to retrieve the export information and download export files. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param job_uuid: The unique identifier of the data version export job. (required) + :type job_uuid: 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_export_job_status_serialize( + job_uuid=job_uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportJobStatusDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_export_job_status_serialize( + self, + job_uuid, + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if job_uuid is not None: + _path_params['jobUuid'] = job_uuid + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/data/data-version-exports/jobs/{jobUuid}', + 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 schedule_export_job( + self, + data_version_export_schedule_job_request_dto: DataVersionExportScheduleJobRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> DataVersionExportScheduleJobResponseDTO: + """Schedule a data version export job + + Schedule a data version export job. The job schedules immediately and will begin when resources are available. The response returns a `jobUuid` that you can use to check the export job status. **Note:** There is a limit of 10 export jobs per tenant per day. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param data_version_export_schedule_job_request_dto: (required) + :type data_version_export_schedule_job_request_dto: DataVersionExportScheduleJobRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._schedule_export_job_serialize( + data_version_export_schedule_job_request_dto=data_version_export_schedule_job_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportScheduleJobResponseDTO", + } + response_data = self.api_client.call_api( + *_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 schedule_export_job_with_http_info( + self, + data_version_export_schedule_job_request_dto: DataVersionExportScheduleJobRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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[DataVersionExportScheduleJobResponseDTO]: + """Schedule a data version export job + + Schedule a data version export job. The job schedules immediately and will begin when resources are available. The response returns a `jobUuid` that you can use to check the export job status. **Note:** There is a limit of 10 export jobs per tenant per day. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param data_version_export_schedule_job_request_dto: (required) + :type data_version_export_schedule_job_request_dto: DataVersionExportScheduleJobRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._schedule_export_job_serialize( + data_version_export_schedule_job_request_dto=data_version_export_schedule_job_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportScheduleJobResponseDTO", + } + response_data = self.api_client.call_api( + *_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 schedule_export_job_without_preload_content( + self, + data_version_export_schedule_job_request_dto: DataVersionExportScheduleJobRequestDTO, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[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: + """Schedule a data version export job + + Schedule a data version export job. The job schedules immediately and will begin when resources are available. The response returns a `jobUuid` that you can use to check the export job status. **Note:** There is a limit of 10 export jobs per tenant per day. **Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param data_version_export_schedule_job_request_dto: (required) + :type data_version_export_schedule_job_request_dto: DataVersionExportScheduleJobRequestDTO + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._schedule_export_job_serialize( + data_version_export_schedule_job_request_dto=data_version_export_schedule_job_request_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DataVersionExportScheduleJobResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _schedule_export_job_serialize( + self, + data_version_export_schedule_job_request_dto, + _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]] = {} + _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 data_version_export_schedule_job_request_dto is not None: + _body_params = data_version_export_schedule_job_request_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '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] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1alpha/data/data-version-exports/jobs', + 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/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/search_api.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/search_api.py new file mode 100644 index 000000000..161fcdff9 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/search_api.py @@ -0,0 +1,338 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + 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, StrictInt, StrictStr +from typing import Optional +from typing_extensions import Annotated +from visier.sdk.api.data_out.models.simple_document_header_search_response_dto import SimpleDocumentHeaderSearchResponseDTO + +from visier.sdk.api.data_out.api_client import ApiClient, RequestSerialized +from visier.sdk.api.data_out.api_response import ApiResponse +from visier.sdk.api.data_out.rest import RESTResponseType + + +class SearchApi: + """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 simple_search_document_headers( + self, + q: Annotated[Optional[StrictStr], Field(description="The search query string.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of results to return. Defaults to 100.")] = None, + offset: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. Defaults to 0.")] = 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, + ) -> SimpleDocumentHeaderSearchResponseDTO: + """Perform a simple search for Visier document headers + + Perform a simple search for Visier document headers, such as analysis titles. Simple search doesn't support keywords, Boolean expressions, or any other advanced search features. Example: `GET /v1alpha/search/simple/document-headers?q=My+Query&limit=10` returns the first 10 document headers that best match the query string `My Query`.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param q: The search query string. + :type q: str + :param limit: The maximum number of results to return. Defaults to 100. + :type limit: int + :param offset: The index to start retrieving results from, also known as offset. Defaults to 0. + :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._simple_search_document_headers_serialize( + q=q, + 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': "SimpleDocumentHeaderSearchResponseDTO", + } + response_data = self.api_client.call_api( + *_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 simple_search_document_headers_with_http_info( + self, + q: Annotated[Optional[StrictStr], Field(description="The search query string.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of results to return. Defaults to 100.")] = None, + offset: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. Defaults to 0.")] = 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[SimpleDocumentHeaderSearchResponseDTO]: + """Perform a simple search for Visier document headers + + Perform a simple search for Visier document headers, such as analysis titles. Simple search doesn't support keywords, Boolean expressions, or any other advanced search features. Example: `GET /v1alpha/search/simple/document-headers?q=My+Query&limit=10` returns the first 10 document headers that best match the query string `My Query`.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param q: The search query string. + :type q: str + :param limit: The maximum number of results to return. Defaults to 100. + :type limit: int + :param offset: The index to start retrieving results from, also known as offset. Defaults to 0. + :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._simple_search_document_headers_serialize( + q=q, + 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': "SimpleDocumentHeaderSearchResponseDTO", + } + response_data = self.api_client.call_api( + *_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 simple_search_document_headers_without_preload_content( + self, + q: Annotated[Optional[StrictStr], Field(description="The search query string.")] = None, + limit: Annotated[Optional[StrictInt], Field(description="The maximum number of results to return. Defaults to 100.")] = None, + offset: Annotated[Optional[StrictInt], Field(description="The index to start retrieving results from, also known as offset. Defaults to 0.")] = 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: + """Perform a simple search for Visier document headers + + Perform a simple search for Visier document headers, such as analysis titles. Simple search doesn't support keywords, Boolean expressions, or any other advanced search features. Example: `GET /v1alpha/search/simple/document-headers?q=My+Query&limit=10` returns the first 10 document headers that best match the query string `My Query`.
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param q: The search query string. + :type q: str + :param limit: The maximum number of results to return. Defaults to 100. + :type limit: int + :param offset: The index to start retrieving results from, also known as offset. Defaults to 0. + :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._simple_search_document_headers_serialize( + q=q, + 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': "SimpleDocumentHeaderSearchResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _simple_search_document_headers_serialize( + self, + q, + 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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if q is not None: + + _query_params.append(('q', q)) + + 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/search/simple/document-headers', + 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/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/vee_query_api.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/vee_query_api.py new file mode 100644 index 000000000..d55b3e5f2 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api/vee_query_api.py @@ -0,0 +1,1093 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + 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 StrictBool, StrictStr, field_validator +from typing import List, Optional +from visier.sdk.api.data_out.models.vee_feedback_dto import VeeFeedbackDTO +from visier.sdk.api.data_out.models.vee_response_dto import VeeResponseDTO +from visier.sdk.api.data_out.models.vee_sample_question_library_dto import VeeSampleQuestionLibraryDTO + +from visier.sdk.api.data_out.api_client import ApiClient, RequestSerialized +from visier.sdk.api.data_out.api_response import ApiResponse +from visier.sdk.api.data_out.rest import RESTResponseType + + +class VeeQueryApi: + """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 vee_query_feedback( + self, + question: Optional[StrictStr] = None, + thread_state_question_state: Optional[List[StrictStr]] = None, + options_include_visual: Optional[StrictBool] = None, + options_include_data: Optional[StrictBool] = None, + options_data_format: Optional[StrictStr] = None, + options_include_reworded_question: Optional[StrictBool] = 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, + ) -> VeeFeedbackDTO: + """Submit Vee feedback + + Give Vee feedback on a previous response. POST the `threadState` field returned from `query` endpoint above, along with a positive or negative rating (`isApproved`) and any further information you'd like to provide (`description`).
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). Example: `POST /v1alpha/rest/vee/query-feedback` returns a success or failure: ```json { \"response\": { .. }, \"isApproved\": \"false\", \"description\": \"API testing\" } ``` + + :param question: + :type question: str + :param thread_state_question_state: + :type thread_state_question_state: List[str] + :param options_include_visual: + :type options_include_visual: bool + :param options_include_data: + :type options_include_data: bool + :param options_data_format: + :type options_data_format: str + :param options_include_reworded_question: + :type options_include_reworded_question: 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._vee_query_feedback_serialize( + question=question, + thread_state_question_state=thread_state_question_state, + options_include_visual=options_include_visual, + options_include_data=options_include_data, + options_data_format=options_data_format, + options_include_reworded_question=options_include_reworded_question, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VeeFeedbackDTO", + } + response_data = self.api_client.call_api( + *_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 vee_query_feedback_with_http_info( + self, + question: Optional[StrictStr] = None, + thread_state_question_state: Optional[List[StrictStr]] = None, + options_include_visual: Optional[StrictBool] = None, + options_include_data: Optional[StrictBool] = None, + options_data_format: Optional[StrictStr] = None, + options_include_reworded_question: Optional[StrictBool] = 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[VeeFeedbackDTO]: + """Submit Vee feedback + + Give Vee feedback on a previous response. POST the `threadState` field returned from `query` endpoint above, along with a positive or negative rating (`isApproved`) and any further information you'd like to provide (`description`).
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). Example: `POST /v1alpha/rest/vee/query-feedback` returns a success or failure: ```json { \"response\": { .. }, \"isApproved\": \"false\", \"description\": \"API testing\" } ``` + + :param question: + :type question: str + :param thread_state_question_state: + :type thread_state_question_state: List[str] + :param options_include_visual: + :type options_include_visual: bool + :param options_include_data: + :type options_include_data: bool + :param options_data_format: + :type options_data_format: str + :param options_include_reworded_question: + :type options_include_reworded_question: 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._vee_query_feedback_serialize( + question=question, + thread_state_question_state=thread_state_question_state, + options_include_visual=options_include_visual, + options_include_data=options_include_data, + options_data_format=options_data_format, + options_include_reworded_question=options_include_reworded_question, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VeeFeedbackDTO", + } + response_data = self.api_client.call_api( + *_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 vee_query_feedback_without_preload_content( + self, + question: Optional[StrictStr] = None, + thread_state_question_state: Optional[List[StrictStr]] = None, + options_include_visual: Optional[StrictBool] = None, + options_include_data: Optional[StrictBool] = None, + options_data_format: Optional[StrictStr] = None, + options_include_reworded_question: Optional[StrictBool] = 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: + """Submit Vee feedback + + Give Vee feedback on a previous response. POST the `threadState` field returned from `query` endpoint above, along with a positive or negative rating (`isApproved`) and any further information you'd like to provide (`description`).
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). Example: `POST /v1alpha/rest/vee/query-feedback` returns a success or failure: ```json { \"response\": { .. }, \"isApproved\": \"false\", \"description\": \"API testing\" } ``` + + :param question: + :type question: str + :param thread_state_question_state: + :type thread_state_question_state: List[str] + :param options_include_visual: + :type options_include_visual: bool + :param options_include_data: + :type options_include_data: bool + :param options_data_format: + :type options_data_format: str + :param options_include_reworded_question: + :type options_include_reworded_question: 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._vee_query_feedback_serialize( + question=question, + thread_state_question_state=thread_state_question_state, + options_include_visual=options_include_visual, + options_include_data=options_include_data, + options_data_format=options_data_format, + options_include_reworded_question=options_include_reworded_question, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VeeFeedbackDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _vee_query_feedback_serialize( + self, + question, + thread_state_question_state, + options_include_visual, + options_include_data, + options_data_format, + options_include_reworded_question, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'threadState.questionState': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if question is not None: + + _query_params.append(('question', question)) + + if thread_state_question_state is not None: + + _query_params.append(('threadState.questionState', thread_state_question_state)) + + if options_include_visual is not None: + + _query_params.append(('options.includeVisual', options_include_visual)) + + if options_include_data is not None: + + _query_params.append(('options.includeData', options_include_data)) + + if options_data_format is not None: + + _query_params.append(('options.dataFormat', options_data_format)) + + if options_include_reworded_question is not None: + + _query_params.append(('options.includeRewordedQuestion', options_include_reworded_question)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1alpha/rest/vee/query-feedback', + 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 vee_query_request( + self, + question: Optional[StrictStr] = None, + thread_state_question_state: Optional[List[StrictStr]] = None, + options_include_visual: Optional[StrictBool] = None, + options_include_data: Optional[StrictBool] = None, + options_data_format: Optional[StrictStr] = None, + options_include_reworded_question: Optional[StrictBool] = 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, + ) -> VeeResponseDTO: + """Ask Vee a question + + Use this API to ask Vee a People Analytic question and receive a response. Options `includeData` and `includeVisual` can be set in the request data to receive additional data corresponding to the answer. Example: `POST v1alpha/rest/vee/query` with body data ```json { \"question\": \"who is Adam?\" \"options\": { \"includeVisual\": \"false\", \"includeData\": \"true\" } } ``` returns ```json { \"threadState\": { .. }, \"statusCode\": { \"statusCode\": \"VEE_API_SUCCESS\", \"statusMsg\": \"Successful Vee response for question=who is Adam?\" }, \"narrative\": \"For Adam Mccallum in Apr 2024: Performance Rating is Level 4, and it changed once on Feb 2024, Potential is High, and it changed once on Feb 2023, Email Address is adam.mccallum.d3m@visierinc.com, Compa Ratio is 28.9%, Period Change Direct Compensation is 0.00%, Manager Status is 1, Direct Span of Control is 3, Manager Change Count is 0, Average Overall Experience Score is N/A and Job Name is Operations Director.\", \"queryFunction\": \"Info_Card(filters[Employee.Full_Name = \\\"Adam Mccallum\\\"]);\", \"concepts\": {}, \"data\": { \"dataJson\": \"..\", \"context\": \"{\\\"filters\\\":[],\\\"timeFilter\\\":[\\\"Apr 2024\\\"]}\" }, \"visual\": {}, \"rewordedQuestion\": \"What is the current status and details of Adam Mccallum's employment as of April 2024?\" } ```
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param question: + :type question: str + :param thread_state_question_state: + :type thread_state_question_state: List[str] + :param options_include_visual: + :type options_include_visual: bool + :param options_include_data: + :type options_include_data: bool + :param options_data_format: + :type options_data_format: str + :param options_include_reworded_question: + :type options_include_reworded_question: 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._vee_query_request_serialize( + question=question, + thread_state_question_state=thread_state_question_state, + options_include_visual=options_include_visual, + options_include_data=options_include_data, + options_data_format=options_data_format, + options_include_reworded_question=options_include_reworded_question, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VeeResponseDTO", + } + response_data = self.api_client.call_api( + *_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 vee_query_request_with_http_info( + self, + question: Optional[StrictStr] = None, + thread_state_question_state: Optional[List[StrictStr]] = None, + options_include_visual: Optional[StrictBool] = None, + options_include_data: Optional[StrictBool] = None, + options_data_format: Optional[StrictStr] = None, + options_include_reworded_question: Optional[StrictBool] = 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[VeeResponseDTO]: + """Ask Vee a question + + Use this API to ask Vee a People Analytic question and receive a response. Options `includeData` and `includeVisual` can be set in the request data to receive additional data corresponding to the answer. Example: `POST v1alpha/rest/vee/query` with body data ```json { \"question\": \"who is Adam?\" \"options\": { \"includeVisual\": \"false\", \"includeData\": \"true\" } } ``` returns ```json { \"threadState\": { .. }, \"statusCode\": { \"statusCode\": \"VEE_API_SUCCESS\", \"statusMsg\": \"Successful Vee response for question=who is Adam?\" }, \"narrative\": \"For Adam Mccallum in Apr 2024: Performance Rating is Level 4, and it changed once on Feb 2024, Potential is High, and it changed once on Feb 2023, Email Address is adam.mccallum.d3m@visierinc.com, Compa Ratio is 28.9%, Period Change Direct Compensation is 0.00%, Manager Status is 1, Direct Span of Control is 3, Manager Change Count is 0, Average Overall Experience Score is N/A and Job Name is Operations Director.\", \"queryFunction\": \"Info_Card(filters[Employee.Full_Name = \\\"Adam Mccallum\\\"]);\", \"concepts\": {}, \"data\": { \"dataJson\": \"..\", \"context\": \"{\\\"filters\\\":[],\\\"timeFilter\\\":[\\\"Apr 2024\\\"]}\" }, \"visual\": {}, \"rewordedQuestion\": \"What is the current status and details of Adam Mccallum's employment as of April 2024?\" } ```
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param question: + :type question: str + :param thread_state_question_state: + :type thread_state_question_state: List[str] + :param options_include_visual: + :type options_include_visual: bool + :param options_include_data: + :type options_include_data: bool + :param options_data_format: + :type options_data_format: str + :param options_include_reworded_question: + :type options_include_reworded_question: 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._vee_query_request_serialize( + question=question, + thread_state_question_state=thread_state_question_state, + options_include_visual=options_include_visual, + options_include_data=options_include_data, + options_data_format=options_data_format, + options_include_reworded_question=options_include_reworded_question, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VeeResponseDTO", + } + response_data = self.api_client.call_api( + *_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 vee_query_request_without_preload_content( + self, + question: Optional[StrictStr] = None, + thread_state_question_state: Optional[List[StrictStr]] = None, + options_include_visual: Optional[StrictBool] = None, + options_include_data: Optional[StrictBool] = None, + options_data_format: Optional[StrictStr] = None, + options_include_reworded_question: Optional[StrictBool] = 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: + """Ask Vee a question + + Use this API to ask Vee a People Analytic question and receive a response. Options `includeData` and `includeVisual` can be set in the request data to receive additional data corresponding to the answer. Example: `POST v1alpha/rest/vee/query` with body data ```json { \"question\": \"who is Adam?\" \"options\": { \"includeVisual\": \"false\", \"includeData\": \"true\" } } ``` returns ```json { \"threadState\": { .. }, \"statusCode\": { \"statusCode\": \"VEE_API_SUCCESS\", \"statusMsg\": \"Successful Vee response for question=who is Adam?\" }, \"narrative\": \"For Adam Mccallum in Apr 2024: Performance Rating is Level 4, and it changed once on Feb 2024, Potential is High, and it changed once on Feb 2023, Email Address is adam.mccallum.d3m@visierinc.com, Compa Ratio is 28.9%, Period Change Direct Compensation is 0.00%, Manager Status is 1, Direct Span of Control is 3, Manager Change Count is 0, Average Overall Experience Score is N/A and Job Name is Operations Director.\", \"queryFunction\": \"Info_Card(filters[Employee.Full_Name = \\\"Adam Mccallum\\\"]);\", \"concepts\": {}, \"data\": { \"dataJson\": \"..\", \"context\": \"{\\\"filters\\\":[],\\\"timeFilter\\\":[\\\"Apr 2024\\\"]}\" }, \"visual\": {}, \"rewordedQuestion\": \"What is the current status and details of Adam Mccallum's employment as of April 2024?\" } ```
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param question: + :type question: str + :param thread_state_question_state: + :type thread_state_question_state: List[str] + :param options_include_visual: + :type options_include_visual: bool + :param options_include_data: + :type options_include_data: bool + :param options_data_format: + :type options_data_format: str + :param options_include_reworded_question: + :type options_include_reworded_question: 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._vee_query_request_serialize( + question=question, + thread_state_question_state=thread_state_question_state, + options_include_visual=options_include_visual, + options_include_data=options_include_data, + options_data_format=options_data_format, + options_include_reworded_question=options_include_reworded_question, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VeeResponseDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _vee_query_request_serialize( + self, + question, + thread_state_question_state, + options_include_visual, + options_include_data, + options_data_format, + options_include_reworded_question, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'threadState.questionState': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if question is not None: + + _query_params.append(('question', question)) + + if thread_state_question_state is not None: + + _query_params.append(('threadState.questionState', thread_state_question_state)) + + if options_include_visual is not None: + + _query_params.append(('options.includeVisual', options_include_visual)) + + if options_include_data is not None: + + _query_params.append(('options.includeData', options_include_data)) + + if options_data_format is not None: + + _query_params.append(('options.dataFormat', options_data_format)) + + if options_include_reworded_question is not None: + + _query_params.append(('options.includeRewordedQuestion', options_include_reworded_question)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1alpha/rest/vee/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 + ) + + + + + @validate_call + def vee_sample_questions( + self, + question: Optional[StrictStr] = None, + thread_state_question_state: Optional[List[StrictStr]] = None, + options_include_visual: Optional[StrictBool] = None, + options_include_data: Optional[StrictBool] = None, + options_data_format: Optional[StrictStr] = None, + options_include_reworded_question: Optional[StrictBool] = 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, + ) -> VeeSampleQuestionLibraryDTO: + """Get a list of sample questions + + To get started with Vee, use this API to get a list of sample questions. Example: `GET /v1alpha/rest/vee/sample-questions` returns a string list of questions. ```json questions { \"questions\": \"What is the turnover rate?\" \"metadata\": { \"categories\": \"metricQuestion\"\" } } ```
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param question: + :type question: str + :param thread_state_question_state: + :type thread_state_question_state: List[str] + :param options_include_visual: + :type options_include_visual: bool + :param options_include_data: + :type options_include_data: bool + :param options_data_format: + :type options_data_format: str + :param options_include_reworded_question: + :type options_include_reworded_question: 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._vee_sample_questions_serialize( + question=question, + thread_state_question_state=thread_state_question_state, + options_include_visual=options_include_visual, + options_include_data=options_include_data, + options_data_format=options_data_format, + options_include_reworded_question=options_include_reworded_question, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VeeSampleQuestionLibraryDTO", + } + response_data = self.api_client.call_api( + *_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 vee_sample_questions_with_http_info( + self, + question: Optional[StrictStr] = None, + thread_state_question_state: Optional[List[StrictStr]] = None, + options_include_visual: Optional[StrictBool] = None, + options_include_data: Optional[StrictBool] = None, + options_data_format: Optional[StrictStr] = None, + options_include_reworded_question: Optional[StrictBool] = 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[VeeSampleQuestionLibraryDTO]: + """Get a list of sample questions + + To get started with Vee, use this API to get a list of sample questions. Example: `GET /v1alpha/rest/vee/sample-questions` returns a string list of questions. ```json questions { \"questions\": \"What is the turnover rate?\" \"metadata\": { \"categories\": \"metricQuestion\"\" } } ```
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param question: + :type question: str + :param thread_state_question_state: + :type thread_state_question_state: List[str] + :param options_include_visual: + :type options_include_visual: bool + :param options_include_data: + :type options_include_data: bool + :param options_data_format: + :type options_data_format: str + :param options_include_reworded_question: + :type options_include_reworded_question: 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._vee_sample_questions_serialize( + question=question, + thread_state_question_state=thread_state_question_state, + options_include_visual=options_include_visual, + options_include_data=options_include_data, + options_data_format=options_data_format, + options_include_reworded_question=options_include_reworded_question, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VeeSampleQuestionLibraryDTO", + } + response_data = self.api_client.call_api( + *_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 vee_sample_questions_without_preload_content( + self, + question: Optional[StrictStr] = None, + thread_state_question_state: Optional[List[StrictStr]] = None, + options_include_visual: Optional[StrictBool] = None, + options_include_data: Optional[StrictBool] = None, + options_data_format: Optional[StrictStr] = None, + options_include_reworded_question: Optional[StrictBool] = 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 a list of sample questions + + To get started with Vee, use this API to get a list of sample questions. Example: `GET /v1alpha/rest/vee/sample-questions` returns a string list of questions. ```json questions { \"questions\": \"What is the turnover rate?\" \"metadata\": { \"categories\": \"metricQuestion\"\" } } ```
**Note:** This API is in **alpha**. While in alpha, APIs may change in a breaking way without notice; functionality may be removed, and no deprecation notices will be issued. If you are interested in using this API, please contact your Customer Success Manager (CSM). + + :param question: + :type question: str + :param thread_state_question_state: + :type thread_state_question_state: List[str] + :param options_include_visual: + :type options_include_visual: bool + :param options_include_data: + :type options_include_data: bool + :param options_data_format: + :type options_data_format: str + :param options_include_reworded_question: + :type options_include_reworded_question: 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._vee_sample_questions_serialize( + question=question, + thread_state_question_state=thread_state_question_state, + options_include_visual=options_include_visual, + options_include_data=options_include_data, + options_data_format=options_data_format, + options_include_reworded_question=options_include_reworded_question, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VeeSampleQuestionLibraryDTO", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _vee_sample_questions_serialize( + self, + question, + thread_state_question_state, + options_include_visual, + options_include_data, + options_data_format, + options_include_reworded_question, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'threadState.questionState': 'multi', + } + + _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]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if question is not None: + + _query_params.append(('question', question)) + + if thread_state_question_state is not None: + + _query_params.append(('threadState.questionState', thread_state_question_state)) + + if options_include_visual is not None: + + _query_params.append(('options.includeVisual', options_include_visual)) + + if options_include_data is not None: + + _query_params.append(('options.includeData', options_include_data)) + + if options_data_format is not None: + + _query_params.append(('options.dataFormat', options_data_format)) + + if options_include_reworded_question is not None: + + _query_params.append(('options.includeRewordedQuestion', options_include_reworded_question)) + + # 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( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'CookieAuth', + 'ApiKeyAuth', + 'OAuth2Auth', + 'OAuth2Auth', + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1alpha/rest/vee/sample-questions', + 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/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api_client.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api_client.py new file mode 100644 index 000000000..cc1699002 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api_client.py @@ -0,0 +1,796 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + 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 json +import mimetypes +import os +import re +import tempfile + +from urllib.parse import quote +from typing import Tuple, Optional, List, Dict, Union +from pydantic import SecretStr + +from visier.sdk.api.data_out.configuration import Configuration +from visier.sdk.api.data_out.api_response import ApiResponse, T as ApiResponseT +import visier.sdk.api.data_out.models +from visier.sdk.api.data_out import rest +from visier.sdk.api.data_out.exceptions import ( + ApiValueError, + ApiException, + BadRequestException, + UnauthorizedException, + ForbiddenException, + NotFoundException, + ServiceException +) + +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, + 'object': object, + } + _pool = None + + def __init__( + self, + configuration=None, + header_name=None, + header_value=None, + cookie=None, + auth_retries=2 + ) -> 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 = 'OpenAPI-Generator/0.0.1/python' + self.client_side_validation = configuration.client_side_validation + self.auth_retries = auth_retries + + 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) + ) + + # 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 or self.configuration.ignore_operation_servers: + url = self.configuration.host + 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 + """ + + attempt = 0 + while attempt < self.auth_retries: + # 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 + ) + if response_data.status == 401: + if not self.configuration.refresh_config: + break + attempt += 1 + self.configuration.refresh_config(self.configuration, True) + self.update_params_for_auth(header_params, + post_params, + ['ApiKeyAuth', 'CookieAuth', 'OAuth2Auth'], + None, + None, + None + ) + continue + return response_data + + raise ApiException(f"Request failed after {self.auth_retries} retries") + + 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 = response_data.data + 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 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 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, 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("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(visier.sdk.api.data_out.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 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, 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]]): + """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 + 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, 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 + + for accept in accepts: + if re.search('json', accept, re.IGNORECASE): + return accept + + 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: + config_auth_settings = self.configuration.auth_settings() + for auth in auth_settings: + auth_setting = config_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/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api_response.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/api_response.py new file mode 100644 index 000000000..9bc7c11f6 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/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/src/visier.sdk.api.data_out/visier/sdk/api/data_out/configuration.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/configuration.py new file mode 100644 index 000000000..7e035c0b8 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/configuration.py @@ -0,0 +1,795 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import base64 +import copy +import hashlib +import http.client as httplib +import logging +import multiprocessing +import secrets +import sys +import threading +import time +import webbrowser +from http import HTTPStatus +from logging import FileHandler +from queue import Queue, Empty +from typing import Optional +from urllib.parse import urljoin, quote, urlparse, urlencode +from wsgiref.simple_server import make_server + +import urllib3 +from flask import Flask, request +from pydantic import BaseModel + +from visier.sdk.api.data_out.exceptions import ApiException + +import multiprocessing +import urllib3 + + +JSON_SCHEMA_VALIDATION_KEYWORDS = { + 'multipleOf', 'maximum', 'exclusiveMaximum', + 'minimum', 'exclusiveMinimum', 'maxLength', + 'minLength', 'pattern', 'maxItems', 'minItems' +} + +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: + + API Key Authentication Example. + Given the following security scheme in the OpenAPI specification: + components: + securitySchemes: + cookieAuth: # name for the security scheme + type: apiKey + in: cookie + name: JSESSIONID # cookie name + + You can programmatically set the cookie: + +conf = visier.sdk.api.data_out.Configuration( + api_key={'cookieAuth': 'abc123'} + api_key_prefix={'cookieAuth': 'JSESSIONID'} +) + + The following cookie will be added to the HTTP request: + Cookie: JSESSIONID abc123 + """ + + _default = None + + def __init__(self, + host=None, + api_key=None, + username=None, + password=None, + client_id=None, + client_secret=None, + redirect_uri=None, + vanity=None, + scope=None, + asid_token=None, + access_token=None, + refresh_token=None, + token_expiration_secs=3600, + server_index=None, + server_variables=None, + server_operation_index=None, + server_operation_variables=None, + ignore_operation_servers=False, + ssl_ca_cert=None, + retries=None, + *, + debug: Optional[bool] = None + ) -> None: + """Constructor + """ + self._base_path = "http://localhost" 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 = api_key + """API key is necessary for all types of authentication.""" + + # TODO remove api_key_prefix + self.api_key_prefix = {} + """dict to store API prefix (e.g. Bearer) + """ + self.refresh_config = default_refresh_config + """function hook to refresh config (e.g. asid_token, access_token, refresh_token) + """ + self.username = username + """Username for HTTP basic authentication + """ + self.password = password + """Password for HTTP basic authentication + """ + + # TODO add description + self.token_expiration_secs = token_expiration_secs + self._token_acquired_at = None + + self.client_id = client_id + self.client_secret = client_secret + self.redirect_uri = redirect_uri + self.vanity = vanity + self.scope = scope if scope else 'read' + self.asid_token = asid_token + self.access_token = access_token + """Access token + """ + self.refresh_token = refresh_token + + + self.logger = {} + """Logging Settings + """ + self.logger["package_logger"] = logging.getLogger("visier.sdk.api.data_out") + 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): + 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, value): + object.__setattr__(self, name, value) + + @classmethod + def set_default(cls, default): + """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): + """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): + """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 = Configuration() + return cls._default + + @property + def logger_file(self): + """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): + """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): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value): + """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): + """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): + """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, alias=None): + """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_config is not None: + self.refresh_config(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 + + def get_basic_auth_token(self): + """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): + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + + if self.refresh_config: + self.refresh_config(self, False) + + # Necessary apiKey for all auth types + auth = {'ApiKeyAuth': { + 'type': 'api_key', + 'in': 'header', + 'key': 'apikey', + 'value': self.api_key + }} + + if self.asid_token: + auth['CookieAuth'] = { + 'type': 'api_key', + 'in': 'cookie', + 'key': 'VisierASIDToken', + 'value': f'VisierASIDToken={self.asid_token}' + } + + if self.access_token: + auth['OAuth2Auth'] = { + 'type': 'bearer', + 'in': 'header', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + } + return auth + + def to_debug_report(self): + """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: 0.0.1\n"\ + "SDK Package Version: 0.0.1".\ + format(env=sys.platform, pyversion=sys.version) + + def get_host_settings(self): + """Gets an array of host settings + + :return: An array of host settings + """ + return [ + { + 'url': "", + 'description': "No description provided", + } + ] + + def get_host_from_settings(self, index, variables=None, servers=None): + """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): + """Return generated host.""" + return self.get_host_from_settings(self.server_index, variables=self.server_variables) + + @host.setter + def host(self, value): + """Fix base path.""" + self._base_path = value + self.server_index = None + + @property + def access_token(self): + return self._access_token + + @access_token.setter + def access_token(self, value): + self._access_token = value + self._token_acquired_at = time.time() + + @property + def asid_token(self): + return self._asid_token + + @asid_token.setter + def asid_token(self, value): + self._asid_token = value + self._token_acquired_at = time.time() + + def is_token_expired(self): + # Not using token expiration logic + if self.token_expiration_secs is None: + return False + + # Token has not been acquired yet + if not self._token_acquired_at: + return True + + return time.time() - self._token_acquired_at > self.token_expiration_secs + +# Additional logic to handle authentication +######################################################################################################################## +ACCESS_TOKEN = 'access_token' +API_KEY = "apikey" +AUTHORIZATION_CODE = "authorization_code" +CLIENT_ID = "client_id" +CODE = "code" +CODE_CHALLENGE = "code_challenge" +CODE_CHALLENGE_METHOD = "code_challenge_method" +CODE_VERIFIER = "code_verifier" +GRANT_TYPE = "grant_type" +PASSWORD = "password" +REDIRECT_URI = "redirect_uri" +REFRESH_TOKEN = "refresh_token" +RESPONSE_TYPE = "response_type" +SCOPE = "scope" +USERNAME = "username" + +# Disable werkzeug logging for the callback server +logging.getLogger('werkzeug').disabled = True + +class CallbackServer: + """Callback server that listens for the OAuth2 authorization code""" + + def __init__(self, provided_url: str) -> None: + parsed_uri = urlparse(provided_url) + self.host = parsed_uri.hostname or "localhost" + self.port = parsed_uri.port or 5000 + self.path = parsed_uri.path or "/oauth2/callback" + + self.server = None + self.flask_thread = None + self.app = Flask(__name__) + self.app.route(self.path, methods=["GET"])(self.callback) + self.queue = Queue() + + def callback(self): + """The handler for the OAuth2 callback providing the auth code""" + code = request.args.get(CODE) + self.queue.put(code) + return "

You can now close this window

" + + def start(self): + """Starts the callback server""" + self.server = make_server(self.host, self.port, self.app) + self.flask_thread = threading.Thread(target=self.server.serve_forever) + self.flask_thread.start() + + def stop(self): + """Stops the callback server""" + if self.server: + self.server.shutdown() + self.flask_thread.join() + self.server = None + self.flask_thread = None + + def __enter__(self): + self.start() + return self + + def __exit__(self, ex_type, ex_value, trace_back): + self.stop() + + +class TokenRequestDTO(BaseModel): + grant_type: str + client_id: str + scope: str + username: str = None + password: str = None + code: str = None + code_verifier: str = None + redirect_uri: str = None + refresh_token: str = None + + +class TokenResponseDTO(BaseModel): + access_token: str + refresh_token: str + id_token: str + token_type: str + expires_in: int + + +http = urllib3.PoolManager() + + +def _post_request(url: str, data: dict, additional_headers: dict = None, auth=None): + headers = { + 'Accept': 'application/jsonlines, application/json', + 'User-Agent': 'OpenAPI-python', + 'Content-Type': 'application/x-www-form-urlencoded' + } + if additional_headers: + headers.update(additional_headers) + + if auth: + username, password = auth + auth_header = base64.b64encode(f"{username}:{password}".encode('utf-8')).decode('ascii') + headers['Authorization'] = f'Basic {auth_header}' + + response = http.request( + 'POST', + url, + body=urlencode(data), + headers=headers, + retries=False + ) + if response.status != HTTPStatus.OK: + raise ApiException.from_response(response) + + return response + + +def _connect_asid(config): + url = urljoin(config.host, '/v1/admin/visierSecureToken') + data = { + USERNAME: config.username, + PASSWORD: config.password + } + if config.vanity: + data["vanityName"] = config.vanity + response = _post_request(url=url, data=data) + config.asid_token = response.data.decode(('utf-8')) + + +def _update_access_token(config, token_request: TokenRequestDTO): + url = config.host + "/v1/auth/oauth2/token" + body = token_request.dict() + if config.redirect_uri: + body[REDIRECT_URI] = config.redirect_uri + auth = (config.client_id, quote(config.client_secret, safe='')) + headers = { + API_KEY: config.api_key, + } + + response = _post_request(url=url, data=body, additional_headers=headers, auth=auth) + tokenResponse = TokenResponseDTO(**response.json()) + config.access_token = tokenResponse.access_token + config.refresh_token = tokenResponse.refresh_token + config.token_expiration_secs = tokenResponse.expires_in + + +def _refresh_token(config): + token_request = TokenRequestDTO( + grant_type=REFRESH_TOKEN, + client_id=config.client_id, + scope=config.scope, + refresh_token=config.refresh_token + ) + _update_access_token(config, token_request) + + +def _connect_oauth_password(config): + token_request = TokenRequestDTO( + grant_type=PASSWORD, + client_id=config.client_id, + scope=config.scope, + username=config.username, + password=config.password + ) + _update_access_token(config, token_request) + + +def _connect_oauth_code(config): + """Connect to Visier using (three-legged) OAuth2.""" + code_verifier = secrets.token_urlsafe(64) + code_challenge_digest = hashlib.sha256(code_verifier.encode()).digest() + code_challenge = base64.urlsafe_b64encode(code_challenge_digest).decode().rstrip("=") + + url_prefix = config.host + "/v1/auth/oauth2" + svr = CallbackServer(config.redirect_uri) + query_args = { + API_KEY: config.api_key, + RESPONSE_TYPE: CODE, + CLIENT_ID: config.client_id, + CODE_CHALLENGE_METHOD: "S256", + CODE_CHALLENGE: code_challenge + } + if config.redirect_uri: + query_args[REDIRECT_URI] = config.redirect_uri + + browser_url = f'{url_prefix}/authorize?{urlencode(query_args)}' + webbrowser.open(browser_url) + try: + svr.start() + code = svr.queue.get(block=True, timeout=120) + token_request = TokenRequestDTO( + grant_type=AUTHORIZATION_CODE, + client_id=config.client_id, + scope=config.scope, + code=code, + code_verifier=code_verifier + ) + _update_access_token(config, token_request) + except Empty as empty: + raise ApiException("Timed out waiting for OAuth2 auth code") from empty + finally: + svr.stop() + + +def _connect_oauth(config): + if config.refresh_token: + _refresh_token(config) + elif config.username and config.password: + _connect_oauth_password(config) + else: + _connect_oauth_code(config) + + +def _need_to_connect(config): + if config.client_id and config.client_secret: + return not config.access_token or config.is_token_expired() + + if config.username and config.password: + return not config.asid_token or config.is_token_expired() + + raise ValueError("No valid authentication method found") + + +def default_refresh_config(config, force_refresh: bool = False): + if not force_refresh and not _need_to_connect(config): + return + + if config.client_id and config.client_secret: + _connect_oauth(config) + elif config.username and config.password: + _connect_asid(config) diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/exceptions.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/exceptions.py new file mode 100644 index 000000000..7b78a846f --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/exceptions.py @@ -0,0 +1,199 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + 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) + + 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.reason) + 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 + + +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/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/__init__.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/__init__.py new file mode 100644 index 000000000..1eb279daa --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/__init__.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +# flake8: noqa +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +# import models into model package +from visier.sdk.api.data_out.models.aggregation_query_dto import AggregationQueryDTO +from visier.sdk.api.data_out.models.aggregation_query_execution_dto import AggregationQueryExecutionDTO +from visier.sdk.api.data_out.models.aggregation_query_source_dto import AggregationQuerySourceDTO +from visier.sdk.api.data_out.models.aggregation_query_source_metric_dto import AggregationQuerySourceMetricDTO +from visier.sdk.api.data_out.models.aggregation_query_source_metrics_dto import AggregationQuerySourceMetricsDTO +from visier.sdk.api.data_out.models.aggregation_type_parameter_value_dto import AggregationTypeParameterValueDTO +from visier.sdk.api.data_out.models.cell_dto import CellDTO +from visier.sdk.api.data_out.models.cell_distribution_bin_dto import CellDistributionBinDTO +from visier.sdk.api.data_out.models.cell_distribution_options_dto import CellDistributionOptionsDTO +from visier.sdk.api.data_out.models.cell_set_axis_dto import CellSetAxisDTO +from visier.sdk.api.data_out.models.cell_set_axis_position_dto import CellSetAxisPositionDTO +from visier.sdk.api.data_out.models.cell_set_dto import CellSetDTO +from visier.sdk.api.data_out.models.cohort_filter_dto import CohortFilterDTO +from visier.sdk.api.data_out.models.data_version_export_column_dto import DataVersionExportColumnDTO +from visier.sdk.api.data_out.models.data_version_export_dto import DataVersionExportDTO +from visier.sdk.api.data_out.models.data_version_export_data_version_summary_dto import DataVersionExportDataVersionSummaryDTO +from visier.sdk.api.data_out.models.data_version_export_data_versions_dto import DataVersionExportDataVersionsDTO +from visier.sdk.api.data_out.models.data_version_export_file_dto import DataVersionExportFileDTO +from visier.sdk.api.data_out.models.data_version_export_job_status_dto import DataVersionExportJobStatusDTO +from visier.sdk.api.data_out.models.data_version_export_part_file_dto import DataVersionExportPartFileDTO +from visier.sdk.api.data_out.models.data_version_export_schedule_job_request_dto import DataVersionExportScheduleJobRequestDTO +from visier.sdk.api.data_out.models.data_version_export_schedule_job_response_dto import DataVersionExportScheduleJobResponseDTO +from visier.sdk.api.data_out.models.data_version_export_table_dto import DataVersionExportTableDTO +from visier.sdk.api.data_out.models.data_version_exports_dto import DataVersionExportsDTO +from visier.sdk.api.data_out.models.dimension_member_reference_dto import DimensionMemberReferenceDTO +from visier.sdk.api.data_out.models.dimension_reference_dto import DimensionReferenceDTO +from visier.sdk.api.data_out.models.document_search_link_dto import DocumentSearchLinkDTO +from visier.sdk.api.data_out.models.dv_export_status import DvExportStatus +from visier.sdk.api.data_out.models.google_protobuf_any import GoogleProtobufAny +from visier.sdk.api.data_out.models.internal_query_execution_options_dto import InternalQueryExecutionOptionsDTO +from visier.sdk.api.data_out.models.key_group_filter_dto import KeyGroupFilterDTO +from visier.sdk.api.data_out.models.key_group_filter_item_dto import KeyGroupFilterItemDTO +from visier.sdk.api.data_out.models.lineage_dto import LineageDTO +from visier.sdk.api.data_out.models.list_query_execution_dto import ListQueryExecutionDTO +from visier.sdk.api.data_out.models.list_query_execution_options_dto import ListQueryExecutionOptionsDTO +from visier.sdk.api.data_out.models.list_query_source_dto import ListQuerySourceDTO +from visier.sdk.api.data_out.models.list_response import ListResponse +from visier.sdk.api.data_out.models.member_filter_dto import MemberFilterDTO +from visier.sdk.api.data_out.models.member_parameter_value_dto import MemberParameterValueDTO +from visier.sdk.api.data_out.models.member_values_dto import MemberValuesDTO +from visier.sdk.api.data_out.models.numeric_parameter_value_dto import NumericParameterValueDTO +from visier.sdk.api.data_out.models.plan_parameter_value_dto import PlanParameterValueDTO +from visier.sdk.api.data_out.models.property_column_dto import PropertyColumnDTO +from visier.sdk.api.data_out.models.property_reference_dto import PropertyReferenceDTO +from visier.sdk.api.data_out.models.query_axis_dto import QueryAxisDTO +from visier.sdk.api.data_out.models.query_axis_options_dto import QueryAxisOptionsDTO +from visier.sdk.api.data_out.models.query_clarification_dto import QueryClarificationDTO +from visier.sdk.api.data_out.models.query_dimension_data_member_selection_dto import QueryDimensionDataMemberSelectionDTO +from visier.sdk.api.data_out.models.query_dimension_leaf_selection_dto import QueryDimensionLeafSelectionDTO +from visier.sdk.api.data_out.models.query_dimension_level_selection_dto import QueryDimensionLevelSelectionDTO +from visier.sdk.api.data_out.models.query_dimension_member_selection_dto import QueryDimensionMemberSelectionDTO +from visier.sdk.api.data_out.models.query_execution_options_dto import QueryExecutionOptionsDTO +from visier.sdk.api.data_out.models.query_filter_dto import QueryFilterDTO +from visier.sdk.api.data_out.models.query_member_map_property_dto import QueryMemberMapPropertyDTO +from visier.sdk.api.data_out.models.query_member_map_selection_dto import QueryMemberMapSelectionDTO +from visier.sdk.api.data_out.models.query_numeric_ranges_dto import QueryNumericRangesDTO +from visier.sdk.api.data_out.models.query_parameter_value_dto import QueryParameterValueDTO +from visier.sdk.api.data_out.models.query_property_dto import QueryPropertyDTO +from visier.sdk.api.data_out.models.query_time_interval_dto import QueryTimeIntervalDTO +from visier.sdk.api.data_out.models.query_time_intervals_dto import QueryTimeIntervalsDTO +from visier.sdk.api.data_out.models.selection_concept_reference_dto import SelectionConceptReferenceDTO +from visier.sdk.api.data_out.models.simple_document_header_search_response_dto import SimpleDocumentHeaderSearchResponseDTO +from visier.sdk.api.data_out.models.simple_document_header_search_result_dto import SimpleDocumentHeaderSearchResultDTO +from visier.sdk.api.data_out.models.snapshot_query_execution_dto import SnapshotQueryExecutionDTO +from visier.sdk.api.data_out.models.snapshot_query_execution_options_dto import SnapshotQueryExecutionOptionsDTO +from visier.sdk.api.data_out.models.sort_option_dto import SortOptionDTO +from visier.sdk.api.data_out.models.sql_like_query_execution_dto import SqlLikeQueryExecutionDTO +from visier.sdk.api.data_out.models.status import Status +from visier.sdk.api.data_out.models.time_shift_dto import TimeShiftDTO +from visier.sdk.api.data_out.models.vee_data_dto import VeeDataDTO +from visier.sdk.api.data_out.models.vee_feedback_dto import VeeFeedbackDTO +from visier.sdk.api.data_out.models.vee_query_corrections_dto import VeeQueryCorrectionsDTO +from visier.sdk.api.data_out.models.vee_response_dto import VeeResponseDTO +from visier.sdk.api.data_out.models.vee_response_schema_dto import VeeResponseSchemaDTO +from visier.sdk.api.data_out.models.vee_response_schema_reference_dto import VeeResponseSchemaReferenceDTO +from visier.sdk.api.data_out.models.vee_sample_question_dto import VeeSampleQuestionDTO +from visier.sdk.api.data_out.models.vee_sample_question_library_dto import VeeSampleQuestionLibraryDTO +from visier.sdk.api.data_out.models.vee_sample_question_metadata_dto import VeeSampleQuestionMetadataDTO +from visier.sdk.api.data_out.models.vee_status_code_dto import VeeStatusCodeDTO +from visier.sdk.api.data_out.models.vee_thread_state_dto import VeeThreadStateDTO +from visier.sdk.api.data_out.models.vee_visual_dto import VeeVisualDTO diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_dto.py new file mode 100644 index 000000000..2cead850b --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_dto.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.aggregation_query_source_dto import AggregationQuerySourceDTO +from visier.sdk.api.data_out.models.query_axis_dto import QueryAxisDTO +from visier.sdk.api.data_out.models.query_filter_dto import QueryFilterDTO +from visier.sdk.api.data_out.models.query_parameter_value_dto import QueryParameterValueDTO +from visier.sdk.api.data_out.models.query_time_intervals_dto import QueryTimeIntervalsDTO +from typing import Optional, Set +from typing_extensions import Self + +class AggregationQueryDTO(BaseModel): + """ + An AggregationQuery defines the data to query in an aggregation query and returns a `cell set` calculated from the selected data points. + """ # noqa: E501 + axes: Optional[List[QueryAxisDTO]] = Field(default=None, description="The objects by which to group the query. An axis defines the groups that the data belongs to. Omit `axes` if no grouping is required.") + filters: Optional[List[QueryFilterDTO]] = Field(default=None, description="The objects by which to filter the query, such as dimensions or concepts. A filter defines the population to retrieve data from. Omit `filters` if no filtering is required.") + parameter_values: Optional[List[QueryParameterValueDTO]] = Field(default=None, description="The values associated with parameters, if defined.", alias="parameterValues") + source: Optional[AggregationQuerySourceDTO] = Field(default=None, description="The source data, such as a metric or formula, to query.") + time_intervals: Optional[QueryTimeIntervalsDTO] = Field(default=None, description="The time intervals to query.", alias="timeIntervals") + __properties: ClassVar[List[str]] = ["axes", "filters", "parameterValues", "source", "timeIntervals"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AggregationQueryDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 axes (list) + _items = [] + if self.axes: + for _item in self.axes: + if _item: + _items.append(_item.to_dict()) + _dict['axes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in filters (list) + _items = [] + if self.filters: + for _item in self.filters: + if _item: + _items.append(_item.to_dict()) + _dict['filters'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in parameter_values (list) + _items = [] + if self.parameter_values: + for _item in self.parameter_values: + if _item: + _items.append(_item.to_dict()) + _dict['parameterValues'] = _items + # override the default output from pydantic by calling `to_dict()` of source + if self.source: + _dict['source'] = self.source.to_dict() + # override the default output from pydantic by calling `to_dict()` of time_intervals + if self.time_intervals: + _dict['timeIntervals'] = self.time_intervals.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AggregationQueryDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "axes": [QueryAxisDTO.from_dict(_item) for _item in obj["axes"]] if obj.get("axes") is not None else None, + "filters": [QueryFilterDTO.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None, + "parameterValues": [QueryParameterValueDTO.from_dict(_item) for _item in obj["parameterValues"]] if obj.get("parameterValues") is not None else None, + "source": AggregationQuerySourceDTO.from_dict(obj["source"]) if obj.get("source") is not None else None, + "timeIntervals": QueryTimeIntervalsDTO.from_dict(obj["timeIntervals"]) if obj.get("timeIntervals") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_execution_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_execution_dto.py new file mode 100644 index 000000000..e17dfcb1b --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_execution_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.aggregation_query_dto import AggregationQueryDTO +from visier.sdk.api.data_out.models.query_execution_options_dto import QueryExecutionOptionsDTO +from typing import Optional, Set +from typing_extensions import Self + +class AggregationQueryExecutionDTO(BaseModel): + """ + An AggregationQueryExecution provides instructions to perform your aggregation query. + """ # noqa: E501 + options: Optional[QueryExecutionOptionsDTO] = Field(default=None, description="Additional instructions for your query, such as a calendar type or conversion information.") + query: Optional[AggregationQueryDTO] = Field(default=None, description="The data to perform an aggregation on, such as a metric or formula. The query must include a time interval, and may optionally include filters and axes.") + __properties: ClassVar[List[str]] = ["options", "query"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AggregationQueryExecutionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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() + # override the default output from pydantic by calling `to_dict()` of query + if self.query: + _dict['query'] = self.query.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AggregationQueryExecutionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "options": QueryExecutionOptionsDTO.from_dict(obj["options"]) if obj.get("options") is not None else None, + "query": AggregationQueryDTO.from_dict(obj["query"]) if obj.get("query") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_source_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_source_dto.py new file mode 100644 index 000000000..b1d1f8787 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_source_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.aggregation_query_source_metrics_dto import AggregationQuerySourceMetricsDTO +from typing import Optional, Set +from typing_extensions import Self + +class AggregationQuerySourceDTO(BaseModel): + """ + An AggregationQuerySource defines the source data to query in an aggregation query. + """ # noqa: E501 + formula: Optional[StrictStr] = Field(default=None, description="An ad-hoc metric formula. The response returns the results of the aggregate. See the formula dictionary in Visier to find functions and objects you can use in a formula.") + metric: Optional[StrictStr] = Field(default=None, description="The ID of an existing metric in your Visier solution. See `Metrics` to get the ID.") + metrics: Optional[AggregationQuerySourceMetricsDTO] = Field(default=None, description="The IDs of metrics to aggregate. All metrics in the query must reference the same analytic object. For example, you cannot query Headcount and Applicant Count because one uses the Employee subject and the other uses the Applicant subject. You can query Headcount and Employee Count for Women because both reference the Employee subject. Only available when the Accept header is text/csv. For more information, see `Aggregate`.") + __properties: ClassVar[List[str]] = ["formula", "metric", "metrics"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AggregationQuerySourceDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 metrics + if self.metrics: + _dict['metrics'] = self.metrics.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AggregationQuerySourceDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "formula": obj.get("formula"), + "metric": obj.get("metric"), + "metrics": AggregationQuerySourceMetricsDTO.from_dict(obj["metrics"]) if obj.get("metrics") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_source_metric_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_source_metric_dto.py new file mode 100644 index 000000000..349047d13 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_source_metric_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 AggregationQuerySourceMetricDTO(BaseModel): + """ + The column definition for a single metric within a `metrics` query. + """ # noqa: E501 + column_name: Optional[StrictStr] = Field(default=None, description="The column name in the CSV file. Default is to use id as the column name.", alias="columnName") + formula: Optional[StrictStr] = Field(default=None, description="An ad-hoc metric formula. The response returns the results of the aggregate. See the formula dictionary in Visier to find functions and objects you can use in a formula.") + id: Optional[StrictStr] = Field(default=None, description="The unique ID of the metric. Note: See `Metrics` to get the ID. If columnName is omitted, id is the column name in the CSV file.") + qualifying_path: Optional[StrictStr] = Field(default=None, description="The base qualifying path to prefix the axes and filters' qualifying paths with. You must specify the qualifying path on a metric if the convergent analytic object of the metric doesn't match the starting object in the qualifying paths of the axes and filters. For example, consider a multi-metric query that contains metrics that count the number of applicants and requisitions, grouped by the country of the recruiter's direct manager. The following sample shows how to use qualifyingPath to specify the object reference traversal path from each metric's convergent analytic object to the start of the path for the axes. In this example, there is only one convergent analytic object. ``` \"source\": { \"metrics\": { \"columns\": [ { \"id\": \"employeeCount\" }, { \"id\": \"applicantCount\", \"qualifyingPath\": \"Applicant.Requisition.Recruiter\" }, { \"id\": \"requisitionCount\", \"qualifyingPath\": \"Requisition.Recruiter\" } ] } }, \"axes\": [ { \"dimensionLevelSelection\": { \"dimension\": { \"name\": \"Location\", \"qualifyingPath\": \"Employee.Direct_Manager\" }, \"levelIds\": [ \"Location_1\" ] } } ] ``` **Note:** * `employeeCount` doesn't need a `qualifyingPath` because it's already convergent with the start of the axis path. * The metrics' qualifying paths must provide the reference name that resolves to the first object of the axis' qualifying path as their last path segment. In this case, Recruiter is a named reference pointing to Employee. The final qualifying paths for the metrics are: * `employeeCount`: Employee.Direct_Manager * `applicantCount`: Applicant.Requisition.Recruiter.Direct_Manager * `requisitionCount`: Requisition.Recruiter.Direct_Manager", alias="qualifyingPath") + __properties: ClassVar[List[str]] = ["columnName", "formula", "id", "qualifyingPath"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AggregationQuerySourceMetricDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 AggregationQuerySourceMetricDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "columnName": obj.get("columnName"), + "formula": obj.get("formula"), + "id": obj.get("id"), + "qualifyingPath": obj.get("qualifyingPath") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_source_metrics_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_source_metrics_dto.py new file mode 100644 index 000000000..b521a42e5 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_query_source_metrics_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.aggregation_query_source_metric_dto import AggregationQuerySourceMetricDTO +from typing import Optional, Set +from typing_extensions import Self + +class AggregationQuerySourceMetricsDTO(BaseModel): + """ + The IDs and column names of multiple metrics. **Note:** Only available when the `Accept` header is text/csv. For more information, see `Aggregate` + """ # noqa: E501 + columns: Optional[List[AggregationQuerySourceMetricDTO]] = Field(default=None, description="An array of metric columns.") + __properties: ClassVar[List[str]] = ["columns"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AggregationQuerySourceMetricsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 columns (list) + _items = [] + if self.columns: + for _item in self.columns: + if _item: + _items.append(_item.to_dict()) + _dict['columns'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AggregationQuerySourceMetricsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "columns": [AggregationQuerySourceMetricDTO.from_dict(_item) for _item in obj["columns"]] if obj.get("columns") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_type_parameter_value_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_type_parameter_value_dto.py new file mode 100644 index 000000000..258aa1105 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/aggregation_type_parameter_value_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 AggregationTypeParameterValueDTO(BaseModel): + """ + The value for an aggregation parameter. + """ # noqa: E501 + aggregation_option_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the aggregation option.", alias="aggregationOptionId") + parameter_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the aggregation parameter.", alias="parameterId") + __properties: ClassVar[List[str]] = ["aggregationOptionId", "parameterId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AggregationTypeParameterValueDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 AggregationTypeParameterValueDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "aggregationOptionId": obj.get("aggregationOptionId"), + "parameterId": obj.get("parameterId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_distribution_bin_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_distribution_bin_dto.py new file mode 100644 index 000000000..81a09a0f1 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_distribution_bin_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 CellDistributionBinDTO(BaseModel): + """ + A cell distribution bin. Each bin has a metric value (of the bin) and the number of observations contributing to the bin. + """ # noqa: E501 + support: Optional[StrictStr] = None + value: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["support", "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 CellDistributionBinDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 CellDistributionBinDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "support": obj.get("support"), + "value": obj.get("value") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_distribution_options_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_distribution_options_dto.py new file mode 100644 index 000000000..779ed91c3 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_distribution_options_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CellDistributionOptionsDTO(BaseModel): + """ + Cell distribution options for queries. Include with aggregation queries to enable distribution calculation per cell. + """ # noqa: E501 + bin_count: Optional[StrictInt] = Field(default=None, description="The number of bins to return, minimum of 2, and a maximum of 100.", alias="binCount") + __properties: ClassVar[List[str]] = ["binCount"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CellDistributionOptionsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 CellDistributionOptionsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "binCount": obj.get("binCount") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_dto.py new file mode 100644 index 000000000..0cc29528e --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.cell_distribution_bin_dto import CellDistributionBinDTO +from typing import Optional, Set +from typing_extensions import Self + +class CellDTO(BaseModel): + """ + An individual value in a cell set. + """ # noqa: E501 + coordinates: Optional[List[StrictInt]] = Field(default=None, description="A list of integers representing the coordinates of this cell, identifying its position along each axis.") + distribution: Optional[List[CellDistributionBinDTO]] = Field(default=None, description="The optional distribution of this cell. This will be populated if distribution calculation is requested, and supported by the query.") + support: Optional[StrictStr] = Field(default=None, description="The number of data points contributing to this cell.") + value: Optional[StrictStr] = Field(default=None, description="The value of the cell.") + __properties: ClassVar[List[str]] = ["coordinates", "distribution", "support", "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 CellDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 distribution (list) + _items = [] + if self.distribution: + for _item in self.distribution: + if _item: + _items.append(_item.to_dict()) + _dict['distribution'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CellDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "coordinates": obj.get("coordinates"), + "distribution": [CellDistributionBinDTO.from_dict(_item) for _item in obj["distribution"]] if obj.get("distribution") is not None else None, + "support": obj.get("support"), + "value": obj.get("value") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_set_axis_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_set_axis_dto.py new file mode 100644 index 000000000..8b9828425 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_set_axis_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.cell_set_axis_position_dto import CellSetAxisPositionDTO +from visier.sdk.api.data_out.models.dimension_reference_dto import DimensionReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class CellSetAxisDTO(BaseModel): + """ + The axis of a cell set associated with a dimension. + """ # noqa: E501 + dimension: Optional[DimensionReferenceDTO] = Field(default=None, description="The dimension associated with the axis.") + positions: Optional[List[CellSetAxisPositionDTO]] = Field(default=None, description="A list of paths that represent the data's positions along the axis.") + __properties: ClassVar[List[str]] = ["dimension", "positions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CellSetAxisDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dimension + if self.dimension: + _dict['dimension'] = self.dimension.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in positions (list) + _items = [] + if self.positions: + for _item in self.positions: + if _item: + _items.append(_item.to_dict()) + _dict['positions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CellSetAxisDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimension": DimensionReferenceDTO.from_dict(obj["dimension"]) if obj.get("dimension") is not None else None, + "positions": [CellSetAxisPositionDTO.from_dict(_item) for _item in obj["positions"]] if obj.get("positions") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_set_axis_position_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_set_axis_position_dto.py new file mode 100644 index 000000000..b9d470803 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_set_axis_position_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 CellSetAxisPositionDTO(BaseModel): + """ + The position along the axis of a cell set. + """ # noqa: E501 + display_name: Optional[StrictStr] = Field(default=None, description="The display name of the position. This is optional and is omitted if unavailable or not requested.", alias="displayName") + display_name_path: Optional[List[StrictStr]] = Field(default=None, description="Optional display name path of the member.", alias="displayNamePath") + path: Optional[List[StrictStr]] = Field(default=None, description="A list of strings representing the members within a dimension path. For example, a dimension for Location may have the paths \"Canada, BC, Vancouver\" and \"US, California, San Francisco\".") + __properties: ClassVar[List[str]] = ["displayName", "displayNamePath", "path"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CellSetAxisPositionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 CellSetAxisPositionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "displayName": obj.get("displayName"), + "displayNamePath": obj.get("displayNamePath"), + "path": obj.get("path") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_set_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_set_dto.py new file mode 100644 index 000000000..e300b5bcb --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cell_set_dto.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.cell_dto import CellDTO +from visier.sdk.api.data_out.models.cell_set_axis_dto import CellSetAxisDTO +from typing import Optional, Set +from typing_extensions import Self + +class CellSetDTO(BaseModel): + """ + The set of cells returned from executing an aggregation query. A CellSet represents a structured, multidimensional array of values. + """ # noqa: E501 + axes: Optional[List[CellSetAxisDTO]] = Field(default=None, description="The set of axes for the cell set that represent the objects the data is grouped by.") + cells: Optional[List[CellDTO]] = Field(default=None, description="The set of cells that represent the result of your query.") + lineage: Optional[LineageDTO] = Field(default=None, description="Lineage information for this cell set. This can be omitted if the cell has no lineage or the user did not request lineage information.") + __properties: ClassVar[List[str]] = ["axes", "cells", "lineage"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CellSetDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 axes (list) + _items = [] + if self.axes: + for _item in self.axes: + if _item: + _items.append(_item.to_dict()) + _dict['axes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in cells (list) + _items = [] + if self.cells: + for _item in self.cells: + if _item: + _items.append(_item.to_dict()) + _dict['cells'] = _items + # override the default output from pydantic by calling `to_dict()` of lineage + if self.lineage: + _dict['lineage'] = self.lineage.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CellSetDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "axes": [CellSetAxisDTO.from_dict(_item) for _item in obj["axes"]] if obj.get("axes") is not None else None, + "cells": [CellDTO.from_dict(_item) for _item in obj["cells"]] if obj.get("cells") is not None else None, + "lineage": LineageDTO.from_dict(obj["lineage"]) if obj.get("lineage") is not None else None + }) + return _obj + +from visier.sdk.api.data_out.models.lineage_dto import LineageDTO +# TODO: Rewrite to not use raise_errors +CellSetDTO.model_rebuild(raise_errors=False) + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cohort_filter_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cohort_filter_dto.py new file mode 100644 index 000000000..8b4271765 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/cohort_filter_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.key_group_filter_dto import KeyGroupFilterDTO +from visier.sdk.api.data_out.models.query_time_interval_dto import QueryTimeIntervalDTO +from typing import Optional, Set +from typing_extensions import Self + +class CohortFilterDTO(BaseModel): + """ + Use a cohort filter to define a population as it existed during a specific time period. Cohort filters allow you to define a population in terms of a collection of filters, known as a key group. The cohort's defined time interval is independent of the query's time. The cohort's time interval is the time at which the key group should be applied. Cohorts are typically used to follow populations and understand changes to the population over time, such as promotion and resignation rates. + """ # noqa: E501 + exclude: Optional[StrictBool] = Field(default=None, description="If true, the population is defined by those excluded by the filters. Default is false.") + key_group: Optional[KeyGroupFilterDTO] = Field(default=None, description="A key group is a collection of filters that define the shape of the analysis population.", alias="keyGroup") + time_interval: Optional[QueryTimeIntervalDTO] = Field(default=None, description="The time at which to apply the key group, such as a specific day or period of months.", alias="timeInterval") + __properties: ClassVar[List[str]] = ["exclude", "keyGroup", "timeInterval"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CohortFilterDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 key_group + if self.key_group: + _dict['keyGroup'] = self.key_group.to_dict() + # override the default output from pydantic by calling `to_dict()` of time_interval + if self.time_interval: + _dict['timeInterval'] = self.time_interval.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CohortFilterDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "exclude": obj.get("exclude"), + "keyGroup": KeyGroupFilterDTO.from_dict(obj["keyGroup"]) if obj.get("keyGroup") is not None else None, + "timeInterval": QueryTimeIntervalDTO.from_dict(obj["timeInterval"]) if obj.get("timeInterval") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_column_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_column_dto.py new file mode 100644 index 000000000..ccdac6c4f --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_column_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataVersionExportColumnDTO(BaseModel): + """ + DataVersionExportColumnDTO + """ # noqa: E501 + allows_null: Optional[StrictBool] = Field(default=None, description="If `true`, the column allows null values.", alias="allowsNull") + data_type: Optional[StrictStr] = Field(default=None, description="The column's data type. Possible data types are string, integer, number, date, Boolean.", alias="dataType") + is_primary_key_component: Optional[StrictBool] = Field(default=None, description="If `true`, the column is part of the primary key.", alias="isPrimaryKeyComponent") + name: Optional[StrictStr] = Field(default=None, description="The column's name.") + __properties: ClassVar[List[str]] = ["allowsNull", "dataType", "isPrimaryKeyComponent", "name"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataVersionExportColumnDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataVersionExportColumnDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "allowsNull": obj.get("allowsNull"), + "dataType": obj.get("dataType"), + "isPrimaryKeyComponent": obj.get("isPrimaryKeyComponent"), + "name": obj.get("name") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_data_version_summary_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_data_version_summary_dto.py new file mode 100644 index 000000000..4553ae1c3 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_data_version_summary_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataVersionExportDataVersionSummaryDTO(BaseModel): + """ + DataVersionExportDataVersionSummaryDTO + """ # noqa: E501 + created: Optional[StrictStr] = Field(default=None, description="The date that the data version was generated, in milliseconds since 1970-01-01T00:00:00Z.") + data_category: Optional[StrictStr] = Field(default=None, description="The data category that the data version belongs to. If empty, the data version belongs to the default data category.", alias="dataCategory") + data_version: Optional[StrictStr] = Field(default=None, description="The data version number.", alias="dataVersion") + __properties: ClassVar[List[str]] = ["created", "dataCategory", "dataVersion"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataVersionExportDataVersionSummaryDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataVersionExportDataVersionSummaryDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "created": obj.get("created"), + "dataCategory": obj.get("dataCategory"), + "dataVersion": obj.get("dataVersion") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_data_versions_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_data_versions_dto.py new file mode 100644 index 000000000..bc9acf4d0 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_data_versions_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.data_version_export_data_version_summary_dto import DataVersionExportDataVersionSummaryDTO +from typing import Optional, Set +from typing_extensions import Self + +class DataVersionExportDataVersionsDTO(BaseModel): + """ + DataVersionExportDataVersionsDTO + """ # noqa: E501 + data_versions: Optional[List[DataVersionExportDataVersionSummaryDTO]] = Field(default=None, description="All the available data versions for the tenant's primary data category.", alias="dataVersions") + __properties: ClassVar[List[str]] = ["dataVersions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataVersionExportDataVersionsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 data_versions (list) + _items = [] + if self.data_versions: + for _item in self.data_versions: + if _item: + _items.append(_item.to_dict()) + _dict['dataVersions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataVersionExportDataVersionsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataVersions": [DataVersionExportDataVersionSummaryDTO.from_dict(_item) for _item in obj["dataVersions"]] if obj.get("dataVersions") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_dto.py new file mode 100644 index 000000000..e6c2048dd --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_dto.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.data_version_export_table_dto import DataVersionExportTableDTO +from typing import Optional, Set +from typing_extensions import Self + +class DataVersionExportDTO(BaseModel): + """ + DataVersionExportDTO + """ # noqa: E501 + base_data_version_number: Optional[StrictStr] = Field(default=None, description="The baseline data version number for which the export was generated. If specified, the export is a delta of the differences between `dateVersionNumber` and `baseDataVersionNumber`. If empty, a full export is generated for `dataVersionNumber`.", alias="baseDataVersionNumber") + data_version_number: Optional[StrictStr] = Field(default=None, description="The data version number for which the export was generated.", alias="dataVersionNumber") + deleted_tables: Optional[List[StrictStr]] = Field(default=None, description="Tables that do not exist in `dataVersionNumber` but did exist in `baseDataVersionNumber`.", alias="deletedTables") + new_tables: Optional[List[StrictStr]] = Field(default=None, description="Tables that exist in `dataVersionNumber` but did not exist in `baseDataVersionNumber`.", alias="newTables") + tables: Optional[List[DataVersionExportTableDTO]] = Field(default=None, description="Information about the tables in the export.") + timestamp: Optional[StrictStr] = Field(default=None, description="The date that the data version export was generated, in milliseconds since 1970-01-01T00:00:00Z.") + uuid: Optional[StrictStr] = Field(default=None, description="The unique identifier of the data version export. Must be a valid UUID.") + __properties: ClassVar[List[str]] = ["baseDataVersionNumber", "dataVersionNumber", "deletedTables", "newTables", "tables", "timestamp", "uuid"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataVersionExportDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 tables (list) + _items = [] + if self.tables: + for _item in self.tables: + if _item: + _items.append(_item.to_dict()) + _dict['tables'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataVersionExportDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "baseDataVersionNumber": obj.get("baseDataVersionNumber"), + "dataVersionNumber": obj.get("dataVersionNumber"), + "deletedTables": obj.get("deletedTables"), + "newTables": obj.get("newTables"), + "tables": [DataVersionExportTableDTO.from_dict(_item) for _item in obj["tables"]] if obj.get("tables") is not None else None, + "timestamp": obj.get("timestamp"), + "uuid": obj.get("uuid") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_file_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_file_dto.py new file mode 100644 index 000000000..b4b5e8f41 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_file_dto.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.data_version_export_column_dto import DataVersionExportColumnDTO +from visier.sdk.api.data_out.models.data_version_export_part_file_dto import DataVersionExportPartFileDTO +from typing import Optional, Set +from typing_extensions import Self + +class DataVersionExportFileDTO(BaseModel): + """ + DataVersionExportFileDTO + """ # noqa: E501 + columns: Optional[List[DataVersionExportColumnDTO]] = Field(default=None, description="Information about a table's columns.") + files: Optional[List[DataVersionExportPartFileDTO]] = Field(default=None, description="Information about a table's files in the export.") + __properties: ClassVar[List[str]] = ["columns", "files"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataVersionExportFileDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 columns (list) + _items = [] + if self.columns: + for _item in self.columns: + if _item: + _items.append(_item.to_dict()) + _dict['columns'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in files (list) + _items = [] + if self.files: + for _item in self.files: + if _item: + _items.append(_item.to_dict()) + _dict['files'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataVersionExportFileDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "columns": [DataVersionExportColumnDTO.from_dict(_item) for _item in obj["columns"]] if obj.get("columns") is not None else None, + "files": [DataVersionExportPartFileDTO.from_dict(_item) for _item in obj["files"]] if obj.get("files") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_job_status_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_job_status_dto.py new file mode 100644 index 000000000..36a7b3b25 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_job_status_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataVersionExportJobStatusDTO(BaseModel): + """ + DataVersionExportJobStatusDTO + """ # noqa: E501 + completed: Optional[StrictBool] = Field(default=None, description="If `true`, the job completed successfully.") + export_uuid: Optional[StrictStr] = Field(default=None, description="The unique identifier of the data version export generated by the job. If empty, the job hasn't completed successfully.", alias="exportUuid") + failed: Optional[StrictBool] = Field(default=None, description="If `true`, the job failed.") + job_uuid: Optional[StrictStr] = Field(default=None, description="The unique identifier of the data version export job.", alias="jobUuid") + __properties: ClassVar[List[str]] = ["completed", "exportUuid", "failed", "jobUuid"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataVersionExportJobStatusDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataVersionExportJobStatusDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "completed": obj.get("completed"), + "exportUuid": obj.get("exportUuid"), + "failed": obj.get("failed"), + "jobUuid": obj.get("jobUuid") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_part_file_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_part_file_dto.py new file mode 100644 index 000000000..a2dc45185 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_part_file_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataVersionExportPartFileDTO(BaseModel): + """ + DataVersionExportPartFileDTO + """ # noqa: E501 + file_id: Optional[StrictInt] = Field(default=None, description="The unique integer identifier of the file in the data version export.", alias="fileId") + filename: Optional[StrictStr] = Field(default=None, description="The file's name.") + __properties: ClassVar[List[str]] = ["fileId", "filename"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataVersionExportPartFileDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataVersionExportPartFileDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "fileId": obj.get("fileId"), + "filename": obj.get("filename") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_schedule_job_request_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_schedule_job_request_dto.py new file mode 100644 index 000000000..b6e3b19f5 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_schedule_job_request_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataVersionExportScheduleJobRequestDTO(BaseModel): + """ + DataVersionExportScheduleJobRequestDTO + """ # noqa: E501 + base_data_version_number: Optional[StrictStr] = Field(default=None, description="Optional. The baseline data version number to use to generate a delta export. Delta exports contain the differences between `baseDataVersionNumber` and `dataVersionNumber`, such as anything updated, added, or removed in `dataVersionNumber`. If `baseDataVersionNumber` is not provided, a full export generates for `dataVersionNumber`.", alias="baseDataVersionNumber") + data_version_number: Optional[StrictStr] = Field(default=None, description="The data version number to generate an export for.", alias="dataVersionNumber") + __properties: ClassVar[List[str]] = ["baseDataVersionNumber", "dataVersionNumber"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataVersionExportScheduleJobRequestDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataVersionExportScheduleJobRequestDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "baseDataVersionNumber": obj.get("baseDataVersionNumber"), + "dataVersionNumber": obj.get("dataVersionNumber") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_schedule_job_response_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_schedule_job_response_dto.py new file mode 100644 index 000000000..4c31ecaae --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_schedule_job_response_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DataVersionExportScheduleJobResponseDTO(BaseModel): + """ + DataVersionExportScheduleJobResponseDTO + """ # noqa: E501 + job_uuid: Optional[StrictStr] = Field(default=None, description="The unique identifier of the scheduled data version export job.", alias="jobUuid") + __properties: ClassVar[List[str]] = ["jobUuid"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataVersionExportScheduleJobResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DataVersionExportScheduleJobResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "jobUuid": obj.get("jobUuid") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_table_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_table_dto.py new file mode 100644 index 000000000..4a7250428 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_export_table_dto.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.data_version_export_file_dto import DataVersionExportFileDTO +from typing import Optional, Set +from typing_extensions import Self + +class DataVersionExportTableDTO(BaseModel): + """ + DataVersionExportTableDTO + """ # noqa: E501 + common_columns: Optional[DataVersionExportFileDTO] = Field(default=None, description="Information about the columns and files that are in both `dataVersionNumber` and `baseDataVersionNumber`. Always empty for full exports where `baseDataVersionNumber` is not specified.", alias="commonColumns") + deleted_columns: Optional[List[StrictStr]] = Field(default=None, description="Information about columns that do not exist in `dataVersionNumber` but did exist in `baseDataVersionNumber`.", alias="deletedColumns") + name: Optional[StrictStr] = Field(default=None, description="The name of a table in the data version export; for example, Employee or Applicant.") + new_columns: Optional[DataVersionExportFileDTO] = Field(default=None, description="Information about new columns and files in the data version. If full export, lists all columns. If delta export, lists columns that exist in `dataVersionNumber` but not in `baseDataVersionNumber`.", alias="newColumns") + __properties: ClassVar[List[str]] = ["commonColumns", "deletedColumns", "name", "newColumns"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataVersionExportTableDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 common_columns + if self.common_columns: + _dict['commonColumns'] = self.common_columns.to_dict() + # override the default output from pydantic by calling `to_dict()` of new_columns + if self.new_columns: + _dict['newColumns'] = self.new_columns.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataVersionExportTableDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "commonColumns": DataVersionExportFileDTO.from_dict(obj["commonColumns"]) if obj.get("commonColumns") is not None else None, + "deletedColumns": obj.get("deletedColumns"), + "name": obj.get("name"), + "newColumns": DataVersionExportFileDTO.from_dict(obj["newColumns"]) if obj.get("newColumns") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_exports_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_exports_dto.py new file mode 100644 index 000000000..18a2fa4c4 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/data_version_exports_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.data_version_export_dto import DataVersionExportDTO +from typing import Optional, Set +from typing_extensions import Self + +class DataVersionExportsDTO(BaseModel): + """ + DataVersionExportsDTO + """ # noqa: E501 + data_version_exports: Optional[List[DataVersionExportDTO]] = Field(default=None, description="Information about data version exports.", alias="dataVersionExports") + __properties: ClassVar[List[str]] = ["dataVersionExports"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataVersionExportsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 data_version_exports (list) + _items = [] + if self.data_version_exports: + for _item in self.data_version_exports: + if _item: + _items.append(_item.to_dict()) + _dict['dataVersionExports'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataVersionExportsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dataVersionExports": [DataVersionExportDTO.from_dict(_item) for _item in obj["dataVersionExports"]] if obj.get("dataVersionExports") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/dimension_member_reference_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/dimension_member_reference_dto.py new file mode 100644 index 000000000..cf8143dd1 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/dimension_member_reference_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DimensionMemberReferenceDTO(BaseModel): + """ + The members of a dimension. + """ # noqa: E501 + path: Optional[List[StrictStr]] = Field(default=None, description="A list of strings representing the members within a dimension path. For example, a dimension for Location may have the paths \"Canada, BC, Vancouver\" and \"US, California, San Francisco\".") + __properties: ClassVar[List[str]] = ["path"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DimensionMemberReferenceDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DimensionMemberReferenceDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "path": obj.get("path") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/dimension_reference_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/dimension_reference_dto.py new file mode 100644 index 000000000..c07e0c362 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/dimension_reference_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DimensionReferenceDTO(BaseModel): + """ + The name and qualifying path of a dimension to query. + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="The ID of the dimension. See `Dimensions` to get the ID.") + qualifying_path: Optional[StrictStr] = Field(default=None, description="The qualifying path to the dimension in Visier, such as the analytic object or event the dimension is associated with. If the path has multiple objects, each object is separated by a period.", alias="qualifyingPath") + __properties: ClassVar[List[str]] = ["name", "qualifyingPath"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DimensionReferenceDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DimensionReferenceDTO 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"), + "qualifyingPath": obj.get("qualifyingPath") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/document_search_link_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/document_search_link_dto.py new file mode 100644 index 000000000..d1e085aa7 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/document_search_link_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DocumentSearchLinkDTO(BaseModel): + """ + Defines the attributes of a web request to reference documents in the search results. + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="The URL pointing to the specific document.") + verb: Optional[StrictStr] = Field(default=None, description="The verb to use when formulating the web request. This is commonly `GET`.") + __properties: ClassVar[List[str]] = ["href", "verb"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DocumentSearchLinkDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DocumentSearchLinkDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "href": obj.get("href"), + "verb": obj.get("verb") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/dv_export_status.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/dv_export_status.py new file mode 100644 index 000000000..f7afe68a4 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/dv_export_status.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 DvExportStatus(BaseModel): + """ + The response structure for errors. + """ # noqa: E501 + error_code: Optional[StrictStr] = Field(default=None, description="Error classification.", alias="errorCode") + localized_message: Optional[StrictStr] = Field(default=None, description="Localized error message describing the root cause of the error.", alias="localizedMessage") + message: Optional[StrictStr] = Field(default=None, description="Not used.") + rci: Optional[StrictStr] = Field(default=None, description="Optional root cause identifier.") + user_error: Optional[StrictBool] = Field(default=None, description="Indicates whether the error is a user error.", alias="userError") + __properties: ClassVar[List[str]] = ["errorCode", "localizedMessage", "message", "rci", "userError"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DvExportStatus from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 DvExportStatus from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "errorCode": obj.get("errorCode"), + "localizedMessage": obj.get("localizedMessage"), + "message": obj.get("message"), + "rci": obj.get("rci"), + "userError": obj.get("userError") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/google_protobuf_any.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/google_protobuf_any.py new file mode 100644 index 000000000..fd941d2a2 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/google_protobuf_any.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 GoogleProtobufAny(BaseModel): + """ + Contains an arbitrary serialized message along with a @type that describes the type of the serialized message. + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, description="The type of the serialized message.", alias="@type") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["@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 GoogleProtobufAny from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GoogleProtobufAny 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") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/internal_query_execution_options_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/internal_query_execution_options_dto.py new file mode 100644 index 000000000..1e4f71e05 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/internal_query_execution_options_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 InternalQueryExecutionOptionsDTO(BaseModel): + """ + Internal options - not to be documented or used by external parties + """ # noqa: E501 + align_time_axis_to_period_end: Optional[StrictBool] = Field(default=None, description="If true, shifts the time axis members back by one millisecond. Shifting the time axis members back by one millisecond makes them valid at the end of the period instead of at the start of the next period. This aligns the returned data timestamps with the timestamps in the Visier application. Example: If the timestamps are originally [`2019-06-01T00:00:00.000Z`, `2019-05-01T00:00:00.000Z`], then `alignTimeAxisPeriodEnd` turns the timestamps into [`2019-05-31T23:59:59.999Z`, `2019-04-30T23:59:59.999Z`]. Example: If the timestamps are originally [`2019-05-01T00:00:00.000Z/2019-06-01T00:00:00.000Z`, `2019-04-01T00:00:00.000Z/2019-05-01T00:00:00.000Z`], then `alignTimeAxisPeriodEnd` turns the timestamps into [`2019-05-01T00:00:00.000Z/2019-05-31T23:59:59.999Z`, `2019-04-01T00:00:00.000Z/2019-04-30T23:59:59.999Z`].", alias="alignTimeAxisToPeriodEnd") + sparse_handling_mode: Optional[StrictStr] = Field(default=None, alias="sparseHandlingMode") + __properties: ClassVar[List[str]] = ["alignTimeAxisToPeriodEnd", "sparseHandlingMode"] + + @field_validator('sparse_handling_mode') + def sparse_handling_mode_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['ALLOW', 'DISALLOW', 'FORCE']): + raise ValueError("must be one of enum values ('ALLOW', 'DISALLOW', 'FORCE')") + 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 InternalQueryExecutionOptionsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 InternalQueryExecutionOptionsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "alignTimeAxisToPeriodEnd": obj.get("alignTimeAxisToPeriodEnd"), + "sparseHandlingMode": obj.get("sparseHandlingMode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/key_group_filter_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/key_group_filter_dto.py new file mode 100644 index 000000000..715381431 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/key_group_filter_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.key_group_filter_item_dto import KeyGroupFilterItemDTO +from typing import Optional, Set +from typing_extensions import Self + +class KeyGroupFilterDTO(BaseModel): + """ + A collection of related filters that define a key group. + """ # noqa: E501 + filters: Optional[List[KeyGroupFilterItemDTO]] = None + __properties: ClassVar[List[str]] = ["filters"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KeyGroupFilterDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 filters (list) + _items = [] + if self.filters: + for _item in self.filters: + if _item: + _items.append(_item.to_dict()) + _dict['filters'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KeyGroupFilterDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "filters": [KeyGroupFilterItemDTO.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/key_group_filter_item_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/key_group_filter_item_dto.py new file mode 100644 index 000000000..c39e1d6de --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/key_group_filter_item_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.member_filter_dto import MemberFilterDTO +from visier.sdk.api.data_out.models.selection_concept_reference_dto import SelectionConceptReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class KeyGroupFilterItemDTO(BaseModel): + """ + An individual filter in a key group. + """ # noqa: E501 + formula: Optional[StrictStr] = Field(default=None, description="A filter expressed as a formula.") + member_set: Optional[MemberFilterDTO] = Field(default=None, description="A filter that includes or excludes dimension members.", alias="memberSet") + selection_concept: Optional[SelectionConceptReferenceDTO] = Field(default=None, description="A filter that uses an existing selection concept in Visier.", alias="selectionConcept") + __properties: ClassVar[List[str]] = ["formula", "memberSet", "selectionConcept"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KeyGroupFilterItemDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 member_set + if self.member_set: + _dict['memberSet'] = self.member_set.to_dict() + # override the default output from pydantic by calling `to_dict()` of selection_concept + if self.selection_concept: + _dict['selectionConcept'] = self.selection_concept.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KeyGroupFilterItemDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "formula": obj.get("formula"), + "memberSet": MemberFilterDTO.from_dict(obj["memberSet"]) if obj.get("memberSet") is not None else None, + "selectionConcept": SelectionConceptReferenceDTO.from_dict(obj["selectionConcept"]) if obj.get("selectionConcept") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/lineage_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/lineage_dto.py new file mode 100644 index 000000000..8465c75b4 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/lineage_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 LineageDTO(BaseModel): + """ + Lineage information for a given cell set. This describes how a cell set is created from other cell sets. + """ # noqa: E501 + cell_sets: Optional[List[CellSetDTO]] = Field(default=None, description="The cell sets that constitute this lineage.", alias="cellSets") + op: Optional[StrictStr] = Field(default=None, description="The operation used to combine the cell sets of this lineage.") + __properties: ClassVar[List[str]] = ["cellSets", "op"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LineageDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 cell_sets (list) + _items = [] + if self.cell_sets: + for _item in self.cell_sets: + if _item: + _items.append(_item.to_dict()) + _dict['cellSets'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LineageDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "cellSets": [CellSetDTO.from_dict(_item) for _item in obj["cellSets"]] if obj.get("cellSets") is not None else None, + "op": obj.get("op") + }) + return _obj + +from visier.sdk.api.data_out.models.cell_set_dto import CellSetDTO +# TODO: Rewrite to not use raise_errors +LineageDTO.model_rebuild(raise_errors=False) + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_query_execution_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_query_execution_dto.py new file mode 100644 index 000000000..fa9cdd64f --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_query_execution_dto.py @@ -0,0 +1,143 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.list_query_execution_options_dto import ListQueryExecutionOptionsDTO +from visier.sdk.api.data_out.models.list_query_source_dto import ListQuerySourceDTO +from visier.sdk.api.data_out.models.property_column_dto import PropertyColumnDTO +from visier.sdk.api.data_out.models.query_filter_dto import QueryFilterDTO +from visier.sdk.api.data_out.models.query_parameter_value_dto import QueryParameterValueDTO +from visier.sdk.api.data_out.models.query_time_interval_dto import QueryTimeIntervalDTO +from visier.sdk.api.data_out.models.sort_option_dto import SortOptionDTO +from typing import Optional, Set +from typing_extensions import Self + +class ListQueryExecutionDTO(BaseModel): + """ + A ListQueryExecution provides instructions to perform a list query. + """ # noqa: E501 + columns: Optional[List[PropertyColumnDTO]] = Field(default=None, description="The columns to include in the result. This must contain at least one column.") + filters: Optional[List[QueryFilterDTO]] = Field(default=None, description="The filters of this query. Omit `filters` if no filtering is required.") + options: Optional[ListQueryExecutionOptionsDTO] = Field(default=None, description="Additional instructions for your query, such as a calendar type or conversion information.") + parameter_values: Optional[List[QueryParameterValueDTO]] = Field(default=None, description="The parameter values for either member or numeric parameters.", alias="parameterValues") + sort_options: Optional[List[SortOptionDTO]] = Field(default=None, description="The index and direction to sort a column in the `columns` array.", alias="sortOptions") + source: Optional[ListQuerySourceDTO] = Field(default=None, description="The source data that you want to query.") + time_interval: Optional[QueryTimeIntervalDTO] = Field(default=None, description="The time that the data is valid, such as a specific day or period of months.", alias="timeInterval") + __properties: ClassVar[List[str]] = ["columns", "filters", "options", "parameterValues", "sortOptions", "source", "timeInterval"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListQueryExecutionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 columns (list) + _items = [] + if self.columns: + for _item in self.columns: + if _item: + _items.append(_item.to_dict()) + _dict['columns'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in filters (list) + _items = [] + if self.filters: + for _item in self.filters: + if _item: + _items.append(_item.to_dict()) + _dict['filters'] = _items + # override the default output from pydantic by calling `to_dict()` of options + if self.options: + _dict['options'] = self.options.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in parameter_values (list) + _items = [] + if self.parameter_values: + for _item in self.parameter_values: + if _item: + _items.append(_item.to_dict()) + _dict['parameterValues'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in sort_options (list) + _items = [] + if self.sort_options: + for _item in self.sort_options: + if _item: + _items.append(_item.to_dict()) + _dict['sortOptions'] = _items + # override the default output from pydantic by calling `to_dict()` of source + if self.source: + _dict['source'] = self.source.to_dict() + # override the default output from pydantic by calling `to_dict()` of time_interval + if self.time_interval: + _dict['timeInterval'] = self.time_interval.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListQueryExecutionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "columns": [PropertyColumnDTO.from_dict(_item) for _item in obj["columns"]] if obj.get("columns") is not None else None, + "filters": [QueryFilterDTO.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None, + "options": ListQueryExecutionOptionsDTO.from_dict(obj["options"]) if obj.get("options") is not None else None, + "parameterValues": [QueryParameterValueDTO.from_dict(_item) for _item in obj["parameterValues"]] if obj.get("parameterValues") is not None else None, + "sortOptions": [SortOptionDTO.from_dict(_item) for _item in obj["sortOptions"]] if obj.get("sortOptions") is not None else None, + "source": ListQuerySourceDTO.from_dict(obj["source"]) if obj.get("source") is not None else None, + "timeInterval": QueryTimeIntervalDTO.from_dict(obj["timeInterval"]) if obj.get("timeInterval") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_query_execution_options_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_query_execution_options_dto.py new file mode 100644 index 000000000..257eddf0a --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_query_execution_options_dto.py @@ -0,0 +1,157 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ListQueryExecutionOptionsDTO(BaseModel): + """ + A ListQueryExecutionOptions provides additional instructions to perform a list query. + """ # noqa: E501 + calendar_type: Optional[StrictStr] = Field(default=None, description="The calendar type to use. This will be used for all time calculations unless explicitly overridden in the calculation itself. Default is TENANT_CALENDAR.", alias="calendarType") + currency_conversion_code: Optional[StrictStr] = Field(default=None, description="The optional target currency for all currency conversions. If not specified, the tenant default currency will be used.", alias="currencyConversionCode") + currency_conversion_date: Optional[StrictStr] = Field(default=None, description="The currency conversion date to use. If defined, the currency conversion will use the exchange rates as of this date.", alias="currencyConversionDate") + currency_conversion_mode: Optional[StrictStr] = Field(default=None, description="The currency conversion mode to use. This will be used for all currency conversion calculations unless explicitly overridden in the calculation itself. Default is TENANT_CURRENCY_CONVERSION.", alias="currencyConversionMode") + date_time_display_mode: Optional[StrictStr] = Field(default=None, description="Control how date-time values are displayed in the result set. Supported values: * `EPOCH`: The number of elapsed milliseconds since January 1, 1970 in UTC timezone. This is the default. * `DATETIME`: The date-time value displayed in `yyyy-MM-dd HH:mm:ssZZ` format.", alias="dateTimeDisplayMode") + limit: Optional[StrictInt] = Field(default=None, description="The maximum number of entries to return. Default is to return all entries. If `page` is defined but limit is not defined, limit will be set to a default value of 1000.") + multiple_tables: Optional[StrictBool] = Field(default=None, description="Option to return multiple table files as zipped archive for derived metrics. Default is false. If false, one table is returned for the drill-through metric.", alias="multipleTables") + omit_header: Optional[StrictBool] = Field(default=None, description="Option to omit the header from the result. If true, queryMode must be either FILL or FAIL. Default is false.", alias="omitHeader") + page: Optional[StrictInt] = Field(default=None, description="A page defines a subset of the overall result set. The number of rows per page is equal to limit with the exception of the last page in the result set which may contain fewer rows. `Page` is an index that begins at 0. The index to start retrieving results is calculated by multiplying `page` by `limit`.") + query_mode: Optional[StrictStr] = Field(default=None, description="Determines how the query should handle column definitions that the query is unable to resolve. Default is DEFAULT.", alias="queryMode") + record_mode: Optional[StrictStr] = Field(default=None, description="Influences the type of records used to build the result set, such as whether to return one record per entity that is valid in the provided time range or each change record falls in the time frame.", alias="recordMode") + __properties: ClassVar[List[str]] = ["calendarType", "currencyConversionCode", "currencyConversionDate", "currencyConversionMode", "dateTimeDisplayMode", "limit", "multipleTables", "omitHeader", "page", "queryMode", "recordMode"] + + @field_validator('calendar_type') + def calendar_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['TENANT_CALENDAR', 'GREGORIAN_CALENDAR']): + raise ValueError("must be one of enum values ('TENANT_CALENDAR', 'GREGORIAN_CALENDAR')") + return value + + @field_validator('currency_conversion_mode') + def currency_conversion_mode_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['TENANT_CURRENCY_CONVERSION', 'VISIER_CURRENCY_CONVERSION']): + raise ValueError("must be one of enum values ('TENANT_CURRENCY_CONVERSION', 'VISIER_CURRENCY_CONVERSION')") + return value + + @field_validator('date_time_display_mode') + def date_time_display_mode_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['EPOCH', 'DATETIME']): + raise ValueError("must be one of enum values ('EPOCH', 'DATETIME')") + return value + + @field_validator('query_mode') + def query_mode_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['DEFAULT', 'FILL', 'FAIL']): + raise ValueError("must be one of enum values ('DEFAULT', 'FILL', 'FAIL')") + return value + + @field_validator('record_mode') + def record_mode_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['NORMAL', 'CHANGES']): + raise ValueError("must be one of enum values ('NORMAL', 'CHANGES')") + 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 ListQueryExecutionOptionsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ListQueryExecutionOptionsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "calendarType": obj.get("calendarType"), + "currencyConversionCode": obj.get("currencyConversionCode"), + "currencyConversionDate": obj.get("currencyConversionDate"), + "currencyConversionMode": obj.get("currencyConversionMode"), + "dateTimeDisplayMode": obj.get("dateTimeDisplayMode"), + "limit": obj.get("limit"), + "multipleTables": obj.get("multipleTables"), + "omitHeader": obj.get("omitHeader"), + "page": obj.get("page"), + "queryMode": obj.get("queryMode"), + "recordMode": obj.get("recordMode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_query_source_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_query_source_dto.py new file mode 100644 index 000000000..8d71d2115 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_query_source_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 ListQuerySourceDTO(BaseModel): + """ + A ListQuerySource defines the source data to query in a list query. + """ # noqa: E501 + analytic_object: Optional[StrictStr] = Field(default=None, description="The ID of an existing analytic object in your Visier solution. An analytic object source cannot have filters or time handling.", alias="analyticObject") + formula: Optional[StrictStr] = Field(default=None, description="An ad-hoc metric formula. The response returns the individual data points that make up the aggregate.") + metric: Optional[StrictStr] = Field(default=None, description="The ID of an existing metric in your Visier solution.") + __properties: ClassVar[List[str]] = ["analyticObject", "formula", "metric"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListQuerySourceDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 ListQuerySourceDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "analyticObject": obj.get("analyticObject"), + "formula": obj.get("formula"), + "metric": obj.get("metric") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_response.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_response.py new file mode 100644 index 000000000..fbb7e9d3f --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/list_response.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.google_protobuf_any import GoogleProtobufAny +from typing import Optional, Set +from typing_extensions import Self + +class ListResponse(BaseModel): + """ + ListResponse + """ # noqa: E501 + header: Optional[GoogleProtobufAny] = None + rows: Optional[List[GoogleProtobufAny]] = None + __properties: ClassVar[List[str]] = ["header", "rows"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListResponse from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 header + if self.header: + _dict['header'] = self.header.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in rows (list) + _items = [] + if self.rows: + for _item in self.rows: + if _item: + _items.append(_item.to_dict()) + _dict['rows'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "header": GoogleProtobufAny.from_dict(obj["header"]) if obj.get("header") is not None else None, + "rows": [GoogleProtobufAny.from_dict(_item) for _item in obj["rows"]] if obj.get("rows") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/member_filter_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/member_filter_dto.py new file mode 100644 index 000000000..2b0061375 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/member_filter_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.dimension_reference_dto import DimensionReferenceDTO +from visier.sdk.api.data_out.models.member_values_dto import MemberValuesDTO +from typing import Optional, Set +from typing_extensions import Self + +class MemberFilterDTO(BaseModel): + """ + Member filters are dimension member values to filter by in your query. The member filters are defined within the filters section of a query definition. You can filter by dimension members in aggregate and list queries. + """ # noqa: E501 + dimension: Optional[DimensionReferenceDTO] = Field(default=None, description="The dimension in which the members belong.") + values: Optional[MemberValuesDTO] = Field(default=None, description="The dimension members to filter by.") + __properties: ClassVar[List[str]] = ["dimension", "values"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MemberFilterDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dimension + if self.dimension: + _dict['dimension'] = self.dimension.to_dict() + # override the default output from pydantic by calling `to_dict()` of values + if self.values: + _dict['values'] = self.values.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MemberFilterDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimension": DimensionReferenceDTO.from_dict(obj["dimension"]) if obj.get("dimension") is not None else None, + "values": MemberValuesDTO.from_dict(obj["values"]) if obj.get("values") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/member_parameter_value_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/member_parameter_value_dto.py new file mode 100644 index 000000000..9c556a996 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/member_parameter_value_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.member_values_dto import MemberValuesDTO +from typing import Optional, Set +from typing_extensions import Self + +class MemberParameterValueDTO(BaseModel): + """ + The member value of a parameter, including the parameter ID, dimension that the parameter is based on, and the included and excluded members for the parameter. + """ # noqa: E501 + dimension_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the dimension on which the parameter is based.", alias="dimensionId") + parameter_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the member parameter qualified by the object.", alias="parameterId") + reference_path: Optional[List[StrictStr]] = Field(default=None, description="The analytic object reference path from the metric to the dimension.", alias="referencePath") + values: Optional[MemberValuesDTO] = Field(default=None, description="The included and excluded member references in a dimension filter.") + __properties: ClassVar[List[str]] = ["dimensionId", "parameterId", "referencePath", "values"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MemberParameterValueDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 values + if self.values: + _dict['values'] = self.values.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MemberParameterValueDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimensionId": obj.get("dimensionId"), + "parameterId": obj.get("parameterId"), + "referencePath": obj.get("referencePath"), + "values": MemberValuesDTO.from_dict(obj["values"]) if obj.get("values") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/member_values_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/member_values_dto.py new file mode 100644 index 000000000..39753055f --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/member_values_dto.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.dimension_member_reference_dto import DimensionMemberReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class MemberValuesDTO(BaseModel): + """ + Member filter values are discrete member references in a dimension filter. You can define included and excluded members simultaneously. This is typically done with filtering applied on dimensions with multiple levels. For example, a Location parameter may include “South America” and exclude “Brazil” which results in the metric being evaluated for all South American countries except Brazil. + """ # noqa: E501 + excluded: Optional[List[DimensionMemberReferenceDTO]] = Field(default=None, description="The unique IDs of members to exclude when evaluating the metric.") + included: Optional[List[DimensionMemberReferenceDTO]] = Field(default=None, description="The unique IDs of members to include when evaluating the metric.") + __properties: ClassVar[List[str]] = ["excluded", "included"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MemberValuesDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 excluded (list) + _items = [] + if self.excluded: + for _item in self.excluded: + if _item: + _items.append(_item.to_dict()) + _dict['excluded'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in included (list) + _items = [] + if self.included: + for _item in self.included: + if _item: + _items.append(_item.to_dict()) + _dict['included'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MemberValuesDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "excluded": [DimensionMemberReferenceDTO.from_dict(_item) for _item in obj["excluded"]] if obj.get("excluded") is not None else None, + "included": [DimensionMemberReferenceDTO.from_dict(_item) for _item in obj["included"]] if obj.get("included") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/numeric_parameter_value_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/numeric_parameter_value_dto.py new file mode 100644 index 000000000..59ef71941 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/numeric_parameter_value_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class NumericParameterValueDTO(BaseModel): + """ + The value of a numeric parameter, including the parameter ID and the numeric value passed into the parameter. + """ # noqa: E501 + parameter_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the numeric parameter qualified by the object.", alias="parameterId") + value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The numeric value of the parameter.") + __properties: ClassVar[List[str]] = ["parameterId", "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 NumericParameterValueDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 NumericParameterValueDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "parameterId": obj.get("parameterId"), + "value": obj.get("value") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/plan_parameter_value_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/plan_parameter_value_dto.py new file mode 100644 index 000000000..cfb12b6a4 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/plan_parameter_value_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PlanParameterValueDTO(BaseModel): + """ + The value for a parameter on a planning metric, including the parameter ID and the plan the parameter is based on. + """ # noqa: E501 + parameter_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the plan parameter qualified by the object.", alias="parameterId") + plan_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the plan the parameter is based on.", alias="planId") + scenario_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the scenario the parameter is based on.", alias="scenarioId") + snapshot_id: Optional[StrictStr] = Field(default=None, description="The unique ID of the snapshot the parameter is based on.", alias="snapshotId") + __properties: ClassVar[List[str]] = ["parameterId", "planId", "scenarioId", "snapshotId"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PlanParameterValueDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PlanParameterValueDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "parameterId": obj.get("parameterId"), + "planId": obj.get("planId"), + "scenarioId": obj.get("scenarioId"), + "snapshotId": obj.get("snapshotId") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/property_column_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/property_column_dto.py new file mode 100644 index 000000000..639157069 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/property_column_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.query_property_dto import QueryPropertyDTO +from typing import Optional, Set +from typing_extensions import Self + +class PropertyColumnDTO(BaseModel): + """ + A named, result column of a list query. + """ # noqa: E501 + column_definition: Optional[QueryPropertyDTO] = Field(default=None, description="The definition of the property to query on.", alias="columnDefinition") + column_name: Optional[StrictStr] = Field(default=None, description="The name of the column. This is optional. If not specified, the name of the property is used, or a generic column name if the property is unnamed.", alias="columnName") + __properties: ClassVar[List[str]] = ["columnDefinition", "columnName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PropertyColumnDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 column_definition + if self.column_definition: + _dict['columnDefinition'] = self.column_definition.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PropertyColumnDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "columnDefinition": QueryPropertyDTO.from_dict(obj["columnDefinition"]) if obj.get("columnDefinition") is not None else None, + "columnName": obj.get("columnName") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/property_reference_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/property_reference_dto.py new file mode 100644 index 000000000..543d25e18 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/property_reference_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 PropertyReferenceDTO(BaseModel): + """ + The name and qualifying path of a property to query. + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="The ID of the property. See `Properties` to get the ID.") + qualifying_path: Optional[StrictStr] = Field(default=None, description="The qualifying path to the property in Visier, such as the analytic object or event the property is associated with. If the path has multiple objects, each object is separated by a period.", alias="qualifyingPath") + __properties: ClassVar[List[str]] = ["name", "qualifyingPath"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PropertyReferenceDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 PropertyReferenceDTO 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"), + "qualifyingPath": obj.get("qualifyingPath") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_axis_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_axis_dto.py new file mode 100644 index 000000000..be8ce08b9 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_axis_dto.py @@ -0,0 +1,140 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.query_axis_options_dto import QueryAxisOptionsDTO +from visier.sdk.api.data_out.models.query_dimension_data_member_selection_dto import QueryDimensionDataMemberSelectionDTO +from visier.sdk.api.data_out.models.query_dimension_leaf_selection_dto import QueryDimensionLeafSelectionDTO +from visier.sdk.api.data_out.models.query_dimension_level_selection_dto import QueryDimensionLevelSelectionDTO +from visier.sdk.api.data_out.models.query_dimension_member_selection_dto import QueryDimensionMemberSelectionDTO +from visier.sdk.api.data_out.models.query_member_map_selection_dto import QueryMemberMapSelectionDTO +from visier.sdk.api.data_out.models.query_numeric_ranges_dto import QueryNumericRangesDTO +from visier.sdk.api.data_out.models.selection_concept_reference_dto import SelectionConceptReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryAxisDTO(BaseModel): + """ + An axis of a query used to group data points. + """ # noqa: E501 + dimension_data_member_selection: Optional[QueryDimensionDataMemberSelectionDTO] = Field(default=None, description="An axis comprised of all leaf, including data, members of an existing dimension in Visier.", alias="dimensionDataMemberSelection") + dimension_leaf_member_selection: Optional[QueryDimensionLeafSelectionDTO] = Field(default=None, description="An axis comprised of all non-data leaf members of an existing dimension in Visier.", alias="dimensionLeafMemberSelection") + dimension_level_selection: Optional[QueryDimensionLevelSelectionDTO] = Field(default=None, description="An axis that uses levels of existing dimensions in Visier.", alias="dimensionLevelSelection") + dimension_level_with_uncategorized_value_selection: Optional[QueryDimensionLevelSelectionDTO] = Field(default=None, description="An axis that uses existing dimension levels in Visier, including uncategorized levels.", alias="dimensionLevelWithUncategorizedValueSelection") + dimension_member_selection: Optional[QueryDimensionMemberSelectionDTO] = Field(default=None, description="An axis that uses existing dimension members in Visier.", alias="dimensionMemberSelection") + formula: Optional[StrictStr] = Field(default=None, description="An axis expressed as a formula.") + member_map_selection: Optional[QueryMemberMapSelectionDTO] = Field(default=None, description="An axis that uses an existing member map in Visier.", alias="memberMapSelection") + numeric_ranges: Optional[QueryNumericRangesDTO] = Field(default=None, description="An axis that uses an existing range dimension in Visier and defines the ranges to query.", alias="numericRanges") + selection_concept: Optional[SelectionConceptReferenceDTO] = Field(default=None, description="An axis that uses an existing selection concept in Visier. The resulting axis consists of 3 positions: True, False, and Unknown.", alias="selectionConcept") + table_axis_options: Optional[QueryAxisOptionsDTO] = Field(default=None, description="Additional transformations to perform on this axis. Only available when the Accept header is a table format, such as text/csv or application/jsonlines.", alias="tableAxisOptions") + __properties: ClassVar[List[str]] = ["dimensionDataMemberSelection", "dimensionLeafMemberSelection", "dimensionLevelSelection", "dimensionLevelWithUncategorizedValueSelection", "dimensionMemberSelection", "formula", "memberMapSelection", "numericRanges", "selectionConcept", "tableAxisOptions"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryAxisDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dimension_data_member_selection + if self.dimension_data_member_selection: + _dict['dimensionDataMemberSelection'] = self.dimension_data_member_selection.to_dict() + # override the default output from pydantic by calling `to_dict()` of dimension_leaf_member_selection + if self.dimension_leaf_member_selection: + _dict['dimensionLeafMemberSelection'] = self.dimension_leaf_member_selection.to_dict() + # override the default output from pydantic by calling `to_dict()` of dimension_level_selection + if self.dimension_level_selection: + _dict['dimensionLevelSelection'] = self.dimension_level_selection.to_dict() + # override the default output from pydantic by calling `to_dict()` of dimension_level_with_uncategorized_value_selection + if self.dimension_level_with_uncategorized_value_selection: + _dict['dimensionLevelWithUncategorizedValueSelection'] = self.dimension_level_with_uncategorized_value_selection.to_dict() + # override the default output from pydantic by calling `to_dict()` of dimension_member_selection + if self.dimension_member_selection: + _dict['dimensionMemberSelection'] = self.dimension_member_selection.to_dict() + # override the default output from pydantic by calling `to_dict()` of member_map_selection + if self.member_map_selection: + _dict['memberMapSelection'] = self.member_map_selection.to_dict() + # override the default output from pydantic by calling `to_dict()` of numeric_ranges + if self.numeric_ranges: + _dict['numericRanges'] = self.numeric_ranges.to_dict() + # override the default output from pydantic by calling `to_dict()` of selection_concept + if self.selection_concept: + _dict['selectionConcept'] = self.selection_concept.to_dict() + # override the default output from pydantic by calling `to_dict()` of table_axis_options + if self.table_axis_options: + _dict['tableAxisOptions'] = self.table_axis_options.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryAxisDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimensionDataMemberSelection": QueryDimensionDataMemberSelectionDTO.from_dict(obj["dimensionDataMemberSelection"]) if obj.get("dimensionDataMemberSelection") is not None else None, + "dimensionLeafMemberSelection": QueryDimensionLeafSelectionDTO.from_dict(obj["dimensionLeafMemberSelection"]) if obj.get("dimensionLeafMemberSelection") is not None else None, + "dimensionLevelSelection": QueryDimensionLevelSelectionDTO.from_dict(obj["dimensionLevelSelection"]) if obj.get("dimensionLevelSelection") is not None else None, + "dimensionLevelWithUncategorizedValueSelection": QueryDimensionLevelSelectionDTO.from_dict(obj["dimensionLevelWithUncategorizedValueSelection"]) if obj.get("dimensionLevelWithUncategorizedValueSelection") is not None else None, + "dimensionMemberSelection": QueryDimensionMemberSelectionDTO.from_dict(obj["dimensionMemberSelection"]) if obj.get("dimensionMemberSelection") is not None else None, + "formula": obj.get("formula"), + "memberMapSelection": QueryMemberMapSelectionDTO.from_dict(obj["memberMapSelection"]) if obj.get("memberMapSelection") is not None else None, + "numericRanges": QueryNumericRangesDTO.from_dict(obj["numericRanges"]) if obj.get("numericRanges") is not None else None, + "selectionConcept": SelectionConceptReferenceDTO.from_dict(obj["selectionConcept"]) if obj.get("selectionConcept") is not None else None, + "tableAxisOptions": QueryAxisOptionsDTO.from_dict(obj["tableAxisOptions"]) if obj.get("tableAxisOptions") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_axis_options_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_axis_options_dto.py new file mode 100644 index 000000000..8d68b9550 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_axis_options_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 QueryAxisOptionsDTO(BaseModel): + """ + QueryAxisOptions allows you to customize an axis in the query, such as changing the display mode for its cell set values or providing a custom column name. Only available when the Accept header is a table format, such as text/csv or application/jsonlines. + """ # noqa: E501 + column_name: Optional[StrictStr] = Field(default=None, description="If specified, returns the column name of the axis in the response.", alias="columnName") + member_display_mode: Optional[StrictStr] = Field(default=None, description="Options to override the display mode for the axis. This overrides the query-level `memberDisplayMode` options value in the query. Only available for non-time axes. Use the QueryAxisMemberDisplayMode `memberDisplayMode` to apply different display modes to different axes. For example, let's say your query has the `memberDisplayMode` as `DISPLAY` but you want to fetch the object name for a specific dimension. With QueryAxisMemberDisplayMode `memberDisplayMode`, you can override that dimension's `memberDisplayMode` to `DEFAULT` instead of `DISPLAY`. Valid values are `UNCHANGED`, `DEFAULT`, `COMPACT`, `DISPLAY`, or `MDX`. Default is `UNCHANGED`.", alias="memberDisplayMode") + __properties: ClassVar[List[str]] = ["columnName", "memberDisplayMode"] + + @field_validator('member_display_mode') + def member_display_mode_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['UNCHANGED', 'DEFAULT', 'COMPACT', 'DISPLAY', 'MDX']): + raise ValueError("must be one of enum values ('UNCHANGED', 'DEFAULT', 'COMPACT', 'DISPLAY', 'MDX')") + 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 QueryAxisOptionsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 QueryAxisOptionsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "columnName": obj.get("columnName"), + "memberDisplayMode": obj.get("memberDisplayMode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_clarification_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_clarification_dto.py new file mode 100644 index 000000000..461a5a758 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_clarification_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 QueryClarificationDTO(BaseModel): + """ + QueryClarificationDTO + """ # noqa: E501 + message: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryClarificationDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 QueryClarificationDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_data_member_selection_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_data_member_selection_dto.py new file mode 100644 index 000000000..3b03e83ee --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_data_member_selection_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.dimension_reference_dto import DimensionReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryDimensionDataMemberSelectionDTO(BaseModel): + """ + A QueryDimensionLeafSelection allows you to define a member set consisting exclusively of leaf-level, including data, members for the given dimension. Leaf members are those members that have no descendents. A member may be a leaf member regardless of the level it is positioned at. + """ # noqa: E501 + dimension: Optional[DimensionReferenceDTO] = Field(default=None, description="A dimension and its qualifying path to query.") + __properties: ClassVar[List[str]] = ["dimension"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryDimensionDataMemberSelectionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dimension + if self.dimension: + _dict['dimension'] = self.dimension.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryDimensionDataMemberSelectionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimension": DimensionReferenceDTO.from_dict(obj["dimension"]) if obj.get("dimension") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_leaf_selection_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_leaf_selection_dto.py new file mode 100644 index 000000000..b999eb170 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_leaf_selection_dto.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.dimension_reference_dto import DimensionReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryDimensionLeafSelectionDTO(BaseModel): + """ + A QueryDimensionLeafSelection allows you to define a member set consisting exclusively of leaf-level members for the given dimension. Leaf members are those members that have no descendents. A member may be a leaf member regardless of the level it is positioned at. This member selection option, excludes data members. + """ # noqa: E501 + dimension: Optional[DimensionReferenceDTO] = Field(default=None, description="A dimension and its qualifying path to query.") + __properties: ClassVar[List[str]] = ["dimension"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryDimensionLeafSelectionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dimension + if self.dimension: + _dict['dimension'] = self.dimension.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryDimensionLeafSelectionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimension": DimensionReferenceDTO.from_dict(obj["dimension"]) if obj.get("dimension") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_level_selection_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_level_selection_dto.py new file mode 100644 index 000000000..e34515f18 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_level_selection_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.dimension_reference_dto import DimensionReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryDimensionLevelSelectionDTO(BaseModel): + """ + A QueryDimensionLevelSelection allows you to select a dimension level and its members without explicitly listing each member. To see the correct notation for levels, see `Dimension`. + """ # noqa: E501 + dimension: Optional[DimensionReferenceDTO] = Field(default=None, description="A dimension and its qualifying path to query.") + level_ids: Optional[List[StrictStr]] = Field(default=None, description="The ordered collection of level identifiers for the dimension. See `Dimension`.", alias="levelIds") + __properties: ClassVar[List[str]] = ["dimension", "levelIds"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryDimensionLevelSelectionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dimension + if self.dimension: + _dict['dimension'] = self.dimension.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryDimensionLevelSelectionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimension": DimensionReferenceDTO.from_dict(obj["dimension"]) if obj.get("dimension") is not None else None, + "levelIds": obj.get("levelIds") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_member_selection_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_member_selection_dto.py new file mode 100644 index 000000000..160395755 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_dimension_member_selection_dto.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.dimension_member_reference_dto import DimensionMemberReferenceDTO +from visier.sdk.api.data_out.models.dimension_reference_dto import DimensionReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryDimensionMemberSelectionDTO(BaseModel): + """ + A QueryDimensionMemberSelection defines dimension members to select in the query. + """ # noqa: E501 + dimension: Optional[DimensionReferenceDTO] = Field(default=None, description="A dimension and its qualifying path to query.") + members: Optional[List[DimensionMemberReferenceDTO]] = Field(default=None, description="A collection of dimension members to select in the query. This must contain at least one member.") + __properties: ClassVar[List[str]] = ["dimension", "members"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryDimensionMemberSelectionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dimension + if self.dimension: + _dict['dimension'] = self.dimension.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in members (list) + _items = [] + if self.members: + for _item in self.members: + if _item: + _items.append(_item.to_dict()) + _dict['members'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryDimensionMemberSelectionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimension": DimensionReferenceDTO.from_dict(obj["dimension"]) if obj.get("dimension") is not None else None, + "members": [DimensionMemberReferenceDTO.from_dict(_item) for _item in obj["members"]] if obj.get("members") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_execution_options_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_execution_options_dto.py new file mode 100644 index 000000000..330a691b7 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_execution_options_dto.py @@ -0,0 +1,179 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.cell_distribution_options_dto import CellDistributionOptionsDTO +from visier.sdk.api.data_out.models.internal_query_execution_options_dto import InternalQueryExecutionOptionsDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryExecutionOptionsDTO(BaseModel): + """ + A QueryExecutionOptions provides additional instructions to perform a query. + """ # noqa: E501 + axis_visibility: Optional[StrictStr] = Field(default=None, description="The amount of information to return about each axis. Default is SIMPLE.", alias="axisVisibility") + calendar_type: Optional[StrictStr] = Field(default=None, description="The calendar type to use. This will be used for all time calculations unless explicitly overridden in the calculation itself. Default is TENANT_CALENDAR.", alias="calendarType") + cell_distribution_options: Optional[CellDistributionOptionsDTO] = Field(default=None, alias="cellDistributionOptions") + currency_conversion_code: Optional[StrictStr] = Field(default=None, description="The target currency for all currency conversions. If not specified, the tenant default currency will be used.", alias="currencyConversionCode") + currency_conversion_date: Optional[StrictStr] = Field(default=None, description="The currency conversion date to use. If defined, the currency conversion will use the exchange rates as of this date. Default is the exchange rate at the end of the query time interval. Format is the number of milliseconds since midnight 01 January, 1970 UTC as a string. Note: Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers.", alias="currencyConversionDate") + currency_conversion_mode: Optional[StrictStr] = Field(default=None, description="The currency conversion mode to use. This will be used for all currency conversion calculations unless explicitly overridden in the calculation itself. Default is TENANT_CURRENCY_CONVERSION.", alias="currencyConversionMode") + enable_descending_space: Optional[StrictBool] = Field(default=None, description="If true, filter non-time axis member sets to only include members that are in aggregate positions or whose previous position is a leaf", alias="enableDescendingSpace") + enable_sparse_results: Optional[StrictBool] = Field(default=None, description="Retrieve sparse cell sets. Sparse results only retrieve non-zero and non-null cells. Whether a result is truly sparse or not is determined by the Visier server.", alias="enableSparseResults") + internal: Optional[InternalQueryExecutionOptionsDTO] = None + lineage_depth: Optional[StrictInt] = Field(default=None, description="The max number of levels of nesting to unwind when determining the lineage for a derived metric value.", alias="lineageDepth") + member_display_mode: Optional[StrictStr] = Field(default=None, description="Define the `memberDisplayMode` options to control how member values are rendered in the aggregate query result set. You can override the `memberDisplayMode` on a per-axis basis, if required. Valid values are `DEFAULT`, `COMPACT`, `DISPLAY`, or `MDX`. Default is `DEFAULT`. * `DEFAULT`: The default member name representation. For non-time members, this means returning the technical member name path. For time members, this includes a bracketed member index. For example, Time instant member: `2019-06-01T00:00:00.000Z - [0]` For example, Time interval member: `2022-06-01T00:00:00.000Z/2022-07-01T00:00:00.000Z - [12]` * `COMPACT`: Compacts the time member name representation. This also transforms the representation of time intervals to the end time of the interval. For example, Time instant member: `2019-06-01T00:00:00.000Z` For example, Time interval member: `2022-07-01T00:00:00.000Z` where the interval member name was `2022-06-01T00:00:00.000Z/2022-07-01T00:00:00.000Z - [12]` * `DISPLAY`: Emit the members' display names whenever possible. When combined with `axisVisibility = VERBOSE`, the full display name path will be emitted. * `MDX`: Emit member name paths where each element is enclosed in square brackets, `[]`. Multidimensional expression (MDX) display mode automatically encloses time members in square brackets and puts them in `COMPACT` format. For example, Location member `North America.United States.California` becomes `[North America].[United States].[California]` in MDX display mode. For example, Time instant member `2019-06-01T00:00:00.000Z - [0]` becomes `[2019-06-01T00:00:00.000Z]` in MDX display mode.", alias="memberDisplayMode") + null_visibility: Optional[StrictStr] = Field(default=None, description="Show or hide null or N/A values in the result. Default is SHOW.", alias="nullVisibility") + zero_visibility: Optional[StrictStr] = Field(default=None, description="Show or hide zeros in the result. Default is SHOW.", alias="zeroVisibility") + __properties: ClassVar[List[str]] = ["axisVisibility", "calendarType", "cellDistributionOptions", "currencyConversionCode", "currencyConversionDate", "currencyConversionMode", "enableDescendingSpace", "enableSparseResults", "internal", "lineageDepth", "memberDisplayMode", "nullVisibility", "zeroVisibility"] + + @field_validator('axis_visibility') + def axis_visibility_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['SIMPLE', 'VERBOSE']): + raise ValueError("must be one of enum values ('SIMPLE', 'VERBOSE')") + return value + + @field_validator('calendar_type') + def calendar_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['TENANT_CALENDAR', 'GREGORIAN_CALENDAR']): + raise ValueError("must be one of enum values ('TENANT_CALENDAR', 'GREGORIAN_CALENDAR')") + return value + + @field_validator('currency_conversion_mode') + def currency_conversion_mode_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['TENANT_CURRENCY_CONVERSION', 'VISIER_CURRENCY_CONVERSION']): + raise ValueError("must be one of enum values ('TENANT_CURRENCY_CONVERSION', 'VISIER_CURRENCY_CONVERSION')") + return value + + @field_validator('member_display_mode') + def member_display_mode_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['DEFAULT', 'COMPACT', 'DISPLAY', 'MDX', 'COMPACT_DISPLAY']): + raise ValueError("must be one of enum values ('DEFAULT', 'COMPACT', 'DISPLAY', 'MDX', 'COMPACT_DISPLAY')") + return value + + @field_validator('null_visibility') + def null_visibility_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['SHOW', 'HIDE', 'ELIMINATE']): + raise ValueError("must be one of enum values ('SHOW', 'HIDE', 'ELIMINATE')") + return value + + @field_validator('zero_visibility') + def zero_visibility_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['SHOW', 'HIDE', 'ELIMINATE']): + raise ValueError("must be one of enum values ('SHOW', 'HIDE', 'ELIMINATE')") + 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 QueryExecutionOptionsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 cell_distribution_options + if self.cell_distribution_options: + _dict['cellDistributionOptions'] = self.cell_distribution_options.to_dict() + # override the default output from pydantic by calling `to_dict()` of internal + if self.internal: + _dict['internal'] = self.internal.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryExecutionOptionsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "axisVisibility": obj.get("axisVisibility"), + "calendarType": obj.get("calendarType"), + "cellDistributionOptions": CellDistributionOptionsDTO.from_dict(obj["cellDistributionOptions"]) if obj.get("cellDistributionOptions") is not None else None, + "currencyConversionCode": obj.get("currencyConversionCode"), + "currencyConversionDate": obj.get("currencyConversionDate"), + "currencyConversionMode": obj.get("currencyConversionMode"), + "enableDescendingSpace": obj.get("enableDescendingSpace"), + "enableSparseResults": obj.get("enableSparseResults"), + "internal": InternalQueryExecutionOptionsDTO.from_dict(obj["internal"]) if obj.get("internal") is not None else None, + "lineageDepth": obj.get("lineageDepth"), + "memberDisplayMode": obj.get("memberDisplayMode"), + "nullVisibility": obj.get("nullVisibility"), + "zeroVisibility": obj.get("zeroVisibility") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_filter_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_filter_dto.py new file mode 100644 index 000000000..107b5675b --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_filter_dto.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.cohort_filter_dto import CohortFilterDTO +from visier.sdk.api.data_out.models.member_filter_dto import MemberFilterDTO +from visier.sdk.api.data_out.models.selection_concept_reference_dto import SelectionConceptReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryFilterDTO(BaseModel): + """ + A QueryFilter selects specific data points within a population. + """ # noqa: E501 + cohort: Optional[CohortFilterDTO] = Field(default=None, description="A filter that identifies a population at a specific time.") + formula: Optional[StrictStr] = Field(default=None, description="A filter expressed as a formula.") + member_set: Optional[MemberFilterDTO] = Field(default=None, description="A filter that includes or excludes dimension members.", alias="memberSet") + selection_concept: Optional[SelectionConceptReferenceDTO] = Field(default=None, description="A filter that uses an existing selection concept in Visier.", alias="selectionConcept") + __properties: ClassVar[List[str]] = ["cohort", "formula", "memberSet", "selectionConcept"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryFilterDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 cohort + if self.cohort: + _dict['cohort'] = self.cohort.to_dict() + # override the default output from pydantic by calling `to_dict()` of member_set + if self.member_set: + _dict['memberSet'] = self.member_set.to_dict() + # override the default output from pydantic by calling `to_dict()` of selection_concept + if self.selection_concept: + _dict['selectionConcept'] = self.selection_concept.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryFilterDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "cohort": CohortFilterDTO.from_dict(obj["cohort"]) if obj.get("cohort") is not None else None, + "formula": obj.get("formula"), + "memberSet": MemberFilterDTO.from_dict(obj["memberSet"]) if obj.get("memberSet") is not None else None, + "selectionConcept": SelectionConceptReferenceDTO.from_dict(obj["selectionConcept"]) if obj.get("selectionConcept") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_member_map_property_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_member_map_property_dto.py new file mode 100644 index 000000000..cb4d15ef1 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_member_map_property_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.dimension_reference_dto import DimensionReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryMemberMapPropertyDTO(BaseModel): + """ + A QueryMemberMapProperty defines an existing member map and its dimension to query. + """ # noqa: E501 + member_map: Optional[DimensionReferenceDTO] = Field(default=None, description="A member map and its qualifying path to query.", alias="memberMap") + target_dimension_name: Optional[StrictStr] = Field(default=None, description="The name of the member map's dimension that you want to query. The member selection is based on this dimension.", alias="targetDimensionName") + __properties: ClassVar[List[str]] = ["memberMap", "targetDimensionName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryMemberMapPropertyDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 member_map + if self.member_map: + _dict['memberMap'] = self.member_map.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryMemberMapPropertyDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "memberMap": DimensionReferenceDTO.from_dict(obj["memberMap"]) if obj.get("memberMap") is not None else None, + "targetDimensionName": obj.get("targetDimensionName") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_member_map_selection_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_member_map_selection_dto.py new file mode 100644 index 000000000..e6d2a21f1 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_member_map_selection_dto.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.dimension_member_reference_dto import DimensionMemberReferenceDTO +from visier.sdk.api.data_out.models.dimension_reference_dto import DimensionReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryMemberMapSelectionDTO(BaseModel): + """ + A QueryMemberMapSelection groups data in a query by dimension members in a member map. This allows grouping by a dimension that isn't typically valid on the analytic object being queried by selecting a valid member map on the analytic object. Note: This is unique to the data query API and cannot be reproduced in Visier's interface. + """ # noqa: E501 + member_map: Optional[DimensionReferenceDTO] = Field(default=None, description="A member map and its qualifying path to query.", alias="memberMap") + members: Optional[List[DimensionMemberReferenceDTO]] = Field(default=None, description="A collection of the selected dimension members from the `targetDimension`. This must contain at least one member.") + target_dimension_name: Optional[StrictStr] = Field(default=None, description="The name of the member map's dimension that you want to query. The member selection is based on this dimension.", alias="targetDimensionName") + __properties: ClassVar[List[str]] = ["memberMap", "members", "targetDimensionName"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryMemberMapSelectionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 member_map + if self.member_map: + _dict['memberMap'] = self.member_map.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in members (list) + _items = [] + if self.members: + for _item in self.members: + if _item: + _items.append(_item.to_dict()) + _dict['members'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryMemberMapSelectionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "memberMap": DimensionReferenceDTO.from_dict(obj["memberMap"]) if obj.get("memberMap") is not None else None, + "members": [DimensionMemberReferenceDTO.from_dict(_item) for _item in obj["members"]] if obj.get("members") is not None else None, + "targetDimensionName": obj.get("targetDimensionName") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_numeric_ranges_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_numeric_ranges_dto.py new file mode 100644 index 000000000..927e09e66 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_numeric_ranges_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.query_property_dto import QueryPropertyDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryNumericRangesDTO(BaseModel): + """ + A QueryNumericRanges groups data into specified ranges based on a property value. + """ # noqa: E501 + include_all_member: Optional[StrictBool] = Field(default=None, description="If `true`, a member is included that represents all members on the axis. Default is false.", alias="includeAllMember") + include_independent_zero_range: Optional[StrictBool] = Field(default=None, description="If `true`, 0 is an independent range. Default is false.", alias="includeIndependentZeroRange") + include_negative: Optional[StrictBool] = Field(default=None, description="If `true`, negative ranges are included. Default is false.", alias="includeNegative") + var_property: Optional[QueryPropertyDTO] = Field(default=None, description="The name and qualifying path of a numeric property. Non-numeric properties are not accepted.", alias="property") + ranges: Optional[StrictStr] = Field(default=None, description="The ranges to group data into, expressed as a space-separated string of range-bound values.") + __properties: ClassVar[List[str]] = ["includeAllMember", "includeIndependentZeroRange", "includeNegative", "property", "ranges"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryNumericRangesDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 var_property + if self.var_property: + _dict['property'] = self.var_property.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryNumericRangesDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "includeAllMember": obj.get("includeAllMember"), + "includeIndependentZeroRange": obj.get("includeIndependentZeroRange"), + "includeNegative": obj.get("includeNegative"), + "property": QueryPropertyDTO.from_dict(obj["property"]) if obj.get("property") is not None else None, + "ranges": obj.get("ranges") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_parameter_value_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_parameter_value_dto.py new file mode 100644 index 000000000..c2c151d87 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_parameter_value_dto.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.aggregation_type_parameter_value_dto import AggregationTypeParameterValueDTO +from visier.sdk.api.data_out.models.member_parameter_value_dto import MemberParameterValueDTO +from visier.sdk.api.data_out.models.numeric_parameter_value_dto import NumericParameterValueDTO +from visier.sdk.api.data_out.models.plan_parameter_value_dto import PlanParameterValueDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryParameterValueDTO(BaseModel): + """ + An object that contains parameter values for either member or numeric parameters. + """ # noqa: E501 + aggregation_type_value: Optional[AggregationTypeParameterValueDTO] = Field(default=None, description="A value for an aggregation parameter.", alias="aggregationTypeValue") + member_value: Optional[MemberParameterValueDTO] = Field(default=None, description="A value for a member parameter.", alias="memberValue") + numeric_value: Optional[NumericParameterValueDTO] = Field(default=None, description="A value for a numeric parameter.", alias="numericValue") + plan_value: Optional[PlanParameterValueDTO] = Field(default=None, description="A value for a plan parameter.", alias="planValue") + __properties: ClassVar[List[str]] = ["aggregationTypeValue", "memberValue", "numericValue", "planValue"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryParameterValueDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 aggregation_type_value + if self.aggregation_type_value: + _dict['aggregationTypeValue'] = self.aggregation_type_value.to_dict() + # override the default output from pydantic by calling `to_dict()` of member_value + if self.member_value: + _dict['memberValue'] = self.member_value.to_dict() + # override the default output from pydantic by calling `to_dict()` of numeric_value + if self.numeric_value: + _dict['numericValue'] = self.numeric_value.to_dict() + # override the default output from pydantic by calling `to_dict()` of plan_value + if self.plan_value: + _dict['planValue'] = self.plan_value.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryParameterValueDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "aggregationTypeValue": AggregationTypeParameterValueDTO.from_dict(obj["aggregationTypeValue"]) if obj.get("aggregationTypeValue") is not None else None, + "memberValue": MemberParameterValueDTO.from_dict(obj["memberValue"]) if obj.get("memberValue") is not None else None, + "numericValue": NumericParameterValueDTO.from_dict(obj["numericValue"]) if obj.get("numericValue") is not None else None, + "planValue": PlanParameterValueDTO.from_dict(obj["planValue"]) if obj.get("planValue") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_property_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_property_dto.py new file mode 100644 index 000000000..d1ce27153 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_property_dto.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.dimension_reference_dto import DimensionReferenceDTO +from visier.sdk.api.data_out.models.property_reference_dto import PropertyReferenceDTO +from visier.sdk.api.data_out.models.query_member_map_property_dto import QueryMemberMapPropertyDTO +from visier.sdk.api.data_out.models.selection_concept_reference_dto import SelectionConceptReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryPropertyDTO(BaseModel): + """ + A QueryProperty defines a property of a data point returned from a query. This is not the same as a `property` in Visier's data mode. + """ # noqa: E501 + dimension: Optional[DimensionReferenceDTO] = Field(default=None, description="A dimension-based property that returns the full name path of the dimension member that the data point is mapped to.") + effective_date_property: Optional[Dict[str, Any]] = Field(default=None, description="A property that yields the effective date for the record", alias="effectiveDateProperty") + formula: Optional[StrictStr] = Field(default=None, description="A formula-based property.") + member_map_property: Optional[QueryMemberMapPropertyDTO] = Field(default=None, description="A member map-based property that uses an existing member map in Visier.", alias="memberMapProperty") + var_property: Optional[PropertyReferenceDTO] = Field(default=None, description="A property reference.", alias="property") + selection_concept: Optional[SelectionConceptReferenceDTO] = Field(default=None, description="A selection concept-based property that returns true or false.", alias="selectionConcept") + __properties: ClassVar[List[str]] = ["dimension", "effectiveDateProperty", "formula", "memberMapProperty", "property", "selectionConcept"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryPropertyDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 dimension + if self.dimension: + _dict['dimension'] = self.dimension.to_dict() + # override the default output from pydantic by calling `to_dict()` of member_map_property + if self.member_map_property: + _dict['memberMapProperty'] = self.member_map_property.to_dict() + # override the default output from pydantic by calling `to_dict()` of var_property + if self.var_property: + _dict['property'] = self.var_property.to_dict() + # override the default output from pydantic by calling `to_dict()` of selection_concept + if self.selection_concept: + _dict['selectionConcept'] = self.selection_concept.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryPropertyDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dimension": DimensionReferenceDTO.from_dict(obj["dimension"]) if obj.get("dimension") is not None else None, + "effectiveDateProperty": obj.get("effectiveDateProperty"), + "formula": obj.get("formula"), + "memberMapProperty": QueryMemberMapPropertyDTO.from_dict(obj["memberMapProperty"]) if obj.get("memberMapProperty") is not None else None, + "property": PropertyReferenceDTO.from_dict(obj["property"]) if obj.get("property") is not None else None, + "selectionConcept": SelectionConceptReferenceDTO.from_dict(obj["selectionConcept"]) if obj.get("selectionConcept") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_time_interval_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_time_interval_dto.py new file mode 100644 index 000000000..45cc9e534 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_time_interval_dto.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.time_shift_dto import TimeShiftDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryTimeIntervalDTO(BaseModel): + """ + A QueryTimeInterval defines the time interval to query, including the \"from\" time, period type, period count, time direction, and shift to apply + """ # noqa: E501 + direction: Optional[StrictStr] = Field(default=None, description="The direction to extend. Default is BACKWARD.") + dynamic_date_from: Optional[StrictStr] = Field(default=None, description="Dynamically select the date from which to extend. Valid values are `SOURCE` or `COMPLETE_PERIOD`. Both options use the `source` query definition element to determine the date. * If `dynamicDateFrom` is `SOURCE`, the query returns data from a date determined by the `source` query definition element. If `dynamicDateFrom` is `COMPLETE_PERIOD`, the query returns data starting from the latest or earliest date with a complete period of data. When `dynamicDateFrom` is specified: * If `source` is `metric`, then `dynamicDateFrom` considers the date range of available data for the metric. * If `source` is `formula`, then `dynamicDateFrom` considers the date range of available data for the metric in the formula. * If `source` is `analyticObject`, then `dynamicDateFrom` considers the date range of available data for the analytic object. Then, if `direction` is `BACKWARD`, query backward from the data **end** date and if `direction` is `FORWARD`, query forward from the data **start** date. This allows you to keep getting the latest or earliest data without changing your query every time there's new or updated data. Example: If a tenant has Headcount metric data available from 2023-01-01 to 2024-01-01 (End date exclusive), specifying `dynamicDateFrom`: `SOURCE` with `direction`: `BACKWARD` means the query will retrieve data backward from 2024-01-01. The effect is the same as if specifying a `fromDateTime` of 2024-01-01'T'00:00:00.000. Example: If a tenant has Employee subject data available from 2023-01-01 to 2024-01-01 (End date exclusive), specifying `dynamicDateFrom`: `SOURCE` with `direction`: `FORWARD` means the query will retrieve data forward from 2023-01-01. The effect is the same as if specifying a `fromDateTime` of 2023-01-01'T'00:00:00.000. Example: If a tenant has Employee subject data available from 2023-01-10 to 2023-04-01 (End date exclusive), specifying `dynamicDateFrom`: `COMPLETE_PERIOD` with `direction`: `FORWARD` means the query will retrieve data forward from 2023-02-01. The effect is the same as if specifying a `fromDateTime` of 2023-02-01'T'00:00:00.000. Example: If a tenant has Employee subject data available from 2023-01-01 to 2023-03-15 (End date exclusive), specifying `dynamicDateFrom`: `COMPLETE_PERIOD` with `direction`: `BACKWARD` means the query will retrieve data backward from 2023-03-01. The effect is the same as if specifying a `fromDateTime` of 2023-03-01'T'00:00:00.000. Example: Retrieve a list of EmployeeIDs for the formula extending 1 month backward from the dynamic source date { \"source\": { \"formula\": \"on Employee validUntil instant filterBy(isActiveEmployee) aggregate count(Employee.EmployeeID)\" }, \"columns\": [ { \"columnDefinition\": { \"property\": { \"name\": \"Employee.EmployeeID\", \"qualifyingPath\": \"Employee\" } } }, { \"columnDefinition\": { \"effectiveDateProperty\": {} } } ], \"timeInterval\": { \"dynamicDateFrom\": \"SOURCE\", \"intervalPeriodType\": \"MONTH\", \"intervalPeriodCount\": 1, \"direction\": \"BACKWARD\" } }", alias="dynamicDateFrom") + from_date_time: Optional[StrictStr] = Field(default=None, description="The instant from which to extend, as an ISO-8601 formatted date time string. Valid formats: yyyy-MM-dd, yyyy-MM-dd'T'HH:mm:ss, yyyy-MM-dd'T'HH:mm:ss.SSS. Events that occur on this date are excluded. Subject-based data that ends on this date is included.", alias="fromDateTime") + from_instant: Optional[StrictStr] = Field(default=None, description="The instant from which to extend, in milliseconds since 1970-01-01T00:00:00Z. Events that occur on this date are excluded. Subject-based data that ends on this date is included. Note: Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers.", alias="fromInstant") + interval_period_count: Optional[StrictInt] = Field(default=None, description="The number of time periods per interval.", alias="intervalPeriodCount") + interval_period_type: Optional[StrictStr] = Field(default=None, description="The time period type for each interval. Default is MONTH.", alias="intervalPeriodType") + shift: Optional[TimeShiftDTO] = Field(default=None, description="The amount of time to shift the time interval by, such as backward by one year. Default is none.") + __properties: ClassVar[List[str]] = ["direction", "dynamicDateFrom", "fromDateTime", "fromInstant", "intervalPeriodCount", "intervalPeriodType", "shift"] + + @field_validator('direction') + def direction_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['BACKWARD', 'FORWARD']): + raise ValueError("must be one of enum values ('BACKWARD', 'FORWARD')") + return value + + @field_validator('interval_period_type') + def interval_period_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['MONTH', 'DAY', 'WEEK', 'QUARTER', 'YEAR']): + raise ValueError("must be one of enum values ('MONTH', 'DAY', 'WEEK', 'QUARTER', 'YEAR')") + 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 QueryTimeIntervalDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 shift + if self.shift: + _dict['shift'] = self.shift.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryTimeIntervalDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "direction": obj.get("direction"), + "dynamicDateFrom": obj.get("dynamicDateFrom"), + "fromDateTime": obj.get("fromDateTime"), + "fromInstant": obj.get("fromInstant"), + "intervalPeriodCount": obj.get("intervalPeriodCount"), + "intervalPeriodType": obj.get("intervalPeriodType"), + "shift": TimeShiftDTO.from_dict(obj["shift"]) if obj.get("shift") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_time_intervals_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_time_intervals_dto.py new file mode 100644 index 000000000..8370ed251 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/query_time_intervals_dto.py @@ -0,0 +1,139 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.time_shift_dto import TimeShiftDTO +from typing import Optional, Set +from typing_extensions import Self + +class QueryTimeIntervalsDTO(BaseModel): + """ + A QueryTimeIntervals defines a series of time intervals to query, including the \"from\" time, period type, period count, number of intervals, time direction, and shift to apply to each time interval. + """ # noqa: E501 + direction: Optional[StrictStr] = Field(default=None, description="The direction to extend. Defaults is BACKWARD.") + dynamic_date_from: Optional[StrictStr] = Field(default=None, description="Dynamically select the date from which to extend. Valid values are `SOURCE` or `COMPLETE_PERIOD`. Both options use the `source` query definition element to determine the date. If `dynamicDateFrom` is `SOURCE`, the query returns data from a date determined by the `source` query definition element. If `dynamicDateFrom` is `COMPLETE_PERIOD`, the query returns data starting from the latest or earliest date with a complete period of data. When `dynamicDateFrom` is specified: * If `source` is `metric`, then `dynamicDateFrom` considers the date range of available data for the metric. * If `source` is `formula`, then `dynamicDateFrom` considers the date range of available data for the metric in the formula. * If `source` is `metrics`, then `dynamicDateFrom` considers the date range of available data for the metric in the formula. Then, if `direction` is `BACKWARD`, query backward from the data **end** date and if `direction` is `FORWARD`, query forward from the data **start** date. This allows you to keep getting the latest or earliest data without changing your query every time there's new or updated data. Note: For multi-metric queries, if `direction` is `BACKWARD`, query backward from the earliest data end date of all metrics and if `direction` is `FORWARD`, query forward from the latest data start date of all metrics. This ensures that all metrics have data in the specified time range. Example: If a tenant has Headcount metric data available from 2023-01-01 to 2024-01-01 (End date exclusive), specifying `dynamicDateFrom`: `SOURCE` with `direction`: `BACKWARD` means the query will retrieve data backward from 2024-01-01. The effect is the same as if specifying a `fromDateTime` of 2024-01-01'T'00:00:00.000. Example: If a tenant has Employee subject data available from 2023-01-10 to 2023-04-01 (End date exclusive), specifying `dynamicDateFrom`: `COMPLETE_PERIOD` with `direction`: `FORWARD` means the query will retrieve data forward from 2023-02-01. The effect is the same as if specifying a `fromDateTime` of 2023-02-01'T'00:00:00.000. Example: If a tenant has Employee subject data available from 2023-01-01 to 2023-03-15 (End date exclusive), specifying `dynamicDateFrom`: `COMPLETE_PERIOD` with `direction`: `BACKWARD` means the query will retrieve data backward from 2023-03-01. The effect is the same as if specifying a `fromDateTime` of 2023-03-01'T'00:00:00.000. Example: If a tenant has Headcount data available from 2023-01-01 to 2024-09-01 and Exit Count data available from 2023-01-01 to 2024-01-01, specifying `dynamicDateFrom`: `SOURCE` with `direction`: `BACKWARD` means the query will retrieve data backward from 2024-01-01. Exit Count has an earlier data end date than Headcount, so `dynamicDateFrom` retrieves data backward from Exit Count's data end date to ensure both metrics have data in the specified time range. Example: Retrieve Headcount (employeeCount) extending 1 month backward from Headcount's dynamic source date { \"query\": { \"source\": { \"metric\": \"employeeCount\" }, \"timeIntervals\": { \"dynamicDateFrom\": \"SOURCE\", \"intervalPeriodType\": \"MONTH\", \"intervalCount\": 1, \"direction\": \"BACKWARD\" } } }", alias="dynamicDateFrom") + from_date_time: Optional[StrictStr] = Field(default=None, description="The instant from which to extend, as an ISO-8601 formatted date time string. This value is exclusive. Valid formats: yyyy-MM-dd, yyyy-MM-dd'T'HH:mm:ss, yyyy-MM-dd'T'HH:mm:ss.SSS. Events that occur on this date are excluded. Subject-based data that ends on this date is included.", alias="fromDateTime") + from_instant: Optional[StrictStr] = Field(default=None, description="The instant from which to extend, in milliseconds since 1970-01-01T00:00:00Z. Events that occur on this date are excluded. Subject-based data that ends on this date is included. Note: Epochs are expressed as 64-bit integers and represented as stringified longs in JSON due to JSON's inherent limitation in representing large numbers.", alias="fromInstant") + interval_count: Optional[StrictInt] = Field(default=None, description="The number of intervals. Default is 1.", alias="intervalCount") + interval_period_count: Optional[StrictInt] = Field(default=None, description="The number of time periods per interval. Default is 1.", alias="intervalPeriodCount") + interval_period_type: Optional[StrictStr] = Field(default=None, description="The time period type for each interval. Default is MONTH.", alias="intervalPeriodType") + shift: Optional[TimeShiftDTO] = Field(default=None, description="The amount of time to shift the time interval by, such as backward by one year.") + trailing_period_count: Optional[StrictInt] = Field(default=None, description="The number of time periods per trailing period. If `trailingPeriodType` is defined and `trailingPeriodCount` is undefined, the default trailing period count is 1. Note: This parameter is only applicable to metrics that can calculate trailing time. If defined on a metric that doesn't have trailing time, the platform ignores the parameter.", alias="trailingPeriodCount") + trailing_period_type: Optional[StrictStr] = Field(default=None, description="The time period type for each trailing period. If `trailingPeriodCount` is defined and `trailingPeriodType` is undefined, the default trailing period type is `MONTH`. If both `trailingPeriodType` and `trailingPeriodCount` are undefined, `intervalPeriodCount` is used as the trailing period count. Note: This parameter is only applicable to metrics that can calculate trailing time. If defined on a metric that doesn't have trailing time, the platform ignores the parameter.", alias="trailingPeriodType") + __properties: ClassVar[List[str]] = ["direction", "dynamicDateFrom", "fromDateTime", "fromInstant", "intervalCount", "intervalPeriodCount", "intervalPeriodType", "shift", "trailingPeriodCount", "trailingPeriodType"] + + @field_validator('direction') + def direction_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['BACKWARD', 'FORWARD']): + raise ValueError("must be one of enum values ('BACKWARD', 'FORWARD')") + return value + + @field_validator('interval_period_type') + def interval_period_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['MONTH', 'DAY', 'WEEK', 'QUARTER', 'YEAR']): + raise ValueError("must be one of enum values ('MONTH', 'DAY', 'WEEK', 'QUARTER', 'YEAR')") + return value + + @field_validator('trailing_period_type') + def trailing_period_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['MONTH', 'DAY', 'WEEK', 'QUARTER', 'YEAR']): + raise ValueError("must be one of enum values ('MONTH', 'DAY', 'WEEK', 'QUARTER', 'YEAR')") + 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 QueryTimeIntervalsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 shift + if self.shift: + _dict['shift'] = self.shift.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryTimeIntervalsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "direction": obj.get("direction"), + "dynamicDateFrom": obj.get("dynamicDateFrom"), + "fromDateTime": obj.get("fromDateTime"), + "fromInstant": obj.get("fromInstant"), + "intervalCount": obj.get("intervalCount"), + "intervalPeriodCount": obj.get("intervalPeriodCount"), + "intervalPeriodType": obj.get("intervalPeriodType"), + "shift": TimeShiftDTO.from_dict(obj["shift"]) if obj.get("shift") is not None else None, + "trailingPeriodCount": obj.get("trailingPeriodCount"), + "trailingPeriodType": obj.get("trailingPeriodType") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/selection_concept_reference_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/selection_concept_reference_dto.py new file mode 100644 index 000000000..08e259f11 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/selection_concept_reference_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SelectionConceptReferenceDTO(BaseModel): + """ + The name and qualifying path of a selection concept to query. + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="The ID of the selection concept. See `SelectionConcepts` to get the ID.") + qualifying_path: Optional[StrictStr] = Field(default=None, description="The qualifying path to the selection concept in Visier, such as the analytic object or event the selection concept is associated with. If the path has multiple objects, each object is separated by a period.", alias="qualifyingPath") + __properties: ClassVar[List[str]] = ["name", "qualifyingPath"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SelectionConceptReferenceDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SelectionConceptReferenceDTO 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"), + "qualifyingPath": obj.get("qualifyingPath") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/simple_document_header_search_response_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/simple_document_header_search_response_dto.py new file mode 100644 index 000000000..6c258649d --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/simple_document_header_search_response_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.simple_document_header_search_result_dto import SimpleDocumentHeaderSearchResultDTO +from typing import Optional, Set +from typing_extensions import Self + +class SimpleDocumentHeaderSearchResponseDTO(BaseModel): + """ + The response body structure for Simple document header search operations. + """ # noqa: E501 + document_headers: Optional[List[SimpleDocumentHeaderSearchResultDTO]] = Field(default=None, description="The ordered collection of document header search results. The results are sorted according to their relevance in a descending order.", alias="documentHeaders") + __properties: ClassVar[List[str]] = ["documentHeaders"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SimpleDocumentHeaderSearchResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 document_headers (list) + _items = [] + if self.document_headers: + for _item in self.document_headers: + if _item: + _items.append(_item.to_dict()) + _dict['documentHeaders'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SimpleDocumentHeaderSearchResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "documentHeaders": [SimpleDocumentHeaderSearchResultDTO.from_dict(_item) for _item in obj["documentHeaders"]] if obj.get("documentHeaders") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/simple_document_header_search_result_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/simple_document_header_search_result_dto.py new file mode 100644 index 000000000..16759ec3a --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/simple_document_header_search_result_dto.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from visier.sdk.api.data_out.models.document_search_link_dto import DocumentSearchLinkDTO +from typing import Optional, Set +from typing_extensions import Self + +class SimpleDocumentHeaderSearchResultDTO(BaseModel): + """ + Structure of a single document header search using the Simple search operation. + """ # noqa: E501 + description: Optional[StrictStr] = Field(default=None, description="The `Web Template Framework` representation of the search result element. This commonly displayed alongside the result by search portals.") + display_name: Optional[StrictStr] = Field(default=None, description="The display name of the element in the search result.", alias="displayName") + relevance: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The relevance of the search result and a number between `0` and `100`.") + view_link: Optional[DocumentSearchLinkDTO] = Field(default=None, description="Use the `viewLink` to build a web request to view this document.", alias="viewLink") + __properties: ClassVar[List[str]] = ["description", "displayName", "relevance", "viewLink"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SimpleDocumentHeaderSearchResultDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 view_link + if self.view_link: + _dict['viewLink'] = self.view_link.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SimpleDocumentHeaderSearchResultDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "relevance": obj.get("relevance"), + "viewLink": DocumentSearchLinkDTO.from_dict(obj["viewLink"]) if obj.get("viewLink") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/snapshot_query_execution_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/snapshot_query_execution_dto.py new file mode 100644 index 000000000..db183d0f0 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/snapshot_query_execution_dto.py @@ -0,0 +1,143 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.list_query_source_dto import ListQuerySourceDTO +from visier.sdk.api.data_out.models.property_column_dto import PropertyColumnDTO +from visier.sdk.api.data_out.models.query_filter_dto import QueryFilterDTO +from visier.sdk.api.data_out.models.query_parameter_value_dto import QueryParameterValueDTO +from visier.sdk.api.data_out.models.query_time_intervals_dto import QueryTimeIntervalsDTO +from visier.sdk.api.data_out.models.snapshot_query_execution_options_dto import SnapshotQueryExecutionOptionsDTO +from visier.sdk.api.data_out.models.sort_option_dto import SortOptionDTO +from typing import Optional, Set +from typing_extensions import Self + +class SnapshotQueryExecutionDTO(BaseModel): + """ + SnapshotQueryExecutionDTO + """ # noqa: E501 + columns: Optional[List[PropertyColumnDTO]] = Field(default=None, description="The columns to include in the result. This must contain at least one column.") + filters: Optional[List[QueryFilterDTO]] = Field(default=None, description="The filters of this query. Omit `filters` if no filtering is required.") + options: Optional[SnapshotQueryExecutionOptionsDTO] = Field(default=None, description="Additional instructions for your query, such as a calendar type or conversion information.") + parameter_values: Optional[List[QueryParameterValueDTO]] = Field(default=None, description="The parameter values for either member or numeric parameters.", alias="parameterValues") + sort_options: Optional[List[SortOptionDTO]] = Field(default=None, description="The index and direction to sort a column in the `columns` array.", alias="sortOptions") + source: Optional[ListQuerySourceDTO] = Field(default=None, description="The source data that you want to query.") + time_intervals: Optional[QueryTimeIntervalsDTO] = Field(default=None, description="The time intervals to query.", alias="timeIntervals") + __properties: ClassVar[List[str]] = ["columns", "filters", "options", "parameterValues", "sortOptions", "source", "timeIntervals"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SnapshotQueryExecutionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 columns (list) + _items = [] + if self.columns: + for _item in self.columns: + if _item: + _items.append(_item.to_dict()) + _dict['columns'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in filters (list) + _items = [] + if self.filters: + for _item in self.filters: + if _item: + _items.append(_item.to_dict()) + _dict['filters'] = _items + # override the default output from pydantic by calling `to_dict()` of options + if self.options: + _dict['options'] = self.options.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in parameter_values (list) + _items = [] + if self.parameter_values: + for _item in self.parameter_values: + if _item: + _items.append(_item.to_dict()) + _dict['parameterValues'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in sort_options (list) + _items = [] + if self.sort_options: + for _item in self.sort_options: + if _item: + _items.append(_item.to_dict()) + _dict['sortOptions'] = _items + # override the default output from pydantic by calling `to_dict()` of source + if self.source: + _dict['source'] = self.source.to_dict() + # override the default output from pydantic by calling `to_dict()` of time_intervals + if self.time_intervals: + _dict['timeIntervals'] = self.time_intervals.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SnapshotQueryExecutionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "columns": [PropertyColumnDTO.from_dict(_item) for _item in obj["columns"]] if obj.get("columns") is not None else None, + "filters": [QueryFilterDTO.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None, + "options": SnapshotQueryExecutionOptionsDTO.from_dict(obj["options"]) if obj.get("options") is not None else None, + "parameterValues": [QueryParameterValueDTO.from_dict(_item) for _item in obj["parameterValues"]] if obj.get("parameterValues") is not None else None, + "sortOptions": [SortOptionDTO.from_dict(_item) for _item in obj["sortOptions"]] if obj.get("sortOptions") is not None else None, + "source": ListQuerySourceDTO.from_dict(obj["source"]) if obj.get("source") is not None else None, + "timeIntervals": QueryTimeIntervalsDTO.from_dict(obj["timeIntervals"]) if obj.get("timeIntervals") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/snapshot_query_execution_options_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/snapshot_query_execution_options_dto.py new file mode 100644 index 000000000..6bd78a54e --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/snapshot_query_execution_options_dto.py @@ -0,0 +1,133 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SnapshotQueryExecutionOptionsDTO(BaseModel): + """ + A SnapshotQueryExecutionOptions provides additional instructions to perform a snapshot query. + """ # noqa: E501 + calendar_type: Optional[StrictStr] = Field(default=None, description="The calendar type to use. This will be used for all time calculations unless explicitly overridden in the calculation itself. Default is TENANT_CALENDAR.", alias="calendarType") + currency_conversion_code: Optional[StrictStr] = Field(default=None, description="The optional target currency for all currency conversions. If not specified, the tenant default currency will be used.", alias="currencyConversionCode") + currency_conversion_date: Optional[StrictStr] = Field(default=None, description="The currency conversion date to use. If defined, the currency conversion will use the exchange rates as of this date.", alias="currencyConversionDate") + date_time_display_mode: Optional[StrictStr] = Field(default=None, description="Control how date-time values are displayed in the result set. Supported values: * `EPOCH`: The number of elapsed milliseconds since January 1, 1970 in UTC timezone. This is the default. * `DATETIME`: The date-time value displayed in `yyyy-MM-dd HH:mm:ssZZ` format.", alias="dateTimeDisplayMode") + limit: Optional[StrictInt] = Field(default=None, description="The maximum number of entries to return. Default is to return all entries. If `page` is defined but limit is not defined, limit will be set to a default value of 1000.") + multiple_tables: Optional[StrictBool] = Field(default=None, description="Option to return multiple table files as zipped archive for derived metrics. Default is false. If false, one table is returned for the drill-through metric.", alias="multipleTables") + omit_header: Optional[StrictBool] = Field(default=None, description="Option to omit the header from the result. If true, queryMode must be either FILL or FAIL. Default is false.", alias="omitHeader") + page: Optional[StrictInt] = Field(default=None, description="A page defines a subset of the overall result set. The number of rows per page is equal to limit with the exception of the last page in the result set which may contain fewer rows. `Page` is an index that begins at 0. The index to start retrieving results is calculated by multiplying `page` by `limit`.") + query_mode: Optional[StrictStr] = Field(default=None, description="Determines how the query should handle column definitions that the query is unable to resolve. Default is DEFAULT.", alias="queryMode") + __properties: ClassVar[List[str]] = ["calendarType", "currencyConversionCode", "currencyConversionDate", "dateTimeDisplayMode", "limit", "multipleTables", "omitHeader", "page", "queryMode"] + + @field_validator('calendar_type') + def calendar_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['TENANT_CALENDAR', 'GREGORIAN_CALENDAR']): + raise ValueError("must be one of enum values ('TENANT_CALENDAR', 'GREGORIAN_CALENDAR')") + return value + + @field_validator('date_time_display_mode') + def date_time_display_mode_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['EPOCH', 'DATETIME']): + raise ValueError("must be one of enum values ('EPOCH', 'DATETIME')") + return value + + @field_validator('query_mode') + def query_mode_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['DEFAULT', 'FILL', 'FAIL']): + raise ValueError("must be one of enum values ('DEFAULT', 'FILL', 'FAIL')") + 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 SnapshotQueryExecutionOptionsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SnapshotQueryExecutionOptionsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "calendarType": obj.get("calendarType"), + "currencyConversionCode": obj.get("currencyConversionCode"), + "currencyConversionDate": obj.get("currencyConversionDate"), + "dateTimeDisplayMode": obj.get("dateTimeDisplayMode"), + "limit": obj.get("limit"), + "multipleTables": obj.get("multipleTables"), + "omitHeader": obj.get("omitHeader"), + "page": obj.get("page"), + "queryMode": obj.get("queryMode") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/sort_option_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/sort_option_dto.py new file mode 100644 index 000000000..c40ed6ffa --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/sort_option_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 SortOptionDTO(BaseModel): + """ + Sort option for a column of a list query. + """ # noqa: E501 + column_index: Optional[StrictInt] = Field(default=None, description="The index of the column of the list query, staring from 0.", alias="columnIndex") + sort_direction: Optional[StrictStr] = Field(default=None, description="The sort direction.", alias="sortDirection") + __properties: ClassVar[List[str]] = ["columnIndex", "sortDirection"] + + @field_validator('sort_direction') + def sort_direction_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['SORT_ASCENDING', 'SORT_DESCENDING']): + raise ValueError("must be one of enum values ('SORT_ASCENDING', 'SORT_DESCENDING')") + 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 SortOptionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 SortOptionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "columnIndex": obj.get("columnIndex"), + "sortDirection": obj.get("sortDirection") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/sql_like_query_execution_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/sql_like_query_execution_dto.py new file mode 100644 index 000000000..d123a6db7 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/sql_like_query_execution_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.query_execution_options_dto import QueryExecutionOptionsDTO +from typing import Optional, Set +from typing_extensions import Self + +class SqlLikeQueryExecutionDTO(BaseModel): + """ + * Request body for SQL-like query executions + """ # noqa: E501 + options: Optional[QueryExecutionOptionsDTO] = Field(default=None, description="Optional options that currently that cannot be expressed in SQL-like") + query: Optional[StrictStr] = Field(default=None, description="The SQL-like query string") + __properties: ClassVar[List[str]] = ["options", "query"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SqlLikeQueryExecutionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SqlLikeQueryExecutionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "options": QueryExecutionOptionsDTO.from_dict(obj["options"]) if obj.get("options") is not None else None, + "query": obj.get("query") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/status.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/status.py new file mode 100644 index 000000000..d84248c06 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/status.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 Status(BaseModel): + """ + The response structure for errors. + """ # noqa: E501 + error_code: Optional[StrictStr] = Field(default=None, description="Error classification.", alias="errorCode") + message: Optional[StrictStr] = Field(default=None, description="Error message describing the root cause of the error.") + rci: Optional[StrictStr] = Field(default=None, description="Optional root cause identifier.") + __properties: ClassVar[List[str]] = ["errorCode", "message", "rci"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Status from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 Status from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "errorCode": obj.get("errorCode"), + "message": obj.get("message"), + "rci": obj.get("rci") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/time_shift_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/time_shift_dto.py new file mode 100644 index 000000000..124de3059 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/time_shift_dto.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 TimeShiftDTO(BaseModel): + """ + The amount of time to shift the time interval by, such as backward by one year. + """ # noqa: E501 + direction: Optional[StrictStr] = Field(default=None, description="The direction to extend. Default is BACKWARD.") + period_count: Optional[StrictInt] = Field(default=None, description="The number of intervals. Default is 1.", alias="periodCount") + period_type: Optional[StrictStr] = Field(default=None, description="The time period type for the shift.", alias="periodType") + __properties: ClassVar[List[str]] = ["direction", "periodCount", "periodType"] + + @field_validator('direction') + def direction_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['BACKWARD', 'FORWARD']): + raise ValueError("must be one of enum values ('BACKWARD', 'FORWARD')") + return value + + @field_validator('period_type') + def period_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['MONTH', 'DAY', 'WEEK', 'QUARTER', 'YEAR']): + raise ValueError("must be one of enum values ('MONTH', 'DAY', 'WEEK', 'QUARTER', 'YEAR')") + 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 TimeShiftDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 TimeShiftDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "direction": obj.get("direction"), + "periodCount": obj.get("periodCount"), + "periodType": obj.get("periodType") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_data_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_data_dto.py new file mode 100644 index 000000000..15aef03cd --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_data_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 VeeDataDTO(BaseModel): + """ + VeeDataDTO + """ # noqa: E501 + context: Optional[StrictStr] = None + data_json: Optional[StrictStr] = Field(default=None, alias="dataJson") + __properties: ClassVar[List[str]] = ["context", "dataJson"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of VeeDataDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 VeeDataDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "context": obj.get("context"), + "dataJson": obj.get("dataJson") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_feedback_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_feedback_dto.py new file mode 100644 index 000000000..298a001a1 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_feedback_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.vee_response_dto import VeeResponseDTO +from typing import Optional, Set +from typing_extensions import Self + +class VeeFeedbackDTO(BaseModel): + """ + Query feedback DTOs + """ # noqa: E501 + description: Optional[StrictStr] = None + is_approved: Optional[StrictBool] = Field(default=None, alias="isApproved") + response: Optional[VeeResponseDTO] = None + __properties: ClassVar[List[str]] = ["description", "isApproved", "response"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of VeeFeedbackDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 response + if self.response: + _dict['response'] = self.response.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VeeFeedbackDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "isApproved": obj.get("isApproved"), + "response": VeeResponseDTO.from_dict(obj["response"]) if obj.get("response") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_query_corrections_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_query_corrections_dto.py new file mode 100644 index 000000000..fadb8feaf --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_query_corrections_dto.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.query_clarification_dto import QueryClarificationDTO +from typing import Optional, Set +from typing_extensions import Self + +class VeeQueryCorrectionsDTO(BaseModel): + """ + VeeQueryCorrectionsDTO + """ # noqa: E501 + clarifications: Optional[List[QueryClarificationDTO]] = None + warning: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["clarifications", "warning"] + + @field_validator('warning') + def warning_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + for i in value: + if i not in set(['VEE_NO_WARNING', 'VEE_WARNING_RESPONSE_NOT_FOUND', 'VEE_WARNING_RESPONSE_LOW_CONFIDENCE', 'VEE_WARNING_RESPONSE_FOUND_CLOSE_MATCH', 'VEE_WARNING_NO_ACCESS', 'VEE_WARNING_TIME_SELECTION_ADJUSTED', 'VEE_WARNING_FILTER_DROPPED']): + raise ValueError("each list item must be one of ('VEE_NO_WARNING', 'VEE_WARNING_RESPONSE_NOT_FOUND', 'VEE_WARNING_RESPONSE_LOW_CONFIDENCE', 'VEE_WARNING_RESPONSE_FOUND_CLOSE_MATCH', 'VEE_WARNING_NO_ACCESS', 'VEE_WARNING_TIME_SELECTION_ADJUSTED', 'VEE_WARNING_FILTER_DROPPED')") + 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 VeeQueryCorrectionsDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 clarifications (list) + _items = [] + if self.clarifications: + for _item in self.clarifications: + if _item: + _items.append(_item.to_dict()) + _dict['clarifications'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VeeQueryCorrectionsDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "clarifications": [QueryClarificationDTO.from_dict(_item) for _item in obj["clarifications"]] if obj.get("clarifications") is not None else None, + "warning": obj.get("warning") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_response_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_response_dto.py new file mode 100644 index 000000000..8fdc1122a --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_response_dto.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.vee_data_dto import VeeDataDTO +from visier.sdk.api.data_out.models.vee_query_corrections_dto import VeeQueryCorrectionsDTO +from visier.sdk.api.data_out.models.vee_response_schema_dto import VeeResponseSchemaDTO +from visier.sdk.api.data_out.models.vee_status_code_dto import VeeStatusCodeDTO +from visier.sdk.api.data_out.models.vee_thread_state_dto import VeeThreadStateDTO +from visier.sdk.api.data_out.models.vee_visual_dto import VeeVisualDTO +from typing import Optional, Set +from typing_extensions import Self + +class VeeResponseDTO(BaseModel): + """ + Server Response DTOs + """ # noqa: E501 + chart_url: Optional[StrictStr] = Field(default=None, alias="chartUrl") + corrections: Optional[VeeQueryCorrectionsDTO] = None + data: Optional[VeeDataDTO] = None + narrative: Optional[StrictStr] = None + reworded_question: Optional[StrictStr] = Field(default=None, alias="rewordedQuestion") + var_schema: Optional[VeeResponseSchemaDTO] = Field(default=None, alias="schema") + status_code: Optional[VeeStatusCodeDTO] = Field(default=None, alias="statusCode") + thread_state: Optional[VeeThreadStateDTO] = Field(default=None, alias="threadState") + visual: Optional[VeeVisualDTO] = None + __properties: ClassVar[List[str]] = ["chartUrl", "corrections", "data", "narrative", "rewordedQuestion", "schema", "statusCode", "threadState", "visual"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of VeeResponseDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 corrections + if self.corrections: + _dict['corrections'] = self.corrections.to_dict() + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.to_dict() + # override the default output from pydantic by calling `to_dict()` of var_schema + if self.var_schema: + _dict['schema'] = self.var_schema.to_dict() + # override the default output from pydantic by calling `to_dict()` of status_code + if self.status_code: + _dict['statusCode'] = self.status_code.to_dict() + # override the default output from pydantic by calling `to_dict()` of thread_state + if self.thread_state: + _dict['threadState'] = self.thread_state.to_dict() + # override the default output from pydantic by calling `to_dict()` of visual + if self.visual: + _dict['visual'] = self.visual.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VeeResponseDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "chartUrl": obj.get("chartUrl"), + "corrections": VeeQueryCorrectionsDTO.from_dict(obj["corrections"]) if obj.get("corrections") is not None else None, + "data": VeeDataDTO.from_dict(obj["data"]) if obj.get("data") is not None else None, + "narrative": obj.get("narrative"), + "rewordedQuestion": obj.get("rewordedQuestion"), + "schema": VeeResponseSchemaDTO.from_dict(obj["schema"]) if obj.get("schema") is not None else None, + "statusCode": VeeStatusCodeDTO.from_dict(obj["statusCode"]) if obj.get("statusCode") is not None else None, + "threadState": VeeThreadStateDTO.from_dict(obj["threadState"]) if obj.get("threadState") is not None else None, + "visual": VeeVisualDTO.from_dict(obj["visual"]) if obj.get("visual") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_response_schema_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_response_schema_dto.py new file mode 100644 index 000000000..27081a507 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_response_schema_dto.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.vee_response_schema_reference_dto import VeeResponseSchemaReferenceDTO +from typing import Optional, Set +from typing_extensions import Self + +class VeeResponseSchemaDTO(BaseModel): + """ + VeeResponseSchemaDTO + """ # noqa: E501 + concepts: Optional[List[VeeResponseSchemaReferenceDTO]] = None + dimensions: Optional[List[VeeResponseSchemaReferenceDTO]] = None + metrics: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["concepts", "dimensions", "metrics"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of VeeResponseSchemaDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 concepts (list) + _items = [] + if self.concepts: + for _item in self.concepts: + if _item: + _items.append(_item.to_dict()) + _dict['concepts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in dimensions (list) + _items = [] + if self.dimensions: + for _item in self.dimensions: + if _item: + _items.append(_item.to_dict()) + _dict['dimensions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VeeResponseSchemaDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "concepts": [VeeResponseSchemaReferenceDTO.from_dict(_item) for _item in obj["concepts"]] if obj.get("concepts") is not None else None, + "dimensions": [VeeResponseSchemaReferenceDTO.from_dict(_item) for _item in obj["dimensions"]] if obj.get("dimensions") is not None else None, + "metrics": obj.get("metrics") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_response_schema_reference_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_response_schema_reference_dto.py new file mode 100644 index 000000000..fff4ffb65 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_response_schema_reference_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 VeeResponseSchemaReferenceDTO(BaseModel): + """ + VeeResponseSchemaReferenceDTO + """ # noqa: E501 + name: Optional[StrictStr] = None + paths: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["name", "paths"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of VeeResponseSchemaReferenceDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 VeeResponseSchemaReferenceDTO 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"), + "paths": obj.get("paths") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_sample_question_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_sample_question_dto.py new file mode 100644 index 000000000..01fbe1644 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_sample_question_dto.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.vee_sample_question_metadata_dto import VeeSampleQuestionMetadataDTO +from typing import Optional, Set +from typing_extensions import Self + +class VeeSampleQuestionDTO(BaseModel): + """ + Query sample questions + """ # noqa: E501 + metadata: Optional[VeeSampleQuestionMetadataDTO] = None + question: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["metadata", "question"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of VeeSampleQuestionDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 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 VeeSampleQuestionDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "metadata": VeeSampleQuestionMetadataDTO.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None, + "question": obj.get("question") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_sample_question_library_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_sample_question_library_dto.py new file mode 100644 index 000000000..b47bfe83e --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_sample_question_library_dto.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from visier.sdk.api.data_out.models.vee_sample_question_dto import VeeSampleQuestionDTO +from typing import Optional, Set +from typing_extensions import Self + +class VeeSampleQuestionLibraryDTO(BaseModel): + """ + VeeSampleQuestionLibraryDTO + """ # noqa: E501 + questions: Optional[List[VeeSampleQuestionDTO]] = None + __properties: ClassVar[List[str]] = ["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 VeeSampleQuestionLibraryDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 questions (list) + _items = [] + if self.questions: + for _item in self.questions: + if _item: + _items.append(_item.to_dict()) + _dict['questions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VeeSampleQuestionLibraryDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "questions": [VeeSampleQuestionDTO.from_dict(_item) for _item in obj["questions"]] if obj.get("questions") is not None else None + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_sample_question_metadata_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_sample_question_metadata_dto.py new file mode 100644 index 000000000..499501e25 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_sample_question_metadata_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 VeeSampleQuestionMetadataDTO(BaseModel): + """ + VeeSampleQuestionMetadataDTO + """ # noqa: E501 + categories: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["categories"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of VeeSampleQuestionMetadataDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 VeeSampleQuestionMetadataDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "categories": obj.get("categories") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_status_code_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_status_code_dto.py new file mode 100644 index 000000000..7a8d0bd55 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_status_code_dto.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 VeeStatusCodeDTO(BaseModel): + """ + VeeStatusCodeDTO + """ # noqa: E501 + status_code: Optional[StrictStr] = Field(default=None, alias="statusCode") + status_msg: Optional[StrictStr] = Field(default=None, alias="statusMsg") + __properties: ClassVar[List[str]] = ["statusCode", "statusMsg"] + + @field_validator('status_code') + def status_code_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['UNDEFINED', 'VEE_API_SUCCESS', 'VEE_API_WARNING', 'VEE_API_ERROR']): + raise ValueError("must be one of enum values ('UNDEFINED', 'VEE_API_SUCCESS', 'VEE_API_WARNING', 'VEE_API_ERROR')") + 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 VeeStatusCodeDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 VeeStatusCodeDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "statusCode": obj.get("statusCode"), + "statusMsg": obj.get("statusMsg") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_thread_state_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_thread_state_dto.py new file mode 100644 index 000000000..6da83f3b1 --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_thread_state_dto.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 VeeThreadStateDTO(BaseModel): + """ + VeeThreadStateDTO + """ # noqa: E501 + question_state: Optional[List[StrictStr]] = Field(default=None, alias="questionState") + __properties: ClassVar[List[str]] = ["questionState"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of VeeThreadStateDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 VeeThreadStateDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "questionState": obj.get("questionState") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_visual_dto.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_visual_dto.py new file mode 100644 index 000000000..f3f76733b --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/models/vee_visual_dto.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +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 VeeVisualDTO(BaseModel): + """ + VeeVisualDTO + """ # noqa: E501 + context: Optional[StrictStr] = None + image: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["context", "image"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of VeeVisualDTO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `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 VeeVisualDTO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "context": obj.get("context"), + "image": obj.get("image") + }) + return _obj + + diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/py.typed b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/py.typed new file mode 100644 index 000000000..e69de29bb diff --git a/src/visier.sdk.api.data_out/visier/sdk/api/data_out/rest.py b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/rest.py new file mode 100644 index 000000000..19ec88adc --- /dev/null +++ b/src/visier.sdk.api.data_out/visier/sdk/api/data_out/rest.py @@ -0,0 +1,257 @@ +# coding: utf-8 + +""" + Visier Data Out APIs + + Visier APIs for getting data out of Visier, such as aggregate data and data version information. + + The version of the OpenAPI document: 0.0.1 + 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 visier.sdk.api.data_out.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'] == 'text/plain' 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)