From 2805c75fef9ddfe4631cf22ebc57c044f6db8565 Mon Sep 17 00:00:00 2001 From: Tyler Mairose Date: Wed, 4 Feb 2026 12:06:30 -0500 Subject: [PATCH] Allow for additional enums outside the documented values --- sailpoint/beta/docs/Models/AccountUsage.md | 2 +- .../NonEmployeeRequestWithoutApprovalItem.md | 4 +- sailpoint/beta/docs/Models/SourceUsage.md | 2 +- sailpoint/beta/models/access_request.py | 4 +- .../access_request_admin_item_status.py | 6 +- .../access_request_recommendation_item.py | 4 +- ...quest_recommendation_item_detail_access.py | 4 +- .../beta/models/account_activity_item.py | 8 +- sailpoint/beta/models/account_request_info.py | 4 +- .../beta/models/approval_forward_history.py | 4 +- .../beta/models/approval_forward_history1.py | 4 +- .../beta/models/approval_item_details.py | 4 +- sailpoint/beta/models/approval_items.py | 4 +- sailpoint/beta/models/approval_status_dto.py | 6 +- sailpoint/beta/models/approval_status_dto1.py | 6 +- sailpoint/beta/models/attribute_definition.py | 4 +- sailpoint/beta/models/base_reference_dto.py | 4 +- sailpoint/beta/models/campaign_report.py | 4 +- .../models/cancelable_account_activity.py | 6 +- .../beta/models/client_log_configuration.py | 6 +- .../beta/models/common_access_item_access.py | 4 +- .../beta/models/common_access_item_request.py | 4 +- .../models/common_access_item_response.py | 4 +- sailpoint/beta/models/completed_approval.py | 6 +- ...ed_approval_pre_approval_trigger_result.py | 4 +- sailpoint/beta/models/config_type.py | 6 +- .../models/configuration_details_response.py | 4 +- .../beta/models/configuration_item_request.py | 4 +- sailpoint/beta/models/connected_object.py | 4 +- .../models/create_o_auth_client_request.py | 8 +- .../models/create_o_auth_client_response.py | 6 +- sailpoint/beta/models/error_message_dto.py | 4 +- sailpoint/beta/models/error_message_dto1.py | 4 +- .../beta/models/exception_criteria_access.py | 4 +- .../beta/models/get_o_auth_client_response.py | 6 +- sailpoint/beta/models/http_config.py | 6 +- sailpoint/beta/models/identity_reference.py | 4 +- .../beta/models/identity_reference_with_id.py | 4 +- sailpoint/beta/models/lookup_step.py | 4 +- sailpoint/beta/models/managed_client.py | 4 +- .../beta/models/managed_client_status.py | 4 +- .../managed_client_status_agg_response.py | 4 +- sailpoint/beta/models/managed_cluster.py | 6 +- .../beta/models/manual_work_item_details.py | 4 +- .../beta/models/manual_work_item_details1.py | 4 +- .../beta/models/non_employee_approval_item.py | 2 +- .../models/non_employee_approval_item_base.py | 2 +- .../non_employee_approval_item_detail.py | 2 +- sailpoint/beta/models/non_employee_request.py | 4 +- ..._employee_request_without_approval_item.py | 4 +- sailpoint/beta/models/pending_approval.py | 6 +- sailpoint/beta/models/preferences_dto.py | 4 +- .../models/provisioning_criteria_level1.py | 4 +- .../models/provisioning_criteria_level2.py | 4 +- .../models/provisioning_criteria_level3.py | 4 +- .../beta/models/provisioning_policy_dto.py | 4 +- sailpoint/beta/models/requestable_object.py | 4 +- .../beta/models/requested_account_ref.py | 4 +- .../beta/models/requested_item_status.py | 6 +- sailpoint/beta/models/role_criteria_level1.py | 4 +- sailpoint/beta/models/role_criteria_level2.py | 4 +- sailpoint/beta/models/role_criteria_level3.py | 4 +- sailpoint/beta/models/role_identity.py | 4 +- .../beta/models/role_membership_identity.py | 4 +- .../beta/models/role_membership_selector.py | 4 +- .../beta/models/role_mining_potential_role.py | 6 +- ...e_mining_potential_role_export_response.py | 4 +- .../role_mining_potential_role_summary.py | 6 +- .../role_mining_session_draft_role_dto.py | 4 +- .../beta/models/role_mining_session_dto.py | 4 +- .../role_mining_session_parameters_dto.py | 8 +- .../models/role_mining_session_response.py | 4 +- .../beta/models/role_mining_session_status.py | 4 +- ...details_all_of_before_provisioning_rule.py | 4 +- sailpoint/beta/models/sod_exempt_criteria.py | 4 +- sailpoint/beta/models/sod_exempt_criteria1.py | 4 +- sailpoint/beta/models/sod_exempt_criteria2.py | 4 +- .../beta/models/subscription_put_request.py | 4 +- sailpoint/beta/models/work_items.py | 6 +- sailpoint/beta/test/test_account_usage.py | 2 +- ..._employee_request_without_approval_item.py | 4 +- sailpoint/beta/test/test_source_usage.py | 2 +- sailpoint/v2024/docs/Models/AccountUsage.md | 2 +- .../NonEmployeeRequestWithoutApprovalItem.md | 4 +- sailpoint/v2024/docs/Models/SourceUsage.md | 2 +- sailpoint/v2024/models/access_request.py | 4 +- .../access_request_admin_item_status.py | 6 +- .../access_request_recommendation_item.py | 4 +- ...quest_recommendation_item_detail_access.py | 4 +- sailpoint/v2024/models/access_review_item.py | 4 +- .../v2024/models/access_summary_access.py | 4 +- sailpoint/v2024/models/account_activity.py | 6 +- .../v2024/models/account_activity_item.py | 8 +- .../models/account_all_of_owner_identity.py | 4 +- sailpoint/v2024/models/account_info_ref.py | 4 +- .../v2024/models/account_request_info.py | 4 +- .../models/accounts_selection_request.py | 4 +- .../v2024/models/approval_forward_history.py | 4 +- sailpoint/v2024/models/approval_status_dto.py | 6 +- .../v2024/models/attribute_definition.py | 4 +- sailpoint/v2024/models/base_reference_dto.py | 4 +- sailpoint/v2024/models/bucket_aggregation.py | 4 +- ...aign_filter_details_criteria_list_inner.py | 4 +- sailpoint/v2024/models/campaign_report.py | 4 +- sailpoint/v2024/models/certification.py | 4 +- .../v2024/models/client_log_configuration.py | 6 +- ...ient_log_configuration_duration_minutes.py | 6 +- .../client_log_configuration_expiration.py | 6 +- .../v2024/models/common_access_item_access.py | 4 +- .../models/common_access_item_request.py | 4 +- .../models/common_access_item_response.py | 4 +- sailpoint/v2024/models/completed_approval.py | 6 +- ...ed_approval_pre_approval_trigger_result.py | 4 +- sailpoint/v2024/models/config_type.py | 6 +- .../models/configuration_details_response.py | 4 +- .../models/configuration_item_request.py | 4 +- .../models/create_o_auth_client_request.py | 8 +- .../models/create_o_auth_client_response.py | 6 +- .../models/create_saved_search_request.py | 4 +- sailpoint/v2024/models/data_segment.py | 4 +- .../v2024/models/dimension_criteria_level1.py | 4 +- .../v2024/models/dimension_criteria_level2.py | 4 +- .../v2024/models/dimension_criteria_level3.py | 4 +- .../models/dimension_membership_selector.py | 4 +- sailpoint/v2024/models/error_message_dto.py | 4 +- .../v2024/models/exception_criteria_access.py | 4 +- sailpoint/v2024/models/filter.py | 4 +- sailpoint/v2024/models/filter_aggregation.py | 4 +- .../models/get_o_auth_client_response.py | 6 +- sailpoint/v2024/models/http_config.py | 6 +- .../models/identity_account_selections.py | 4 +- .../models/identity_certification_dto.py | 4 +- sailpoint/v2024/models/identity_reference.py | 4 +- sailpoint/v2024/models/lookup_step.py | 4 +- .../machine_classification_criteria_level1.py | 4 +- .../machine_classification_criteria_level2.py | 4 +- .../machine_classification_criteria_level3.py | 4 +- .../v2024/models/managed_client_status.py | 4 +- sailpoint/v2024/models/managed_cluster.py | 6 +- .../v2024/models/managed_cluster_request.py | 4 +- .../v2024/models/manual_work_item_details.py | 4 +- sailpoint/v2024/models/metric_aggregation.py | 4 +- .../models/non_employee_approval_item.py | 2 +- .../models/non_employee_approval_item_base.py | 2 +- .../non_employee_approval_item_detail.py | 2 +- ...non_employee_identity_reference_with_id.py | 4 +- .../v2024/models/non_employee_request.py | 4 +- ..._employee_request_without_approval_item.py | 4 +- sailpoint/v2024/models/pending_approval.py | 6 +- sailpoint/v2024/models/preferences_dto.py | 4 +- .../models/provisioning_criteria_level1.py | 4 +- .../models/provisioning_criteria_level2.py | 4 +- .../models/provisioning_criteria_level3.py | 4 +- sailpoint/v2024/models/provisioning_policy.py | 4 +- .../v2024/models/provisioning_policy_dto.py | 4 +- sailpoint/v2024/models/ref.py | 4 +- sailpoint/v2024/models/requestable_object.py | 4 +- .../v2024/models/requested_account_ref.py | 4 +- .../v2024/models/requested_item_status.py | 6 +- .../models/reviewable_entitlement_account.py | 4 +- .../v2024/models/role_criteria_level1.py | 4 +- .../v2024/models/role_criteria_level2.py | 4 +- .../v2024/models/role_criteria_level3.py | 4 +- sailpoint/v2024/models/role_identity.py | 4 +- .../v2024/models/role_membership_identity.py | 4 +- .../v2024/models/role_membership_selector.py | 4 +- .../models/role_mining_potential_role.py | 4 +- ...e_mining_potential_role_export_response.py | 4 +- .../role_mining_potential_role_summary.py | 6 +- .../role_mining_session_draft_role_dto.py | 4 +- .../v2024/models/role_mining_session_dto.py | 4 +- .../role_mining_session_parameters_dto.py | 8 +- .../models/role_mining_session_response.py | 4 +- .../models/role_mining_session_status.py | 4 +- sailpoint/v2024/models/saved_search.py | 4 +- sailpoint/v2024/models/saved_search_detail.py | 4 +- .../models/saved_search_detail_filters.py | 4 +- sailpoint/v2024/models/scope.py | 6 +- sailpoint/v2024/models/search.py | 8 +- .../models/search_export_report_arguments.py | 4 +- ...details_all_of_before_provisioning_rule.py | 4 +- sailpoint/v2024/models/sod_exempt_criteria.py | 4 +- .../v2024/models/source_account_selections.py | 4 +- .../v2024/models/subscription_put_request.py | 4 +- sailpoint/v2024/models/work_items.py | 6 +- sailpoint/v2024/test/test_account_usage.py | 2 +- ..._employee_request_without_approval_item.py | 4 +- sailpoint/v2024/test/test_source_usage.py | 2 +- sailpoint/v2025/docs/Models/AccountUsage.md | 2 +- .../NonEmployeeRequestWithoutApprovalItem.md | 4 +- sailpoint/v2025/docs/Models/SourceUsage.md | 2 +- sailpoint/v2025/models/access_request.py | 4 +- .../access_request_admin_item_status.py | 6 +- .../access_request_recommendation_item.py | 4 +- ...quest_recommendation_item_detail_access.py | 4 +- sailpoint/v2025/models/access_review_item.py | 4 +- .../v2025/models/access_summary_access.py | 4 +- sailpoint/v2025/models/account_activity.py | 6 +- .../v2025/models/account_activity_item.py | 8 +- .../models/account_all_of_owner_identity.py | 4 +- sailpoint/v2025/models/account_info_ref.py | 4 +- .../v2025/models/account_request_info.py | 4 +- .../models/accounts_selection_request.py | 4 +- .../models/application_crawler_settings.py | 4 +- .../application_discovery_response_target.py | 4 +- .../v2025/models/approval_forward_history.py | 4 +- sailpoint/v2025/models/approval_status_dto.py | 6 +- .../v2025/models/attribute_definition.py | 4 +- .../models/base_create_application_request.py | 4 +- sailpoint/v2025/models/base_reference_dto.py | 4 +- sailpoint/v2025/models/bucket_aggregation.py | 4 +- ...aign_filter_details_criteria_list_inner.py | 4 +- sailpoint/v2025/models/campaign_report.py | 4 +- sailpoint/v2025/models/certification.py | 4 +- .../v2025/models/client_log_configuration.py | 6 +- ...ient_log_configuration_duration_minutes.py | 6 +- .../client_log_configuration_expiration.py | 6 +- .../v2025/models/common_access_item_access.py | 4 +- .../models/common_access_item_request.py | 4 +- .../models/common_access_item_response.py | 4 +- sailpoint/v2025/models/completed_approval.py | 6 +- ...ed_approval_pre_approval_trigger_result.py | 4 +- sailpoint/v2025/models/config_type.py | 6 +- .../models/configuration_details_response.py | 4 +- .../models/configuration_item_request.py | 4 +- .../models/create_o_auth_client_request.py | 8 +- .../models/create_o_auth_client_response.py | 6 +- .../models/create_saved_search_request.py | 4 +- sailpoint/v2025/models/data_segment.py | 4 +- .../v2025/models/dimension_criteria_level1.py | 4 +- .../v2025/models/dimension_criteria_level2.py | 4 +- .../v2025/models/dimension_criteria_level3.py | 4 +- .../models/dimension_membership_selector.py | 4 +- sailpoint/v2025/models/error_message_dto.py | 4 +- sailpoint/v2025/models/error_message_dto1.py | 4 +- .../v2025/models/exception_criteria_access.py | 4 +- sailpoint/v2025/models/filter.py | 4 +- sailpoint/v2025/models/filter_aggregation.py | 4 +- .../models/get_o_auth_client_response.py | 6 +- sailpoint/v2025/models/http_config.py | 6 +- .../models/identity_account_selections.py | 4 +- .../models/identity_certification_dto.py | 4 +- sailpoint/v2025/models/identity_reference.py | 4 +- sailpoint/v2025/models/lookup_step.py | 4 +- .../machine_classification_criteria_level1.py | 4 +- .../machine_classification_criteria_level2.py | 4 +- .../machine_classification_criteria_level3.py | 4 +- ...ne_identity_aggregation_response_target.py | 4 +- ...y_user_entitlement_response_entitlement.py | 4 +- ...entity_user_entitlement_response_source.py | 4 +- .../v2025/models/managed_client_status.py | 4 +- sailpoint/v2025/models/managed_cluster.py | 6 +- .../v2025/models/managed_cluster_request.py | 4 +- .../v2025/models/manual_work_item_details.py | 4 +- sailpoint/v2025/models/metric_aggregation.py | 4 +- .../models/non_employee_approval_item.py | 2 +- .../models/non_employee_approval_item_base.py | 2 +- .../non_employee_approval_item_detail.py | 2 +- ...non_employee_identity_reference_with_id.py | 4 +- .../v2025/models/non_employee_request.py | 4 +- ..._employee_request_without_approval_item.py | 4 +- sailpoint/v2025/models/pending_approval.py | 6 +- sailpoint/v2025/models/preferences_dto.py | 4 +- .../models/provisioning_criteria_level1.py | 4 +- .../models/provisioning_criteria_level2.py | 4 +- .../models/provisioning_criteria_level3.py | 4 +- sailpoint/v2025/models/provisioning_policy.py | 4 +- .../v2025/models/provisioning_policy_dto.py | 4 +- sailpoint/v2025/models/ref.py | 4 +- sailpoint/v2025/models/requestable_object.py | 4 +- .../v2025/models/requested_account_ref.py | 4 +- .../v2025/models/requested_item_status.py | 6 +- sailpoint/v2025/models/resource_model.py | 4 +- .../models/reviewable_entitlement_account.py | 4 +- .../v2025/models/role_criteria_level1.py | 4 +- .../v2025/models/role_criteria_level2.py | 4 +- .../v2025/models/role_criteria_level3.py | 4 +- sailpoint/v2025/models/role_identity.py | 4 +- .../v2025/models/role_membership_identity.py | 4 +- .../v2025/models/role_membership_selector.py | 4 +- .../models/role_mining_potential_role.py | 4 +- ...e_mining_potential_role_export_response.py | 4 +- .../role_mining_potential_role_summary.py | 6 +- .../role_mining_session_draft_role_dto.py | 4 +- .../v2025/models/role_mining_session_dto.py | 4 +- .../role_mining_session_parameters_dto.py | 8 +- .../models/role_mining_session_response.py | 4 +- .../models/role_mining_session_status.py | 4 +- sailpoint/v2025/models/saved_search.py | 4 +- sailpoint/v2025/models/saved_search_detail.py | 4 +- .../models/saved_search_detail_filters.py | 4 +- sailpoint/v2025/models/scope.py | 6 +- sailpoint/v2025/models/search.py | 8 +- .../models/search_export_report_arguments.py | 4 +- ...details_all_of_before_provisioning_rule.py | 4 +- sailpoint/v2025/models/sod_exempt_criteria.py | 4 +- .../v2025/models/source_account_selections.py | 4 +- .../v2025/models/subscription_put_request.py | 4 +- sailpoint/v2025/models/work_items.py | 6 +- sailpoint/v2025/test/test_account_usage.py | 2 +- ..._employee_request_without_approval_item.py | 4 +- sailpoint/v2025/test/test_source_usage.py | 2 +- sailpoint/v2026/models/error_message_dto.py | 4 +- sailpoint/v3/docs/Models/AccountUsage.md | 2 +- .../NonEmployeeRequestWithoutApprovalItem.md | 4 +- sailpoint/v3/docs/Models/SourceUsage.md | 2 +- sailpoint/v3/models/access_request.py | 4 +- sailpoint/v3/models/access_review_item.py | 4 +- sailpoint/v3/models/access_summary_access.py | 4 +- sailpoint/v3/models/account_activity.py | 6 +- sailpoint/v3/models/account_activity_item.py | 8 +- .../models/account_all_of_owner_identity.py | 4 +- sailpoint/v3/models/account_request_info.py | 4 +- .../v3/models/approval_forward_history.py | 4 +- sailpoint/v3/models/approval_status_dto.py | 6 +- sailpoint/v3/models/attribute_definition.py | 4 +- sailpoint/v3/models/base_reference_dto.py | 4 +- sailpoint/v3/models/bucket_aggregation.py | 4 +- ...aign_filter_details_criteria_list_inner.py | 4 +- sailpoint/v3/models/campaign_report.py | 4 +- sailpoint/v3/models/certification.py | 4 +- .../v3/models/client_log_configuration.py | 6 +- ...ient_log_configuration_duration_minutes.py | 6 +- .../client_log_configuration_expiration.py | 6 +- sailpoint/v3/models/completed_approval.py | 6 +- ...ed_approval_pre_approval_trigger_result.py | 4 +- .../v3/models/create_o_auth_client_request.py | 8 +- .../models/create_o_auth_client_response.py | 6 +- .../v3/models/create_saved_search_request.py | 4 +- sailpoint/v3/models/error_message_dto.py | 4 +- .../v3/models/exception_criteria_access.py | 4 +- sailpoint/v3/models/filter.py | 4 +- sailpoint/v3/models/filter_aggregation.py | 4 +- .../v3/models/get_o_auth_client_response.py | 6 +- .../v3/models/identity_certification_dto.py | 4 +- sailpoint/v3/models/identity_reference.py | 4 +- sailpoint/v3/models/managed_client_status.py | 4 +- sailpoint/v3/models/managed_cluster.py | 6 +- .../v3/models/managed_cluster_request.py | 4 +- .../v3/models/manual_work_item_details.py | 4 +- sailpoint/v3/models/metric_aggregation.py | 4 +- .../v3/models/non_employee_approval_item.py | 2 +- .../models/non_employee_approval_item_base.py | 2 +- .../non_employee_approval_item_detail.py | 2 +- ...non_employee_identity_reference_with_id.py | 4 +- sailpoint/v3/models/non_employee_request.py | 4 +- ..._employee_request_without_approval_item.py | 4 +- sailpoint/v3/models/pending_approval.py | 6 +- .../v3/models/provisioning_criteria_level1.py | 4 +- .../v3/models/provisioning_criteria_level2.py | 4 +- .../v3/models/provisioning_criteria_level3.py | 4 +- sailpoint/v3/models/provisioning_policy.py | 4 +- .../v3/models/provisioning_policy_dto.py | 4 +- sailpoint/v3/models/requestable_object.py | 4 +- sailpoint/v3/models/requested_account_ref.py | 4 +- sailpoint/v3/models/requested_item_status.py | 6 +- .../models/reviewable_entitlement_account.py | 4 +- sailpoint/v3/models/role_criteria_level1.py | 4 +- sailpoint/v3/models/role_criteria_level2.py | 4 +- sailpoint/v3/models/role_criteria_level3.py | 4 +- sailpoint/v3/models/role_identity.py | 4 +- .../v3/models/role_membership_identity.py | 4 +- .../v3/models/role_membership_selector.py | 4 +- sailpoint/v3/models/saved_search.py | 4 +- sailpoint/v3/models/saved_search_detail.py | 4 +- .../v3/models/saved_search_detail_filters.py | 4 +- sailpoint/v3/models/search.py | 8 +- .../models/search_export_report_arguments.py | 4 +- sailpoint/v3/models/sod_exempt_criteria.py | 4 +- sailpoint/v3/models/work_items.py | 6 +- sailpoint/v3/test/test_account_usage.py | 2 +- ..._employee_request_without_approval_item.py | 4 +- sailpoint/v3/test/test_source_usage.py | 2 +- sdk-resources/lenient-enum-postprocess.js | 135 ++++++++++++++++++ sdk-resources/postscript.js | 23 ++- validation_test.py | 59 ++++++++ 376 files changed, 1021 insertions(+), 812 deletions(-) create mode 100644 sdk-resources/lenient-enum-postprocess.js diff --git a/sailpoint/beta/docs/Models/AccountUsage.md b/sailpoint/beta/docs/Models/AccountUsage.md index dced03305..6d30198f2 100644 --- a/sailpoint/beta/docs/Models/AccountUsage.md +++ b/sailpoint/beta/docs/Models/AccountUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.beta.models.account_usage import AccountUsage account_usage = AccountUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10 ) diff --git a/sailpoint/beta/docs/Models/NonEmployeeRequestWithoutApprovalItem.md b/sailpoint/beta/docs/Models/NonEmployeeRequestWithoutApprovalItem.md index 464bbb8c2..4636c98b1 100644 --- a/sailpoint/beta/docs/Models/NonEmployeeRequestWithoutApprovalItem.md +++ b/sailpoint/beta/docs/Models/NonEmployeeRequestWithoutApprovalItem.md @@ -56,8 +56,8 @@ data={description=Auditing}, approval_status='APPROVED', comment='approved', completion_date='2020-03-24T11:11:41.139-05:00', -start_date='Tue Mar 24 00:00:00 UTC 2020', -end_date='Thu Mar 25 00:00:00 UTC 2021', +start_date='Mon Mar 23 20:00:00 EDT 2020', +end_date='Wed Mar 24 20:00:00 EDT 2021', modified='2020-03-24T11:11:41.139-05:00', created='2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/beta/docs/Models/SourceUsage.md b/sailpoint/beta/docs/Models/SourceUsage.md index fbcbd7a29..72badf0ff 100644 --- a/sailpoint/beta/docs/Models/SourceUsage.md +++ b/sailpoint/beta/docs/Models/SourceUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.beta.models.source_usage import SourceUsage source_usage = SourceUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10.45 ) diff --git a/sailpoint/beta/models/access_request.py b/sailpoint/beta/models/access_request.py index c015a029d..da17f3c49 100644 --- a/sailpoint/beta/models/access_request.py +++ b/sailpoint/beta/models/access_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from sailpoint.beta.models.access_request_item import AccessRequestItem from sailpoint.beta.models.access_request_type import AccessRequestType @@ -32,7 +32,7 @@ class AccessRequest(BaseModel): AccessRequest """ # noqa: E501 requested_for: List[StrictStr] = Field(description="A list of Identity IDs for whom the Access is requested. If it's a Revoke request, there can only be one Identity ID.", alias="requestedFor") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requested_items: Annotated[List[AccessRequestItem], Field(min_length=1)] = Field(alias="requestedItems") client_metadata: Optional[Dict[str, StrictStr]] = Field(default=None, description="Arbitrary key-value pairs. They will never be processed by the IdentityNow system but will be returned on associated APIs such as /account-activities.", alias="clientMetadata") requested_for_with_requested_items: Optional[List[RequestedForDtoRef]] = Field(default=None, description="Additional submit data structure with requestedFor containing requestedItems allowing distinction for each request item and Identity. * Can only be used when 'requestedFor' and 'requestedItems' are not separately provided * Adds ability to specify which account the user wants the access on, in case they have multiple accounts on a source * Allows the ability to request items with different remove dates * Also allows different combinations of request items and identities in the same request * Only for use in GRANT_ACCESS type requests ", alias="requestedForWithRequestedItems") diff --git a/sailpoint/beta/models/access_request_admin_item_status.py b/sailpoint/beta/models/access_request_admin_item_status.py index bd0c20892..326721122 100644 --- a/sailpoint/beta/models/access_request_admin_item_status.py +++ b/sailpoint/beta/models/access_request_admin_item_status.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.access_item_requester import AccessItemRequester from sailpoint.beta.models.access_request_admin_item_status_cancelled_request_details import AccessRequestAdminItemStatusCancelledRequestDetails from sailpoint.beta.models.access_request_admin_item_status_sod_violation_context import AccessRequestAdminItemStatusSodViolationContext @@ -46,11 +46,11 @@ class AccessRequestAdminItemStatus(BaseModel): type: Optional[StrictStr] = Field(default=None, description="Type of requested object.") cancelled_request_details: Optional[AccessRequestAdminItemStatusCancelledRequestDetails] = Field(default=None, alias="cancelledRequestDetails") error_messages: Optional[List[List[ErrorMessageDto1]]] = Field(default=None, description="List of localized error messages, if any, encountered during the approval/provisioning process.", alias="errorMessages") - state: Optional[RequestedItemStatusRequestState] = None + state: Optional[Union[RequestedItemStatusRequestState, str]] = None approval_details: Optional[List[ApprovalStatusDto1]] = Field(default=None, description="Approval details for each item.", alias="approvalDetails") manual_work_item_details: Optional[List[ManualWorkItemDetails1]] = Field(default=None, description="Manual work items created for provisioning the item.", alias="manualWorkItemDetails") account_activity_item_id: Optional[StrictStr] = Field(default=None, description="Id of associated account activity item.", alias="accountActivityItemId") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") created: Optional[datetime] = Field(default=None, description="When the request was created.") requester: Optional[AccessItemRequester] = None diff --git a/sailpoint/beta/models/access_request_recommendation_item.py b/sailpoint/beta/models/access_request_recommendation_item.py index 239f5e1d4..b9c4792d7 100644 --- a/sailpoint/beta/models/access_request_recommendation_item.py +++ b/sailpoint/beta/models/access_request_recommendation_item.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.access_request_recommendation_item_type import AccessRequestRecommendationItemType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class AccessRequestRecommendationItem(BaseModel): AccessRequestRecommendationItem """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="ID of access item being recommended.") - type: Optional[AccessRequestRecommendationItemType] = None + type: Optional[Union[AccessRequestRecommendationItemType, str]] = None __properties: ClassVar[List[str]] = ["id", "type"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/access_request_recommendation_item_detail_access.py b/sailpoint/beta/models/access_request_recommendation_item_detail_access.py index e2d148c76..e9e8a79ad 100644 --- a/sailpoint/beta/models/access_request_recommendation_item_detail_access.py +++ b/sailpoint/beta/models/access_request_recommendation_item_detail_access.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.access_request_recommendation_item_type import AccessRequestRecommendationItemType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class AccessRequestRecommendationItemDetailAccess(BaseModel): AccessRequestRecommendationItemDetailAccess """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="ID of access item being recommended.") - type: Optional[AccessRequestRecommendationItemType] = None + type: Optional[Union[AccessRequestRecommendationItemType, str]] = None name: Optional[StrictStr] = Field(default=None, description="Name of the access item") description: Optional[StrictStr] = Field(default=None, description="Description of the access item") __properties: ClassVar[List[str]] = ["id", "type", "name", "description"] diff --git a/sailpoint/beta/models/account_activity_item.py b/sailpoint/beta/models/account_activity_item.py index 4cc18fae4..5497fcd56 100644 --- a/sailpoint/beta/models/account_activity_item.py +++ b/sailpoint/beta/models/account_activity_item.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.account_activity_approval_status import AccountActivityApprovalStatus from sailpoint.beta.models.account_activity_item_operation import AccountActivityItemOperation from sailpoint.beta.models.account_request_info import AccountRequestInfo @@ -37,12 +37,12 @@ class AccountActivityItem(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Item id") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of item") requested: Optional[datetime] = Field(default=None, description="Date and time item was requested") - approval_status: Optional[AccountActivityApprovalStatus] = Field(default=None, alias="approvalStatus") - provisioning_status: Optional[ProvisioningState] = Field(default=None, alias="provisioningStatus") + approval_status: Optional[Union[AccountActivityApprovalStatus, str]] = Field(default=None, alias="approvalStatus") + provisioning_status: Optional[Union[ProvisioningState, str]] = Field(default=None, alias="provisioningStatus") requester_comment: Optional[Comment] = Field(default=None, alias="requesterComment") reviewer_identity_summary: Optional[IdentitySummary] = Field(default=None, alias="reviewerIdentitySummary") reviewer_comment: Optional[Comment] = Field(default=None, alias="reviewerComment") - operation: Optional[AccountActivityItemOperation] = None + operation: Optional[Union[AccountActivityItemOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Attribute to which account activity applies") value: Optional[StrictStr] = Field(default=None, description="Value of attribute") native_identity: Optional[StrictStr] = Field(default=None, description="Native identity in the target system to which the account activity applies", alias="nativeIdentity") diff --git a/sailpoint/beta/models/account_request_info.py b/sailpoint/beta/models/account_request_info.py index 0e24cbc61..d32f53bfe 100644 --- a/sailpoint/beta/models/account_request_info.py +++ b/sailpoint/beta/models/account_request_info.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.requestable_object_type import RequestableObjectType from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class AccountRequestInfo(BaseModel): """ # noqa: E501 requested_object_id: Optional[StrictStr] = Field(default=None, description="Id of requested object", alias="requestedObjectId") requested_object_name: Optional[StrictStr] = Field(default=None, description="Human-readable name of requested object", alias="requestedObjectName") - requested_object_type: Optional[RequestableObjectType] = Field(default=None, alias="requestedObjectType") + requested_object_type: Optional[Union[RequestableObjectType, str]] = Field(default=None, alias="requestedObjectType") __properties: ClassVar[List[str]] = ["requestedObjectId", "requestedObjectName", "requestedObjectType"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/approval_forward_history.py b/sailpoint/beta/models/approval_forward_history.py index 3ce7cbf28..332cc600d 100644 --- a/sailpoint/beta/models/approval_forward_history.py +++ b/sailpoint/beta/models/approval_forward_history.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.reassignment_type import ReassignmentType from typing import Optional, Set from typing_extensions import Self @@ -34,7 +34,7 @@ class ApprovalForwardHistory(BaseModel): comment: Optional[StrictStr] = Field(default=None, description="Comment made while forwarding.") modified: Optional[datetime] = Field(default=None, description="Time at which approval was forwarded.") forwarder_name: Optional[StrictStr] = Field(default=None, description="Display name of forwarder who forwarded the approval.", alias="forwarderName") - reassignment_type: Optional[ReassignmentType] = Field(default=None, alias="reassignmentType") + reassignment_type: Optional[Union[ReassignmentType, str]] = Field(default=None, alias="reassignmentType") __properties: ClassVar[List[str]] = ["oldApproverName", "newApproverName", "comment", "modified", "forwarderName", "reassignmentType"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/approval_forward_history1.py b/sailpoint/beta/models/approval_forward_history1.py index dc4400e12..8ba8314bf 100644 --- a/sailpoint/beta/models/approval_forward_history1.py +++ b/sailpoint/beta/models/approval_forward_history1.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.reassignment_type import ReassignmentType from typing import Optional, Set from typing_extensions import Self @@ -34,7 +34,7 @@ class ApprovalForwardHistory1(BaseModel): comment: Optional[StrictStr] = Field(default=None, description="Comment made while forwarding.") modified: Optional[datetime] = Field(default=None, description="Time at which approval was forwarded.") forwarder_name: Optional[StrictStr] = Field(default=None, description="Display name of forwarder who forwarded the approval.", alias="forwarderName") - reassignment_type: Optional[ReassignmentType] = Field(default=None, alias="reassignmentType") + reassignment_type: Optional[Union[ReassignmentType, str]] = Field(default=None, alias="reassignmentType") __properties: ClassVar[List[str]] = ["oldApproverName", "newApproverName", "comment", "modified", "forwarderName", "reassignmentType"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/approval_item_details.py b/sailpoint/beta/models/approval_item_details.py index 2e25c2e9c..527da4110 100644 --- a/sailpoint/beta/models/approval_item_details.py +++ b/sailpoint/beta/models/approval_item_details.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.work_item_state import WorkItemState from typing import Optional, Set from typing_extensions import Self @@ -34,7 +34,7 @@ class ApprovalItemDetails(BaseModel): name: Optional[StrictStr] = Field(default=None, description="The attribute's name") operation: Optional[StrictStr] = Field(default=None, description="The attribute's operation") value: Optional[StrictStr] = Field(default=None, description="The attribute's value") - state: Optional[WorkItemState] = None + state: Optional[Union[WorkItemState, str]] = None __properties: ClassVar[List[str]] = ["id", "account", "application", "name", "operation", "value", "state"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/approval_items.py b/sailpoint/beta/models/approval_items.py index 90afa1553..0c40bc212 100644 --- a/sailpoint/beta/models/approval_items.py +++ b/sailpoint/beta/models/approval_items.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.work_item_state import WorkItemState from typing import Optional, Set from typing_extensions import Self @@ -34,7 +34,7 @@ class ApprovalItems(BaseModel): name: Optional[StrictStr] = Field(default=None, description="The attribute's name") operation: Optional[StrictStr] = Field(default=None, description="The attribute's operation") value: Optional[StrictStr] = Field(default=None, description="The attribute's value") - state: Optional[WorkItemState] = None + state: Optional[Union[WorkItemState, str]] = None __properties: ClassVar[List[str]] = ["id", "account", "application", "name", "operation", "value", "state"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/approval_status_dto.py b/sailpoint/beta/models/approval_status_dto.py index c613fba08..6d71864c8 100644 --- a/sailpoint/beta/models/approval_status_dto.py +++ b/sailpoint/beta/models/approval_status_dto.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.approval_scheme import ApprovalScheme from sailpoint.beta.models.approval_status_dto_current_owner import ApprovalStatusDtoCurrentOwner from sailpoint.beta.models.approval_status_dto_original_owner import ApprovalStatusDtoOriginalOwner @@ -38,8 +38,8 @@ class ApprovalStatusDto(BaseModel): original_owner: Optional[ApprovalStatusDtoOriginalOwner] = Field(default=None, alias="originalOwner") current_owner: Optional[ApprovalStatusDtoCurrentOwner] = Field(default=None, alias="currentOwner") modified: Optional[datetime] = Field(default=None, description="Time at which item was modified.") - status: Optional[ManualWorkItemState] = None - scheme: Optional[ApprovalScheme] = None + status: Optional[Union[ManualWorkItemState, str]] = None + scheme: Optional[Union[ApprovalScheme, str]] = None error_messages: Optional[List[ErrorMessageDto]] = Field(default=None, description="If the request failed, includes any error messages that were generated.", alias="errorMessages") comment: Optional[StrictStr] = Field(default=None, description="Comment, if any, provided by the approver.") remove_date: Optional[datetime] = Field(default=None, description="The date the role or access profile or entitlement is no longer assigned to the specified identity.", alias="removeDate") diff --git a/sailpoint/beta/models/approval_status_dto1.py b/sailpoint/beta/models/approval_status_dto1.py index cca01b04c..ae324bbb9 100644 --- a/sailpoint/beta/models/approval_status_dto1.py +++ b/sailpoint/beta/models/approval_status_dto1.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.approval_scheme import ApprovalScheme from sailpoint.beta.models.approval_status_dto_current_owner import ApprovalStatusDtoCurrentOwner from sailpoint.beta.models.approval_status_dto_original_owner import ApprovalStatusDtoOriginalOwner @@ -37,8 +37,8 @@ class ApprovalStatusDto1(BaseModel): original_owner: Optional[ApprovalStatusDtoOriginalOwner] = Field(default=None, alias="originalOwner") current_owner: Optional[ApprovalStatusDtoCurrentOwner] = Field(default=None, alias="currentOwner") modified: Optional[datetime] = Field(default=None, description="Time at which item was modified.") - status: Optional[ManualWorkItemState] = None - scheme: Optional[ApprovalScheme] = None + status: Optional[Union[ManualWorkItemState, str]] = None + scheme: Optional[Union[ApprovalScheme, str]] = None error_messages: Optional[List[ErrorMessageDto1]] = Field(default=None, description="If the request failed, includes any error messages that were generated.", alias="errorMessages") comment: Optional[StrictStr] = Field(default=None, description="Comment, if any, provided by the approver.") remove_date: Optional[datetime] = Field(default=None, description="The date the role or access profile or entitlement is no longer assigned to the specified identity.", alias="removeDate") diff --git a/sailpoint/beta/models/attribute_definition.py b/sailpoint/beta/models/attribute_definition.py index efef8c37e..4a2da0f86 100644 --- a/sailpoint/beta/models/attribute_definition.py +++ b/sailpoint/beta/models/attribute_definition.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.attribute_definition_schema import AttributeDefinitionSchema from sailpoint.beta.models.attribute_definition_type import AttributeDefinitionType from typing import Optional, Set @@ -31,7 +31,7 @@ class AttributeDefinition(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(default=None, description="The name of the attribute.") native_name: Optional[StrictStr] = Field(default=None, description="Attribute name in the native system.", alias="nativeName") - type: Optional[AttributeDefinitionType] = None + type: Optional[Union[AttributeDefinitionType, str]] = None var_schema: Optional[AttributeDefinitionSchema] = Field(default=None, alias="schema") description: Optional[StrictStr] = Field(default=None, description="A human-readable description of the attribute.") is_multi: Optional[StrictBool] = Field(default=False, description="Flag indicating whether or not the attribute is multi-valued.", alias="isMulti") diff --git a/sailpoint/beta/models/base_reference_dto.py b/sailpoint/beta/models/base_reference_dto.py index 0366e4886..569270ade 100644 --- a/sailpoint/beta/models/base_reference_dto.py +++ b/sailpoint/beta/models/base_reference_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class BaseReferenceDto(BaseModel): """ BaseReferenceDto """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/beta/models/campaign_report.py b/sailpoint/beta/models/campaign_report.py index 2ba3a3418..b7ae3bc60 100644 --- a/sailpoint/beta/models/campaign_report.py +++ b/sailpoint/beta/models/campaign_report.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.report_type import ReportType from typing import Optional, Set from typing_extensions import Self @@ -33,7 +33,7 @@ class CampaignReport(BaseModel): id: Optional[StrictStr] = Field(default=None, description="SOD policy violation report result ID.") name: Optional[StrictStr] = Field(default=None, description="Human-readable name of the SOD policy violation report result.") status: Optional[StrictStr] = Field(default=None, description="Status of a SOD policy violation report.") - report_type: ReportType = Field(alias="reportType") + report_type: Union[ReportType, str] = Field(alias="reportType") last_run_at: Optional[datetime] = Field(default=None, description="The most recent date and time this report was run", alias="lastRunAt") __properties: ClassVar[List[str]] = ["type", "id", "name", "status", "reportType", "lastRunAt"] diff --git a/sailpoint/beta/models/cancelable_account_activity.py b/sailpoint/beta/models/cancelable_account_activity.py index 677d7bd4e..31fe3a295 100644 --- a/sailpoint/beta/models/cancelable_account_activity.py +++ b/sailpoint/beta/models/cancelable_account_activity.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.account_activity_item import AccountActivityItem from sailpoint.beta.models.comment import Comment from sailpoint.beta.models.completion_status import CompletionStatus @@ -38,14 +38,14 @@ class CancelableAccountActivity(BaseModel): created: Optional[datetime] = None modified: Optional[datetime] = None completed: Optional[datetime] = None - completion_status: Optional[CompletionStatus] = Field(default=None, alias="completionStatus") + completion_status: Optional[Union[CompletionStatus, str]] = Field(default=None, alias="completionStatus") type: Optional[StrictStr] = None requester_identity_summary: Optional[IdentitySummary] = Field(default=None, alias="requesterIdentitySummary") target_identity_summary: Optional[IdentitySummary] = Field(default=None, alias="targetIdentitySummary") errors: Optional[List[StrictStr]] = None warnings: Optional[List[StrictStr]] = None items: Optional[List[AccountActivityItem]] = None - execution_status: Optional[ExecutionStatus] = Field(default=None, alias="executionStatus") + execution_status: Optional[Union[ExecutionStatus, str]] = Field(default=None, alias="executionStatus") client_metadata: Optional[Dict[str, StrictStr]] = Field(default=None, description="Arbitrary key-value pairs, if any were included in the corresponding access request", alias="clientMetadata") cancelable: Optional[StrictBool] = Field(default=None, description="Whether the account activity can be canceled before completion") cancel_comment: Optional[Comment] = Field(default=None, alias="cancelComment") diff --git a/sailpoint/beta/models/client_log_configuration.py b/sailpoint/beta/models/client_log_configuration.py index 442dc5fb5..ab7b52f00 100644 --- a/sailpoint/beta/models/client_log_configuration.py +++ b/sailpoint/beta/models/client_log_configuration.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from sailpoint.beta.models.standard_level import StandardLevel from typing import Optional, Set @@ -33,8 +33,8 @@ class ClientLogConfiguration(BaseModel): client_id: Optional[StrictStr] = Field(default=None, description="Log configuration's client ID", alias="clientId") duration_minutes: Annotated[int, Field(le=1440, strict=True, ge=5)] = Field(description="Duration in minutes for log configuration to remain in effect before resetting to defaults", alias="durationMinutes") expiration: Optional[datetime] = Field(default=None, description="Expiration date-time of the log configuration request") - root_level: StandardLevel = Field(alias="rootLevel") - log_levels: Optional[Dict[str, StandardLevel]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") + root_level: Union[StandardLevel, str] = Field(alias="rootLevel") + log_levels: Optional[Dict[str, Union[StandardLevel, str]]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") __properties: ClassVar[List[str]] = ["clientId", "durationMinutes", "expiration", "rootLevel", "logLevels"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/common_access_item_access.py b/sailpoint/beta/models/common_access_item_access.py index 1dcfe39bb..377b4e852 100644 --- a/sailpoint/beta/models/common_access_item_access.py +++ b/sailpoint/beta/models/common_access_item_access.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.common_access_type import CommonAccessType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class CommonAccessItemAccess(BaseModel): CommonAccessItemAccess """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="Common access ID") - type: Optional[CommonAccessType] = None + type: Optional[Union[CommonAccessType, str]] = None name: Optional[StrictStr] = Field(default=None, description="Common access name") description: Optional[StrictStr] = Field(default=None, description="Common access description") owner_name: Optional[StrictStr] = Field(default=None, description="Common access owner name", alias="ownerName") diff --git a/sailpoint/beta/models/common_access_item_request.py b/sailpoint/beta/models/common_access_item_request.py index 099acbc0c..6c9058c8d 100644 --- a/sailpoint/beta/models/common_access_item_request.py +++ b/sailpoint/beta/models/common_access_item_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.common_access_item_access import CommonAccessItemAccess from sailpoint.beta.models.common_access_item_state import CommonAccessItemState from typing import Optional, Set @@ -30,7 +30,7 @@ class CommonAccessItemRequest(BaseModel): CommonAccessItemRequest """ # noqa: E501 access: Optional[CommonAccessItemAccess] = None - status: Optional[CommonAccessItemState] = None + status: Optional[Union[CommonAccessItemState, str]] = None __properties: ClassVar[List[str]] = ["access", "status"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/common_access_item_response.py b/sailpoint/beta/models/common_access_item_response.py index 3b997ddbe..367bcf479 100644 --- a/sailpoint/beta/models/common_access_item_response.py +++ b/sailpoint/beta/models/common_access_item_response.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.common_access_item_access import CommonAccessItemAccess from sailpoint.beta.models.common_access_item_state import CommonAccessItemState from typing import Optional, Set @@ -31,7 +31,7 @@ class CommonAccessItemResponse(BaseModel): """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="Common Access Item ID") access: Optional[CommonAccessItemAccess] = None - status: Optional[CommonAccessItemState] = None + status: Optional[Union[CommonAccessItemState, str]] = None last_updated: Optional[StrictStr] = Field(default=None, alias="lastUpdated") reviewed_by_user: Optional[StrictBool] = Field(default=None, alias="reviewedByUser") last_reviewed: Optional[StrictStr] = Field(default=None, alias="lastReviewed") diff --git a/sailpoint/beta/models/completed_approval.py b/sailpoint/beta/models/completed_approval.py index a1ad6b0e4..9e7356e90 100644 --- a/sailpoint/beta/models/completed_approval.py +++ b/sailpoint/beta/models/completed_approval.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.access_item_owner_dto import AccessItemOwnerDto from sailpoint.beta.models.access_item_requester_dto import AccessItemRequesterDto from sailpoint.beta.models.access_request_type import AccessRequestType @@ -47,7 +47,7 @@ class CompletedApproval(BaseModel): created: Optional[datetime] = Field(default=None, description="When the approval was created.") modified: Optional[datetime] = Field(default=None, description="When the approval was modified last time.") request_created: Optional[datetime] = Field(default=None, description="When the access-request was created.", alias="requestCreated") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requester: Optional[AccessItemRequesterDto] = None requested_for: Optional[RequestedItemStatusRequestedFor] = Field(default=None, alias="requestedFor") reviewed_by: Optional[CompletedApprovalReviewedBy] = Field(default=None, alias="reviewedBy") @@ -58,7 +58,7 @@ class CompletedApproval(BaseModel): previous_reviewers_comments: Optional[List[CommentDto1]] = Field(default=None, description="The history of the previous reviewers comments.", alias="previousReviewersComments") forward_history: Optional[List[ApprovalForwardHistory]] = Field(default=None, description="The history of approval forward action.", alias="forwardHistory") comment_required_when_rejected: Optional[StrictBool] = Field(default=False, description="When true the rejector has to provide comments when rejecting", alias="commentRequiredWhenRejected") - state: Optional[CompletedApprovalState] = None + state: Optional[Union[CompletedApprovalState, str]] = None remove_date: Optional[datetime] = Field(default=None, description="The date the role or access profile or entitlement is no longer assigned to the specified identity.", alias="removeDate") remove_date_update_requested: Optional[StrictBool] = Field(default=False, description="If true, then the request was to change the remove date or sunset date.", alias="removeDateUpdateRequested") current_remove_date: Optional[datetime] = Field(default=None, description="The remove date or sunset date that was assigned at the time of the request.", alias="currentRemoveDate") diff --git a/sailpoint/beta/models/completed_approval_pre_approval_trigger_result.py b/sailpoint/beta/models/completed_approval_pre_approval_trigger_result.py index df4482e63..e1f2023b5 100644 --- a/sailpoint/beta/models/completed_approval_pre_approval_trigger_result.py +++ b/sailpoint/beta/models/completed_approval_pre_approval_trigger_result.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.completed_approval_state import CompletedApprovalState from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class CompletedApprovalPreApprovalTriggerResult(BaseModel): If the access request submitted event trigger is configured and this access request was intercepted by it, then this is the result of the trigger's decision to either approve or deny the request. """ # noqa: E501 comment: Optional[StrictStr] = Field(default=None, description="The comment from the trigger") - decision: Optional[CompletedApprovalState] = None + decision: Optional[Union[CompletedApprovalState, str]] = None reviewer: Optional[StrictStr] = Field(default=None, description="The name of the approver") var_date: Optional[datetime] = Field(default=None, description="The date and time the trigger decided on the request", alias="date") __properties: ClassVar[List[str]] = ["comment", "decision", "reviewer", "date"] diff --git a/sailpoint/beta/models/config_type.py b/sailpoint/beta/models/config_type.py index 05fd26c60..1af2003f8 100644 --- a/sailpoint/beta/models/config_type.py +++ b/sailpoint/beta/models/config_type.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.config_type_enum import ConfigTypeEnum from sailpoint.beta.models.config_type_enum_camel import ConfigTypeEnumCamel from typing import Optional, Set @@ -30,8 +30,8 @@ class ConfigType(BaseModel): Type of Reassignment Configuration. """ # noqa: E501 priority: Optional[StrictInt] = None - internal_name: Optional[ConfigTypeEnumCamel] = Field(default=None, alias="internalName") - internal_name_camel: Optional[ConfigTypeEnum] = Field(default=None, alias="internalNameCamel") + internal_name: Optional[Union[ConfigTypeEnumCamel, str]] = Field(default=None, alias="internalName") + internal_name_camel: Optional[Union[ConfigTypeEnum, str]] = Field(default=None, alias="internalNameCamel") display_name: Optional[StrictStr] = Field(default=None, description="Human readable display name of the type to be shown on UI", alias="displayName") description: Optional[StrictStr] = Field(default=None, description="Description of the type of work to be reassigned, displayed by the UI.") __properties: ClassVar[List[str]] = ["priority", "internalName", "internalNameCamel", "displayName", "description"] diff --git a/sailpoint/beta/models/configuration_details_response.py b/sailpoint/beta/models/configuration_details_response.py index 4e14428ff..fc1084250 100644 --- a/sailpoint/beta/models/configuration_details_response.py +++ b/sailpoint/beta/models/configuration_details_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.audit_details import AuditDetails from sailpoint.beta.models.config_type_enum import ConfigTypeEnum from sailpoint.beta.models.identity1 import Identity1 @@ -31,7 +31,7 @@ class ConfigurationDetailsResponse(BaseModel): """ The request body of Reassignment Configuration Details for a specific identity and config type """ # noqa: E501 - config_type: Optional[ConfigTypeEnum] = Field(default=None, alias="configType") + config_type: Optional[Union[ConfigTypeEnum, str]] = Field(default=None, alias="configType") target_identity: Optional[Identity1] = Field(default=None, alias="targetIdentity") start_date: Optional[datetime] = Field(default=None, description="The date from which to start reassigning work items", alias="startDate") end_date: Optional[datetime] = Field(default=None, description="The date from which to stop reassigning work items. If this is an empty string it indicates a permanent reassignment.", alias="endDate") diff --git a/sailpoint/beta/models/configuration_item_request.py b/sailpoint/beta/models/configuration_item_request.py index 1de245c9c..d3f3380cd 100644 --- a/sailpoint/beta/models/configuration_item_request.py +++ b/sailpoint/beta/models/configuration_item_request.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.config_type_enum import ConfigTypeEnum from typing import Optional, Set from typing_extensions import Self @@ -31,7 +31,7 @@ class ConfigurationItemRequest(BaseModel): """ # noqa: E501 reassigned_from_id: Optional[StrictStr] = Field(default=None, description="The identity id to reassign an item from", alias="reassignedFromId") reassigned_to_id: Optional[StrictStr] = Field(default=None, description="The identity id to reassign an item to", alias="reassignedToId") - config_type: Optional[ConfigTypeEnum] = Field(default=None, alias="configType") + config_type: Optional[Union[ConfigTypeEnum, str]] = Field(default=None, alias="configType") start_date: Optional[datetime] = Field(default=None, description="The date from which to start reassigning work items", alias="startDate") end_date: Optional[datetime] = Field(default=None, description="The date from which to stop reassigning work items. If this is an null string it indicates a permanent reassignment.", alias="endDate") __properties: ClassVar[List[str]] = ["reassignedFromId", "reassignedToId", "configType", "startDate", "endDate"] diff --git a/sailpoint/beta/models/connected_object.py b/sailpoint/beta/models/connected_object.py index 3d95723a4..90ebbcdb2 100644 --- a/sailpoint/beta/models/connected_object.py +++ b/sailpoint/beta/models/connected_object.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.connected_object_type import ConnectedObjectType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class ConnectedObject(BaseModel): """ ConnectedObject """ # noqa: E501 - type: Optional[ConnectedObjectType] = None + type: Optional[Union[ConnectedObjectType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable name of Connected object") description: Optional[StrictStr] = Field(default=None, description="Description of the Connected object.") diff --git a/sailpoint/beta/models/create_o_auth_client_request.py b/sailpoint/beta/models/create_o_auth_client_request.py index 41d7e3f99..509882716 100644 --- a/sailpoint/beta/models/create_o_auth_client_request.py +++ b/sailpoint/beta/models/create_o_auth_client_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.access_type import AccessType from sailpoint.beta.models.client_type import ClientType from sailpoint.beta.models.grant_type import GrantType @@ -37,9 +37,9 @@ class CreateOAuthClientRequest(BaseModel): access_token_validity_seconds: StrictInt = Field(description="The number of seconds an access token generated for this API Client is valid for", alias="accessTokenValiditySeconds") refresh_token_validity_seconds: Optional[StrictInt] = Field(default=None, description="The number of seconds a refresh token generated for this API Client is valid for", alias="refreshTokenValiditySeconds") redirect_uris: Optional[List[StrictStr]] = Field(default=None, description="A list of the approved redirect URIs. Provide one or more URIs when assigning the AUTHORIZATION_CODE grant type to a new OAuth Client.", alias="redirectUris") - grant_types: Optional[List[GrantType]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") - access_type: AccessType = Field(alias="accessType") - type: Optional[ClientType] = None + grant_types: Optional[List[Union[GrantType, str]]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") + access_type: Union[AccessType, str] = Field(alias="accessType") + type: Optional[Union[ClientType, str]] = None internal: Optional[StrictBool] = Field(default=None, description="An indicator of whether the API Client can be used for requests internal within the product.") enabled: StrictBool = Field(description="An indicator of whether the API Client is enabled for use") strong_auth_supported: Optional[StrictBool] = Field(default=None, description="An indicator of whether the API Client supports strong authentication", alias="strongAuthSupported") diff --git a/sailpoint/beta/models/create_o_auth_client_response.py b/sailpoint/beta/models/create_o_auth_client_response.py index e5faeb863..cac6b5b94 100644 --- a/sailpoint/beta/models/create_o_auth_client_response.py +++ b/sailpoint/beta/models/create_o_auth_client_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.access_type import AccessType from sailpoint.beta.models.client_type import ClientType from sailpoint.beta.models.grant_type import GrantType @@ -40,8 +40,8 @@ class CreateOAuthClientResponse(BaseModel): access_token_validity_seconds: StrictInt = Field(description="The number of seconds an access token generated for this API Client is valid for", alias="accessTokenValiditySeconds") refresh_token_validity_seconds: StrictInt = Field(description="The number of seconds a refresh token generated for this API Client is valid for", alias="refreshTokenValiditySeconds") redirect_uris: List[StrictStr] = Field(description="A list of the approved redirect URIs used with the authorization_code flow", alias="redirectUris") - grant_types: List[GrantType] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") - access_type: AccessType = Field(alias="accessType") + grant_types: List[Union[GrantType, str]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") + access_type: Union[AccessType, str] = Field(alias="accessType") type: ClientType internal: StrictBool = Field(description="An indicator of whether the API Client can be used for requests internal to IDN") enabled: StrictBool = Field(description="An indicator of whether the API Client is enabled for use") diff --git a/sailpoint/beta/models/error_message_dto.py b/sailpoint/beta/models/error_message_dto.py index b0447dd71..a79309d6e 100644 --- a/sailpoint/beta/models/error_message_dto.py +++ b/sailpoint/beta/models/error_message_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.locale_origin import LocaleOrigin from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class ErrorMessageDto(BaseModel): ErrorMessageDto """ # noqa: E501 locale: Optional[StrictStr] = Field(default=None, description="The locale for the message text, a BCP 47 language tag.") - locale_origin: Optional[LocaleOrigin] = Field(default=None, alias="localeOrigin") + locale_origin: Optional[Union[LocaleOrigin, str]] = Field(default=None, alias="localeOrigin") text: Optional[StrictStr] = Field(default=None, description="Actual text of the error message in the indicated locale.") __properties: ClassVar[List[str]] = ["locale", "localeOrigin", "text"] diff --git a/sailpoint/beta/models/error_message_dto1.py b/sailpoint/beta/models/error_message_dto1.py index 7368e6744..36694dd56 100644 --- a/sailpoint/beta/models/error_message_dto1.py +++ b/sailpoint/beta/models/error_message_dto1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.locale_origin import LocaleOrigin from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class ErrorMessageDto1(BaseModel): ErrorMessageDto1 """ # noqa: E501 locale: Optional[StrictStr] = Field(default=None, description="The locale for the message text, a BCP 47 language tag.") - locale_origin: Optional[LocaleOrigin] = Field(default=None, alias="localeOrigin") + locale_origin: Optional[Union[LocaleOrigin, str]] = Field(default=None, alias="localeOrigin") text: Optional[StrictStr] = Field(default=None, description="Actual text of the error message in the indicated locale.") __properties: ClassVar[List[str]] = ["locale", "localeOrigin", "text"] diff --git a/sailpoint/beta/models/exception_criteria_access.py b/sailpoint/beta/models/exception_criteria_access.py index 8772272e9..a9b8a5372 100644 --- a/sailpoint/beta/models/exception_criteria_access.py +++ b/sailpoint/beta/models/exception_criteria_access.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class ExceptionCriteriaAccess(BaseModel): """ Access reference with addition of boolean existing flag to indicate whether the access was extant """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") existing: Optional[StrictBool] = Field(default=None, description="Whether the subject identity already had that access or not") diff --git a/sailpoint/beta/models/get_o_auth_client_response.py b/sailpoint/beta/models/get_o_auth_client_response.py index 0ab901a7f..cb5e454a4 100644 --- a/sailpoint/beta/models/get_o_auth_client_response.py +++ b/sailpoint/beta/models/get_o_auth_client_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.access_type import AccessType from sailpoint.beta.models.client_type import ClientType from sailpoint.beta.models.grant_type import GrantType @@ -39,8 +39,8 @@ class GetOAuthClientResponse(BaseModel): access_token_validity_seconds: StrictInt = Field(description="The number of seconds an access token generated for this API Client is valid for", alias="accessTokenValiditySeconds") refresh_token_validity_seconds: StrictInt = Field(description="The number of seconds a refresh token generated for this API Client is valid for", alias="refreshTokenValiditySeconds") redirect_uris: Optional[List[StrictStr]] = Field(description="A list of the approved redirect URIs used with the authorization_code flow", alias="redirectUris") - grant_types: List[GrantType] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") - access_type: AccessType = Field(alias="accessType") + grant_types: List[Union[GrantType, str]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") + access_type: Union[AccessType, str] = Field(alias="accessType") type: ClientType internal: StrictBool = Field(description="An indicator of whether the API Client can be used for requests internal to IDN") enabled: StrictBool = Field(description="An indicator of whether the API Client is enabled for use") diff --git a/sailpoint/beta/models/http_config.py b/sailpoint/beta/models/http_config.py index 112632afe..9525ee48e 100644 --- a/sailpoint/beta/models/http_config.py +++ b/sailpoint/beta/models/http_config.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.basic_auth_config import BasicAuthConfig from sailpoint.beta.models.bearer_token_auth_config import BearerTokenAuthConfig from sailpoint.beta.models.http_authentication_type import HttpAuthenticationType @@ -32,8 +32,8 @@ class HttpConfig(BaseModel): HttpConfig """ # noqa: E501 url: StrictStr = Field(description="URL of the external/custom integration.") - http_dispatch_mode: HttpDispatchMode = Field(alias="httpDispatchMode") - http_authentication_type: Optional[HttpAuthenticationType] = Field(default=HttpAuthenticationType.NO_AUTH, alias="httpAuthenticationType") + http_dispatch_mode: Union[HttpDispatchMode, str] = Field(alias="httpDispatchMode") + http_authentication_type: Optional[Union[HttpAuthenticationType, str]] = Field(default=HttpAuthenticationType.NO_AUTH, alias="httpAuthenticationType") basic_auth_config: Optional[BasicAuthConfig] = Field(default=None, alias="basicAuthConfig") bearer_token_auth_config: Optional[BearerTokenAuthConfig] = Field(default=None, alias="bearerTokenAuthConfig") __properties: ClassVar[List[str]] = ["url", "httpDispatchMode", "httpAuthenticationType", "basicAuthConfig", "bearerTokenAuthConfig"] diff --git a/sailpoint/beta/models/identity_reference.py b/sailpoint/beta/models/identity_reference.py index a077c0f06..c9341999f 100644 --- a/sailpoint/beta/models/identity_reference.py +++ b/sailpoint/beta/models/identity_reference.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class IdentityReference(BaseModel): """ The manager for the identity. """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Identity id") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of identity.") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/beta/models/identity_reference_with_id.py b/sailpoint/beta/models/identity_reference_with_id.py index 98ca55574..f8f08aada 100644 --- a/sailpoint/beta/models/identity_reference_with_id.py +++ b/sailpoint/beta/models/identity_reference_with_id.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class IdentityReferenceWithId(BaseModel): """ IdentityReferenceWithId """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Identity id") __properties: ClassVar[List[str]] = ["type", "id"] diff --git a/sailpoint/beta/models/lookup_step.py b/sailpoint/beta/models/lookup_step.py index eda63e42d..8fa270666 100644 --- a/sailpoint/beta/models/lookup_step.py +++ b/sailpoint/beta/models/lookup_step.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.reassignment_type_enum import ReassignmentTypeEnum from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class LookupStep(BaseModel): """ # noqa: E501 reassigned_to_id: Optional[StrictStr] = Field(default=None, description="The ID of the Identity who work is reassigned to", alias="reassignedToId") reassigned_from_id: Optional[StrictStr] = Field(default=None, description="The ID of the Identity who work is reassigned from", alias="reassignedFromId") - reassignment_type: Optional[ReassignmentTypeEnum] = Field(default=None, alias="reassignmentType") + reassignment_type: Optional[Union[ReassignmentTypeEnum, str]] = Field(default=None, alias="reassignmentType") __properties: ClassVar[List[str]] = ["reassignedToId", "reassignedFromId", "reassignmentType"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/managed_client.py b/sailpoint/beta/models/managed_client.py index 62f6badc2..b116589a2 100644 --- a/sailpoint/beta/models/managed_client.py +++ b/sailpoint/beta/models/managed_client.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.managed_client_status_enum import ManagedClientStatusEnum from typing import Optional, Set from typing_extensions import Self @@ -41,7 +41,7 @@ class ManagedClient(BaseModel): last_seen: Optional[datetime] = Field(default=None, description="When the ManagedClient was last seen by the server", alias="lastSeen") name: Optional[StrictStr] = Field(default=None, description="ManagedClient name") since_last_seen: Optional[StrictStr] = Field(default=None, description="Milliseconds since the ManagedClient has polled the server", alias="sinceLastSeen") - status: Optional[ManagedClientStatusEnum] = Field(default=None, description="Status of the ManagedClient") + status: Optional[Union[ManagedClientStatusEnum, str]] = Field(default=None, description="Status of the ManagedClient") type: StrictStr = Field(description="Type of the ManagedClient (VA, CCG)") va_download_url: Optional[StrictStr] = Field(default=None, description="ManagedClient VA download URL", alias="vaDownloadUrl") va_version: Optional[StrictStr] = Field(default=None, description="Version that the ManagedClient's VA is running", alias="vaVersion") diff --git a/sailpoint/beta/models/managed_client_status.py b/sailpoint/beta/models/managed_client_status.py index 8e6aa05b9..a9c27437e 100644 --- a/sailpoint/beta/models/managed_client_status.py +++ b/sailpoint/beta/models/managed_client_status.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.managed_client_status_enum import ManagedClientStatusEnum from sailpoint.beta.models.managed_client_type import ManagedClientType from typing import Optional, Set @@ -32,7 +32,7 @@ class ManagedClientStatus(BaseModel): """ # noqa: E501 body: Dict[str, Any] = Field(description="ManagedClientStatus body information") status: ManagedClientStatusEnum - type: Optional[ManagedClientType] + type: Optional[Union[ManagedClientType, str]] timestamp: datetime = Field(description="timestamp on the Client Status update") __properties: ClassVar[List[str]] = ["body", "status", "type", "timestamp"] diff --git a/sailpoint/beta/models/managed_client_status_agg_response.py b/sailpoint/beta/models/managed_client_status_agg_response.py index 2bcad87f6..be9c08280 100644 --- a/sailpoint/beta/models/managed_client_status_agg_response.py +++ b/sailpoint/beta/models/managed_client_status_agg_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.managed_client_status_enum import ManagedClientStatusEnum from sailpoint.beta.models.managed_client_type import ManagedClientType from typing import Optional, Set @@ -32,7 +32,7 @@ class ManagedClientStatusAggResponse(BaseModel): """ # noqa: E501 body: Dict[str, Any] = Field(description="ManagedClientStatus body information") status: ManagedClientStatusEnum - type: Optional[ManagedClientType] + type: Optional[Union[ManagedClientType, str]] timestamp: datetime = Field(description="timestamp on the Client Status update") __properties: ClassVar[List[str]] = ["body", "status", "type", "timestamp"] diff --git a/sailpoint/beta/models/managed_cluster.py b/sailpoint/beta/models/managed_cluster.py index d28af24d8..1b38b6d8d 100644 --- a/sailpoint/beta/models/managed_cluster.py +++ b/sailpoint/beta/models/managed_cluster.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.client_log_configuration import ClientLogConfiguration from sailpoint.beta.models.managed_client_type import ManagedClientType from sailpoint.beta.models.managed_cluster_attributes import ManagedClusterAttributes @@ -40,13 +40,13 @@ class ManagedCluster(BaseModel): name: Optional[StrictStr] = Field(default=None, description="ManagedCluster name") pod: Optional[StrictStr] = Field(default=None, description="ManagedCluster pod") org: Optional[StrictStr] = Field(default=None, description="ManagedCluster org") - type: Optional[ManagedClusterTypes] = None + type: Optional[Union[ManagedClusterTypes, str]] = None configuration: Optional[Dict[str, Optional[StrictStr]]] = Field(default=None, description="ManagedProcess configuration map") key_pair: Optional[ManagedClusterKeyPair] = Field(default=None, alias="keyPair") attributes: Optional[ManagedClusterAttributes] = None description: Optional[StrictStr] = Field(default=None, description="ManagedCluster description") redis: Optional[ManagedClusterRedis] = None - client_type: Optional[ManagedClientType] = Field(alias="clientType") + client_type: Optional[Union[ManagedClientType, str]] = Field(alias="clientType") ccg_version: StrictStr = Field(description="CCG version used by the ManagedCluster", alias="ccgVersion") pinned_config: Optional[StrictBool] = Field(default=False, description="boolean flag indiacting whether or not the cluster configuration is pinned", alias="pinnedConfig") log_configuration: Optional[ClientLogConfiguration] = Field(default=None, alias="logConfiguration") diff --git a/sailpoint/beta/models/manual_work_item_details.py b/sailpoint/beta/models/manual_work_item_details.py index 1e62e3470..404f2e569 100644 --- a/sailpoint/beta/models/manual_work_item_details.py +++ b/sailpoint/beta/models/manual_work_item_details.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.approval_forward_history import ApprovalForwardHistory from sailpoint.beta.models.manual_work_item_details_current_owner import ManualWorkItemDetailsCurrentOwner from sailpoint.beta.models.manual_work_item_details_original_owner import ManualWorkItemDetailsOriginalOwner @@ -36,7 +36,7 @@ class ManualWorkItemDetails(BaseModel): original_owner: Optional[ManualWorkItemDetailsOriginalOwner] = Field(default=None, alias="originalOwner") current_owner: Optional[ManualWorkItemDetailsCurrentOwner] = Field(default=None, alias="currentOwner") modified: Optional[datetime] = Field(default=None, description="Time at which item was modified.") - status: Optional[ManualWorkItemState] = None + status: Optional[Union[ManualWorkItemState, str]] = None forward_history: Optional[List[ApprovalForwardHistory]] = Field(default=None, description="The history of approval forward action.", alias="forwardHistory") __properties: ClassVar[List[str]] = ["forwarded", "originalOwner", "currentOwner", "modified", "status", "forwardHistory"] diff --git a/sailpoint/beta/models/manual_work_item_details1.py b/sailpoint/beta/models/manual_work_item_details1.py index 7b8deb995..30f7f62c5 100644 --- a/sailpoint/beta/models/manual_work_item_details1.py +++ b/sailpoint/beta/models/manual_work_item_details1.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.approval_forward_history1 import ApprovalForwardHistory1 from sailpoint.beta.models.manual_work_item_details_current_owner import ManualWorkItemDetailsCurrentOwner from sailpoint.beta.models.manual_work_item_details_original_owner import ManualWorkItemDetailsOriginalOwner @@ -36,7 +36,7 @@ class ManualWorkItemDetails1(BaseModel): original_owner: Optional[ManualWorkItemDetailsOriginalOwner] = Field(default=None, alias="originalOwner") current_owner: Optional[ManualWorkItemDetailsCurrentOwner] = Field(default=None, alias="currentOwner") modified: Optional[datetime] = Field(default=None, description="Time at which item was modified.") - status: Optional[ManualWorkItemState] = None + status: Optional[Union[ManualWorkItemState, str]] = None forward_history: Optional[List[ApprovalForwardHistory1]] = Field(default=None, description="The history of approval forward action.", alias="forwardHistory") __properties: ClassVar[List[str]] = ["forwarded", "originalOwner", "currentOwner", "modified", "status", "forwardHistory"] diff --git a/sailpoint/beta/models/non_employee_approval_item.py b/sailpoint/beta/models/non_employee_approval_item.py index 32044b47b..c63442748 100644 --- a/sailpoint/beta/models/non_employee_approval_item.py +++ b/sailpoint/beta/models/non_employee_approval_item.py @@ -34,7 +34,7 @@ class NonEmployeeApprovalItem(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Non-Employee approval item id") approver: Optional[IdentityReferenceWithId] = None account_name: Optional[StrictStr] = Field(default=None, description="Requested identity account name", alias="accountName") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") approval_order: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Approval order", alias="approvalOrder") comment: Optional[StrictStr] = Field(default=None, description="comment of approver") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") diff --git a/sailpoint/beta/models/non_employee_approval_item_base.py b/sailpoint/beta/models/non_employee_approval_item_base.py index f9be14bae..5eeeb7d3c 100644 --- a/sailpoint/beta/models/non_employee_approval_item_base.py +++ b/sailpoint/beta/models/non_employee_approval_item_base.py @@ -33,7 +33,7 @@ class NonEmployeeApprovalItemBase(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Non-Employee approval item id") approver: Optional[IdentityReferenceWithId] = None account_name: Optional[StrictStr] = Field(default=None, description="Requested identity account name", alias="accountName") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") approval_order: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Approval order", alias="approvalOrder") comment: Optional[StrictStr] = Field(default=None, description="comment of approver") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") diff --git a/sailpoint/beta/models/non_employee_approval_item_detail.py b/sailpoint/beta/models/non_employee_approval_item_detail.py index 8e155220c..afe6f3d25 100644 --- a/sailpoint/beta/models/non_employee_approval_item_detail.py +++ b/sailpoint/beta/models/non_employee_approval_item_detail.py @@ -34,7 +34,7 @@ class NonEmployeeApprovalItemDetail(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Non-Employee approval item id") approver: Optional[IdentityReferenceWithId] = None account_name: Optional[StrictStr] = Field(default=None, description="Requested identity account name", alias="accountName") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") approval_order: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Approval order", alias="approvalOrder") comment: Optional[StrictStr] = Field(default=None, description="comment of approver") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") diff --git a/sailpoint/beta/models/non_employee_request.py b/sailpoint/beta/models/non_employee_request.py index 81cfa22f3..1e348ef8c 100644 --- a/sailpoint/beta/models/non_employee_request.py +++ b/sailpoint/beta/models/non_employee_request.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.approval_status import ApprovalStatus from sailpoint.beta.models.non_employee_approval_item_base import NonEmployeeApprovalItemBase from sailpoint.beta.models.non_employee_source_lite import NonEmployeeSourceLite @@ -44,7 +44,7 @@ class NonEmployeeRequest(BaseModel): non_employee_source: Optional[NonEmployeeSourceLite] = Field(default=None, alias="nonEmployeeSource") data: Optional[Dict[str, StrictStr]] = Field(default=None, description="Additional attributes for a non-employee. Up to 10 custom attributes can be added.") approval_items: Optional[List[NonEmployeeApprovalItemBase]] = Field(default=None, description="List of approval item for the request", alias="approvalItems") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") comment: Optional[StrictStr] = Field(default=None, description="Comment of requester") completion_date: Optional[datetime] = Field(default=None, description="When the request was completely approved.", alias="completionDate") start_date: Optional[datetime] = Field(default=None, description="Non-Employee employment start date.", alias="startDate") diff --git a/sailpoint/beta/models/non_employee_request_without_approval_item.py b/sailpoint/beta/models/non_employee_request_without_approval_item.py index 2e5f12b36..0655e32f5 100644 --- a/sailpoint/beta/models/non_employee_request_without_approval_item.py +++ b/sailpoint/beta/models/non_employee_request_without_approval_item.py @@ -20,7 +20,7 @@ from datetime import date, datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.approval_status import ApprovalStatus from sailpoint.beta.models.identity_reference_with_id import IdentityReferenceWithId from sailpoint.beta.models.non_employee_source_lite_with_schema_attributes import NonEmployeeSourceLiteWithSchemaAttributes @@ -41,7 +41,7 @@ class NonEmployeeRequestWithoutApprovalItem(BaseModel): manager: Optional[StrictStr] = Field(default=None, description="The account ID of a valid identity to serve as this non-employee's manager.") non_employee_source: Optional[NonEmployeeSourceLiteWithSchemaAttributes] = Field(default=None, alias="nonEmployeeSource") data: Optional[Dict[str, StrictStr]] = Field(default=None, description="Additional attributes for a non-employee. Up to 10 custom attributes can be added.") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") comment: Optional[StrictStr] = Field(default=None, description="Comment of requester") completion_date: Optional[datetime] = Field(default=None, description="When the request was completely approved.", alias="completionDate") start_date: Optional[date] = Field(default=None, description="Non-Employee employment start date.", alias="startDate") diff --git a/sailpoint/beta/models/pending_approval.py b/sailpoint/beta/models/pending_approval.py index 9d45c3a7a..6df4205d8 100644 --- a/sailpoint/beta/models/pending_approval.py +++ b/sailpoint/beta/models/pending_approval.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.access_item_owner_dto import AccessItemOwnerDto from sailpoint.beta.models.access_item_requested_for_dto import AccessItemRequestedForDto from sailpoint.beta.models.access_item_requester_dto import AccessItemRequesterDto @@ -44,7 +44,7 @@ class PendingApproval(BaseModel): created: Optional[datetime] = Field(default=None, description="When the approval was created.") modified: Optional[datetime] = Field(default=None, description="When the approval was modified last time.") request_created: Optional[datetime] = Field(default=None, description="When the access-request was created.", alias="requestCreated") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requester: Optional[AccessItemRequesterDto] = None requested_for: Optional[AccessItemRequestedForDto] = Field(default=None, alias="requestedFor") owner: Optional[AccessItemOwnerDto] = None @@ -53,7 +53,7 @@ class PendingApproval(BaseModel): previous_reviewers_comments: Optional[List[CommentDto1]] = Field(default=None, description="The history of the previous reviewers comments.", alias="previousReviewersComments") forward_history: Optional[List[ApprovalForwardHistory]] = Field(default=None, description="The history of approval forward action.", alias="forwardHistory") comment_required_when_rejected: Optional[StrictBool] = Field(default=False, description="When true the rejector has to provide comments when rejecting", alias="commentRequiredWhenRejected") - action_in_process: Optional[PendingApprovalAction] = Field(default=None, alias="actionInProcess") + action_in_process: Optional[Union[PendingApprovalAction, str]] = Field(default=None, alias="actionInProcess") remove_date: Optional[datetime] = Field(default=None, description="The date the role or access profile or entitlement is no longer assigned to the specified identity.", alias="removeDate") remove_date_update_requested: Optional[StrictBool] = Field(default=False, description="If true, then the request is to change the remove date or sunset date.", alias="removeDateUpdateRequested") current_remove_date: Optional[datetime] = Field(default=None, description="The remove date or sunset date that was assigned at the time of the request.", alias="currentRemoveDate") diff --git a/sailpoint/beta/models/preferences_dto.py b/sailpoint/beta/models/preferences_dto.py index 9149ad750..ad08edc88 100644 --- a/sailpoint/beta/models/preferences_dto.py +++ b/sailpoint/beta/models/preferences_dto.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.medium import Medium from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class PreferencesDto(BaseModel): Maps an Identity's attribute key to a list of preferred notification mediums. """ # noqa: E501 key: Optional[StrictStr] = Field(default=None, description="The template notification key.") - mediums: Optional[List[Medium]] = Field(default=None, description="List of preferred notification mediums, i.e., the mediums (or method) for which notifications are enabled. More mediums may be added in the future.") + mediums: Optional[List[Union[Medium, str]]] = Field(default=None, description="List of preferred notification mediums, i.e., the mediums (or method) for which notifications are enabled. More mediums may be added in the future.") modified: Optional[datetime] = Field(default=None, description="Modified date of preference") __properties: ClassVar[List[str]] = ["key", "mediums", "modified"] diff --git a/sailpoint/beta/models/provisioning_criteria_level1.py b/sailpoint/beta/models/provisioning_criteria_level1.py index 171b1c44f..63b04b6d8 100644 --- a/sailpoint/beta/models/provisioning_criteria_level1.py +++ b/sailpoint/beta/models/provisioning_criteria_level1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.provisioning_criteria_level2 import ProvisioningCriteriaLevel2 from sailpoint.beta.models.provisioning_criteria_operation import ProvisioningCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class ProvisioningCriteriaLevel1(BaseModel): """ Defines matching criteria for an account to be provisioned with a specific access profile. """ # noqa: E501 - operation: Optional[ProvisioningCriteriaOperation] = None + operation: Optional[Union[ProvisioningCriteriaOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error.") value: Optional[StrictStr] = Field(default=None, description="String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type.") children: Optional[List[ProvisioningCriteriaLevel2]] = Field(default=None, description="Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes.") diff --git a/sailpoint/beta/models/provisioning_criteria_level2.py b/sailpoint/beta/models/provisioning_criteria_level2.py index ee38e64e8..d4976c407 100644 --- a/sailpoint/beta/models/provisioning_criteria_level2.py +++ b/sailpoint/beta/models/provisioning_criteria_level2.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.provisioning_criteria_level3 import ProvisioningCriteriaLevel3 from sailpoint.beta.models.provisioning_criteria_operation import ProvisioningCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class ProvisioningCriteriaLevel2(BaseModel): """ Defines matching criteria for an account to be provisioned with a specific access profile. """ # noqa: E501 - operation: Optional[ProvisioningCriteriaOperation] = None + operation: Optional[Union[ProvisioningCriteriaOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error.") value: Optional[StrictStr] = Field(default=None, description="String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type.") children: Optional[List[ProvisioningCriteriaLevel3]] = Field(default=None, description="Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes.") diff --git a/sailpoint/beta/models/provisioning_criteria_level3.py b/sailpoint/beta/models/provisioning_criteria_level3.py index ebc2ccbc2..f85e312ec 100644 --- a/sailpoint/beta/models/provisioning_criteria_level3.py +++ b/sailpoint/beta/models/provisioning_criteria_level3.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.provisioning_criteria_operation import ProvisioningCriteriaOperation from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class ProvisioningCriteriaLevel3(BaseModel): """ Defines matching criteria for an account to be provisioned with a specific access profile. """ # noqa: E501 - operation: Optional[ProvisioningCriteriaOperation] = None + operation: Optional[Union[ProvisioningCriteriaOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error.") value: Optional[StrictStr] = Field(default=None, description="String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type.") children: Optional[StrictStr] = Field(default=None, description="Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes.") diff --git a/sailpoint/beta/models/provisioning_policy_dto.py b/sailpoint/beta/models/provisioning_policy_dto.py index b0ee08551..a45257ac7 100644 --- a/sailpoint/beta/models/provisioning_policy_dto.py +++ b/sailpoint/beta/models/provisioning_policy_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.field_details_dto import FieldDetailsDto from sailpoint.beta.models.usage_type import UsageType from typing import Optional, Set @@ -31,7 +31,7 @@ class ProvisioningPolicyDto(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(description="the provisioning policy name") description: Optional[StrictStr] = Field(default=None, description="the description of the provisioning policy") - usage_type: Optional[UsageType] = Field(default=None, alias="usageType") + usage_type: Optional[Union[UsageType, str]] = Field(default=None, alias="usageType") fields: Optional[List[FieldDetailsDto]] = None __properties: ClassVar[List[str]] = ["name", "description", "usageType", "fields"] diff --git a/sailpoint/beta/models/requestable_object.py b/sailpoint/beta/models/requestable_object.py index 61845e9f4..dd1b06377 100644 --- a/sailpoint/beta/models/requestable_object.py +++ b/sailpoint/beta/models/requestable_object.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.identity_reference_with_name_and_email import IdentityReferenceWithNameAndEmail from sailpoint.beta.models.requestable_object_type import RequestableObjectType from typing import Optional, Set @@ -35,7 +35,7 @@ class RequestableObject(BaseModel): created: Optional[datetime] = Field(default=None, description="The time when the requestable object was created") modified: Optional[datetime] = Field(default=None, description="The time when the requestable object was last modified") description: Optional[StrictStr] = Field(default=None, description="Description of the requestable object.") - type: Optional[RequestableObjectType] = None + type: Optional[Union[RequestableObjectType, str]] = None request_status: Optional[Any] = Field(default=None, alias="requestStatus") identity_request_id: Optional[StrictStr] = Field(default=None, description="If *requestStatus* is *PENDING*, indicates the id of the associated account activity.", alias="identityRequestId") owner_ref: Optional[IdentityReferenceWithNameAndEmail] = Field(default=None, alias="ownerRef") diff --git a/sailpoint/beta/models/requested_account_ref.py b/sailpoint/beta/models/requested_account_ref.py index 112fa533b..24fafa152 100644 --- a/sailpoint/beta/models/requested_account_ref.py +++ b/sailpoint/beta/models/requested_account_ref.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class RequestedAccountRef(BaseModel): RequestedAccountRef """ # noqa: E501 name: Optional[StrictStr] = Field(default=None, description="Display name of the account for the user") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None account_uuid: Optional[StrictStr] = Field(default=None, description="The uuid for the account", alias="accountUuid") account_id: Optional[StrictStr] = Field(default=None, description="The native identity for the account", alias="accountId") source_name: Optional[StrictStr] = Field(default=None, description="Display name of the source for the account", alias="sourceName") diff --git a/sailpoint/beta/models/requested_item_status.py b/sailpoint/beta/models/requested_item_status.py index a140da6ee..52abab9fd 100644 --- a/sailpoint/beta/models/requested_item_status.py +++ b/sailpoint/beta/models/requested_item_status.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.access_item_requester import AccessItemRequester from sailpoint.beta.models.access_request_phases import AccessRequestPhases from sailpoint.beta.models.access_request_type import AccessRequestType @@ -47,12 +47,12 @@ class RequestedItemStatus(BaseModel): type: Optional[StrictStr] = Field(default=None, description="Type of requested object.") cancelled_request_details: Optional[RequestedItemStatusCancelledRequestDetails] = Field(default=None, alias="cancelledRequestDetails") error_messages: Optional[List[List[ErrorMessageDto]]] = Field(default=None, description="List of list of localized error messages, if any, encountered during the approval/provisioning process.", alias="errorMessages") - state: Optional[RequestedItemStatusRequestState] = None + state: Optional[Union[RequestedItemStatusRequestState, str]] = None approval_details: Optional[List[ApprovalStatusDto]] = Field(default=None, description="Approval details for each item.", alias="approvalDetails") approval_ids: Optional[List[StrictStr]] = Field(default=None, description="List of approval IDs associated with the request.", alias="approvalIds") manual_work_item_details: Optional[List[ManualWorkItemDetails]] = Field(default=None, description="Manual work items created for provisioning the item.", alias="manualWorkItemDetails") account_activity_item_id: Optional[StrictStr] = Field(default=None, description="Id of associated account activity item.", alias="accountActivityItemId") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") created: Optional[datetime] = Field(default=None, description="When the request was created.") requester: Optional[AccessItemRequester] = None diff --git a/sailpoint/beta/models/role_criteria_level1.py b/sailpoint/beta/models/role_criteria_level1.py index d45957625..d2e9d01c4 100644 --- a/sailpoint/beta/models/role_criteria_level1.py +++ b/sailpoint/beta/models/role_criteria_level1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.role_criteria_key import RoleCriteriaKey from sailpoint.beta.models.role_criteria_level2 import RoleCriteriaLevel2 from sailpoint.beta.models.role_criteria_operation import RoleCriteriaOperation @@ -30,7 +30,7 @@ class RoleCriteriaLevel1(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[RoleCriteriaOperation] = None + operation: Optional[Union[RoleCriteriaOperation, str]] = None key: Optional[RoleCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute, Account attribute, or Entitlement specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, NOT_EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH, this field is required. Otherwise, specifying it is an error.", alias="stringValue") children: Optional[List[Optional[RoleCriteriaLevel2]]] = Field(default=None, description="Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa.") diff --git a/sailpoint/beta/models/role_criteria_level2.py b/sailpoint/beta/models/role_criteria_level2.py index e5dee7b42..52d964452 100644 --- a/sailpoint/beta/models/role_criteria_level2.py +++ b/sailpoint/beta/models/role_criteria_level2.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.role_criteria_key import RoleCriteriaKey from sailpoint.beta.models.role_criteria_level3 import RoleCriteriaLevel3 from sailpoint.beta.models.role_criteria_operation import RoleCriteriaOperation @@ -30,7 +30,7 @@ class RoleCriteriaLevel2(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[RoleCriteriaOperation] = None + operation: Optional[Union[RoleCriteriaOperation, str]] = None key: Optional[RoleCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute, Account attribute, or Entitlement specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, NOT_EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH, this field is required. Otherwise, specifying it is an error.", alias="stringValue") children: Optional[List[RoleCriteriaLevel3]] = Field(default=None, description="Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa.") diff --git a/sailpoint/beta/models/role_criteria_level3.py b/sailpoint/beta/models/role_criteria_level3.py index 6cfc1926c..decbd102c 100644 --- a/sailpoint/beta/models/role_criteria_level3.py +++ b/sailpoint/beta/models/role_criteria_level3.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.role_criteria_key import RoleCriteriaKey from sailpoint.beta.models.role_criteria_operation import RoleCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class RoleCriteriaLevel3(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[RoleCriteriaOperation] = None + operation: Optional[Union[RoleCriteriaOperation, str]] = None key: Optional[RoleCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute, Account attribute, or Entitlement specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, NOT_EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH, this field is required. Otherwise, specifying it is an error.", alias="stringValue") __properties: ClassVar[List[str]] = ["operation", "key", "stringValue"] diff --git a/sailpoint/beta/models/role_identity.py b/sailpoint/beta/models/role_identity.py index 34cc10816..dfdff848e 100644 --- a/sailpoint/beta/models/role_identity.py +++ b/sailpoint/beta/models/role_identity.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.role_assignment_source_type import RoleAssignmentSourceType from typing import Optional, Set from typing_extensions import Self @@ -32,7 +32,7 @@ class RoleIdentity(BaseModel): alias_name: Optional[StrictStr] = Field(default=None, description="The alias / username of the Identity", alias="aliasName") name: Optional[StrictStr] = Field(default=None, description="The human-readable display name of the Identity") email: Optional[StrictStr] = Field(default=None, description="Email address of the Identity") - role_assignment_source: Optional[RoleAssignmentSourceType] = Field(default=None, alias="roleAssignmentSource") + role_assignment_source: Optional[Union[RoleAssignmentSourceType, str]] = Field(default=None, alias="roleAssignmentSource") __properties: ClassVar[List[str]] = ["id", "aliasName", "name", "email", "roleAssignmentSource"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/role_membership_identity.py b/sailpoint/beta/models/role_membership_identity.py index be15b4ff1..cf93f6cff 100644 --- a/sailpoint/beta/models/role_membership_identity.py +++ b/sailpoint/beta/models/role_membership_identity.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class RoleMembershipIdentity(BaseModel): """ A reference to an Identity in an IDENTITY_LIST role membership criteria. """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Identity id") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the Identity.") alias_name: Optional[StrictStr] = Field(default=None, description="User name of the Identity", alias="aliasName") diff --git a/sailpoint/beta/models/role_membership_selector.py b/sailpoint/beta/models/role_membership_selector.py index b1b92e88c..b24fab680 100644 --- a/sailpoint/beta/models/role_membership_selector.py +++ b/sailpoint/beta/models/role_membership_selector.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.role_criteria_level1 import RoleCriteriaLevel1 from sailpoint.beta.models.role_membership_identity import RoleMembershipIdentity from sailpoint.beta.models.role_membership_selector_type import RoleMembershipSelectorType @@ -30,7 +30,7 @@ class RoleMembershipSelector(BaseModel): """ When present, specifies that the Role is to be granted to Identities which either satisfy specific criteria or which are members of a given list of Identities. """ # noqa: E501 - type: Optional[RoleMembershipSelectorType] = None + type: Optional[Union[RoleMembershipSelectorType, str]] = None criteria: Optional[RoleCriteriaLevel1] = None identities: Optional[List[RoleMembershipIdentity]] = Field(default=None, description="Defines role membership as being exclusive to the specified Identities, when type is IDENTITY_LIST.") __properties: ClassVar[List[str]] = ["type", "criteria", "identities"] diff --git a/sailpoint/beta/models/role_mining_potential_role.py b/sailpoint/beta/models/role_mining_potential_role.py index 30bd91593..1edb0f3d5 100644 --- a/sailpoint/beta/models/role_mining_potential_role.py +++ b/sailpoint/beta/models/role_mining_potential_role.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.role_mining_identity_distribution import RoleMiningIdentityDistribution from sailpoint.beta.models.role_mining_potential_role_provision_state import RoleMiningPotentialRoleProvisionState from sailpoint.beta.models.role_mining_role_type import RoleMiningRoleType @@ -43,12 +43,12 @@ class RoleMiningPotentialRole(BaseModel): identity_distribution: Optional[List[RoleMiningIdentityDistribution]] = Field(default=None, description="Identity attribute distribution.", alias="identityDistribution") identity_ids: Optional[List[StrictStr]] = Field(default=None, description="The list of ids in a potential role.", alias="identityIds") name: Optional[StrictStr] = Field(default=None, description="Name of the potential role.") - provision_state: Optional[RoleMiningPotentialRoleProvisionState] = Field(default=None, alias="provisionState") + provision_state: Optional[Union[RoleMiningPotentialRoleProvisionState, str]] = Field(default=None, alias="provisionState") quality: Optional[StrictInt] = Field(default=None, description="The quality of a potential role.") role_id: Optional[StrictStr] = Field(default=None, description="The roleId of a potential role.", alias="roleId") saved: Optional[StrictBool] = Field(default=None, description="The potential role's saved status.") session: Optional[RoleMiningSessionParametersDto] = None - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Id of the potential role") created_date: Optional[datetime] = Field(default=None, description="The date-time when this potential role was created.", alias="createdDate") modified_date: Optional[datetime] = Field(default=None, description="The date-time when this potential role was modified.", alias="modifiedDate") diff --git a/sailpoint/beta/models/role_mining_potential_role_export_response.py b/sailpoint/beta/models/role_mining_potential_role_export_response.py index 92c5cfeac..ff1356e1d 100644 --- a/sailpoint/beta/models/role_mining_potential_role_export_response.py +++ b/sailpoint/beta/models/role_mining_potential_role_export_response.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.role_mining_potential_role_export_state import RoleMiningPotentialRoleExportState from typing import Optional, Set from typing_extensions import Self @@ -31,7 +31,7 @@ class RoleMiningPotentialRoleExportResponse(BaseModel): min_entitlement_popularity: Optional[StrictInt] = Field(default=None, description="The minimum popularity among identities in the role which an entitlement must have to be included in the report", alias="minEntitlementPopularity") include_common_access: Optional[StrictBool] = Field(default=None, description="If false, do not include entitlements that are highly popular among the entire orginization", alias="includeCommonAccess") export_id: Optional[StrictStr] = Field(default=None, description="ID used to reference this export", alias="exportId") - status: Optional[RoleMiningPotentialRoleExportState] = None + status: Optional[Union[RoleMiningPotentialRoleExportState, str]] = None __properties: ClassVar[List[str]] = ["minEntitlementPopularity", "includeCommonAccess", "exportId", "status"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/role_mining_potential_role_summary.py b/sailpoint/beta/models/role_mining_potential_role_summary.py index 48f5b6442..62605c9b2 100644 --- a/sailpoint/beta/models/role_mining_potential_role_summary.py +++ b/sailpoint/beta/models/role_mining_potential_role_summary.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.role_mining_potential_role_provision_state import RoleMiningPotentialRoleProvisionState from sailpoint.beta.models.role_mining_potential_role_ref import RoleMiningPotentialRoleRef from sailpoint.beta.models.role_mining_potential_role_summary_created_by import RoleMiningPotentialRoleSummaryCreatedBy @@ -39,12 +39,12 @@ class RoleMiningPotentialRoleSummary(BaseModel): identity_count: Optional[StrictInt] = Field(default=None, description="The number of identities in a potential role.", alias="identityCount") entitlement_count: Optional[StrictInt] = Field(default=None, description="The number of entitlements in a potential role.", alias="entitlementCount") identity_group_status: Optional[StrictStr] = Field(default=None, description="The status for this identity group which can be \"REQUESTED\" or \"OBTAINED\"", alias="identityGroupStatus") - provision_state: Optional[RoleMiningPotentialRoleProvisionState] = Field(default=None, alias="provisionState") + provision_state: Optional[Union[RoleMiningPotentialRoleProvisionState, str]] = Field(default=None, alias="provisionState") role_id: Optional[StrictStr] = Field(default=None, description="ID of the provisioned role in IIQ or IDN. Null if this potential role has not been provisioned.", alias="roleId") density: Optional[StrictInt] = Field(default=None, description="The density metric (0-100) of this potential role. Higher density values indicate higher similarity amongst the identities.") freshness: Optional[StrictInt] = Field(default=None, description="The freshness metric (0-100) of this potential role. Higher freshness values indicate this potential role is more distinctive compared to existing roles.") quality: Optional[StrictInt] = Field(default=None, description="The quality metric (0-100) of this potential role. Higher quality values indicate this potential role has high density and freshness.") - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None created_by: Optional[RoleMiningPotentialRoleSummaryCreatedBy] = Field(default=None, alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="The date-time when this potential role was created.", alias="createdDate") saved: Optional[StrictBool] = Field(default=False, description="The potential role's saved status") diff --git a/sailpoint/beta/models/role_mining_session_draft_role_dto.py b/sailpoint/beta/models/role_mining_session_draft_role_dto.py index 6b2ec8310..d8f6fc891 100644 --- a/sailpoint/beta/models/role_mining_session_draft_role_dto.py +++ b/sailpoint/beta/models/role_mining_session_draft_role_dto.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.role_mining_role_type import RoleMiningRoleType from typing import Optional, Set from typing_extensions import Self @@ -35,7 +35,7 @@ class RoleMiningSessionDraftRoleDto(BaseModel): entitlement_ids: Optional[List[StrictStr]] = Field(default=None, description="The list of entitlement ids for this role mining session.", alias="entitlementIds") excluded_entitlements: Optional[List[StrictStr]] = Field(default=None, description="The list of excluded entitlement ids.", alias="excludedEntitlements") modified: Optional[datetime] = Field(default=None, description="Last modified date") - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Id of the potential draft role") created_date: Optional[datetime] = Field(default=None, description="The date-time when this potential draft role was created.", alias="createdDate") modified_date: Optional[datetime] = Field(default=None, description="The date-time when this potential draft role was modified.", alias="modifiedDate") diff --git a/sailpoint/beta/models/role_mining_session_dto.py b/sailpoint/beta/models/role_mining_session_dto.py index 55fbc2690..15ef54dd6 100644 --- a/sailpoint/beta/models/role_mining_session_dto.py +++ b/sailpoint/beta/models/role_mining_session_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.role_mining_role_type import RoleMiningRoleType from sailpoint.beta.models.role_mining_session_scope import RoleMiningSessionScope from typing import Optional, Set @@ -35,7 +35,7 @@ class RoleMiningSessionDto(BaseModel): min_num_identities_in_potential_role: Optional[StrictInt] = Field(default=None, description="Minimum number of identities in a potential role", alias="minNumIdentitiesInPotentialRole") potential_role_count: Optional[StrictInt] = Field(default=None, description="Number of potential roles", alias="potentialRoleCount") potential_roles_ready_count: Optional[StrictInt] = Field(default=None, description="Number of potential roles ready", alias="potentialRolesReadyCount") - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None email_recipient_id: Optional[StrictStr] = Field(default=None, description="The id of the user who will receive an email about the role mining session", alias="emailRecipientId") identity_count: Optional[StrictInt] = Field(default=None, description="Number of identities in the population which meet the search criteria or identity list provided", alias="identityCount") saved: Optional[StrictBool] = Field(default=False, description="The session's saved status") diff --git a/sailpoint/beta/models/role_mining_session_parameters_dto.py b/sailpoint/beta/models/role_mining_session_parameters_dto.py index a50f7f52d..e7900ca87 100644 --- a/sailpoint/beta/models/role_mining_session_parameters_dto.py +++ b/sailpoint/beta/models/role_mining_session_parameters_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.role_mining_role_type import RoleMiningRoleType from sailpoint.beta.models.role_mining_session_scope import RoleMiningSessionScope from sailpoint.beta.models.role_mining_session_scoping_method import RoleMiningSessionScopingMethod @@ -37,9 +37,9 @@ class RoleMiningSessionParametersDto(BaseModel): prune_threshold: Optional[StrictInt] = Field(default=None, description="The prune threshold to be used or null to calculate prescribedPruneThreshold", alias="pruneThreshold") saved: Optional[StrictBool] = Field(default=True, description="The session's saved status") scope: Optional[RoleMiningSessionScope] = None - type: Optional[RoleMiningRoleType] = None - state: Optional[RoleMiningSessionState] = None - scoping_method: Optional[RoleMiningSessionScopingMethod] = Field(default=None, alias="scopingMethod") + type: Optional[Union[RoleMiningRoleType, str]] = None + state: Optional[Union[RoleMiningSessionState, str]] = None + scoping_method: Optional[Union[RoleMiningSessionScopingMethod, str]] = Field(default=None, alias="scopingMethod") __properties: ClassVar[List[str]] = ["id", "name", "minNumIdentitiesInPotentialRole", "pruneThreshold", "saved", "scope", "type", "state", "scopingMethod"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/role_mining_session_response.py b/sailpoint/beta/models/role_mining_session_response.py index d63df1227..37ed06c7f 100644 --- a/sailpoint/beta/models/role_mining_session_response.py +++ b/sailpoint/beta/models/role_mining_session_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.role_mining_role_type import RoleMiningRoleType from sailpoint.beta.models.role_mining_session_response_created_by import RoleMiningSessionResponseCreatedBy from sailpoint.beta.models.role_mining_session_scope import RoleMiningSessionScope @@ -49,7 +49,7 @@ class RoleMiningSessionResponse(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Session Id for this role mining session") created_date: Optional[datetime] = Field(default=None, description="The date-time when this role mining session was created.", alias="createdDate") modified_date: Optional[datetime] = Field(default=None, description="The date-time when this role mining session was completed.", alias="modifiedDate") - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None __properties: ClassVar[List[str]] = ["scope", "minNumIdentitiesInPotentialRole", "scopingMethod", "prescribedPruneThreshold", "pruneThreshold", "potentialRoleCount", "potentialRolesReadyCount", "status", "emailRecipientId", "createdBy", "identityCount", "saved", "name", "dataFilePath", "id", "createdDate", "modifiedDate", "type"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/role_mining_session_status.py b/sailpoint/beta/models/role_mining_session_status.py index 947d75577..ad42ee32d 100644 --- a/sailpoint/beta/models/role_mining_session_status.py +++ b/sailpoint/beta/models/role_mining_session_status.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.role_mining_session_state import RoleMiningSessionState from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class RoleMiningSessionStatus(BaseModel): """ RoleMiningSessionStatus """ # noqa: E501 - state: Optional[RoleMiningSessionState] = None + state: Optional[Union[RoleMiningSessionState, str]] = None __properties: ClassVar[List[str]] = ["state"] model_config = ConfigDict( diff --git a/sailpoint/beta/models/sim_integration_details_all_of_before_provisioning_rule.py b/sailpoint/beta/models/sim_integration_details_all_of_before_provisioning_rule.py index cb0c93a07..06f1b7bec 100644 --- a/sailpoint/beta/models/sim_integration_details_all_of_before_provisioning_rule.py +++ b/sailpoint/beta/models/sim_integration_details_all_of_before_provisioning_rule.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class SimIntegrationDetailsAllOfBeforeProvisioningRule(BaseModel): """ Before provisioning rule of integration """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the rule") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the rule") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/beta/models/sod_exempt_criteria.py b/sailpoint/beta/models/sod_exempt_criteria.py index dfedf4777..8c75a289e 100644 --- a/sailpoint/beta/models/sod_exempt_criteria.py +++ b/sailpoint/beta/models/sod_exempt_criteria.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class SodExemptCriteria(BaseModel): Details of the Entitlement criteria """ # noqa: E501 existing: Optional[StrictBool] = Field(default=False, description="If the entitlement already belonged to the user or not.") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Entitlement ID") name: Optional[StrictStr] = Field(default=None, description="Entitlement name") __properties: ClassVar[List[str]] = ["existing", "type", "id", "name"] diff --git a/sailpoint/beta/models/sod_exempt_criteria1.py b/sailpoint/beta/models/sod_exempt_criteria1.py index a896ce26d..7a24ab0eb 100644 --- a/sailpoint/beta/models/sod_exempt_criteria1.py +++ b/sailpoint/beta/models/sod_exempt_criteria1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class SodExemptCriteria1(BaseModel): Details of the Entitlement criteria """ # noqa: E501 existing: Optional[StrictBool] = Field(default=False, description="If the entitlement already belonged to the user or not.") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Entitlement ID") name: Optional[StrictStr] = Field(default=None, description="Entitlement name") __properties: ClassVar[List[str]] = ["existing", "type", "id", "name"] diff --git a/sailpoint/beta/models/sod_exempt_criteria2.py b/sailpoint/beta/models/sod_exempt_criteria2.py index 3e1315e10..1add5e80a 100644 --- a/sailpoint/beta/models/sod_exempt_criteria2.py +++ b/sailpoint/beta/models/sod_exempt_criteria2.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class SodExemptCriteria2(BaseModel): Details of the Entitlement criteria """ # noqa: E501 existing: Optional[StrictBool] = Field(default=False, description="If the entitlement already belonged to the user or not.") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Entitlement ID") name: Optional[StrictStr] = Field(default=None, description="Entitlement name") __properties: ClassVar[List[str]] = ["existing", "type", "id", "name"] diff --git a/sailpoint/beta/models/subscription_put_request.py b/sailpoint/beta/models/subscription_put_request.py index 7f350e3d6..55e4aff49 100644 --- a/sailpoint/beta/models/subscription_put_request.py +++ b/sailpoint/beta/models/subscription_put_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.event_bridge_config import EventBridgeConfig from sailpoint.beta.models.http_config import HttpConfig from sailpoint.beta.models.subscription_type import SubscriptionType @@ -32,7 +32,7 @@ class SubscriptionPutRequest(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(default=None, description="Subscription name.") description: Optional[StrictStr] = Field(default=None, description="Subscription description.") - type: Optional[SubscriptionType] = None + type: Optional[Union[SubscriptionType, str]] = None response_deadline: Optional[StrictStr] = Field(default='PT1H', description="Deadline for completing REQUEST_RESPONSE trigger invocation, represented in ISO-8601 duration format.", alias="responseDeadline") http_config: Optional[HttpConfig] = Field(default=None, alias="httpConfig") event_bridge_config: Optional[EventBridgeConfig] = Field(default=None, alias="eventBridgeConfig") diff --git a/sailpoint/beta/models/work_items.py b/sailpoint/beta/models/work_items.py index 482a99665..437be68cf 100644 --- a/sailpoint/beta/models/work_items.py +++ b/sailpoint/beta/models/work_items.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.beta.models.approval_item_details import ApprovalItemDetails from sailpoint.beta.models.form_details import FormDetails from sailpoint.beta.models.remediation_item_details import RemediationItemDetails @@ -41,8 +41,8 @@ class WorkItems(BaseModel): created: Optional[datetime] = None modified: Optional[datetime] = None description: Optional[StrictStr] = Field(default=None, description="The description of the work item") - state: Optional[WorkItemState] = None - type: Optional[WorkItemType] = None + state: Optional[Union[WorkItemState, str]] = None + type: Optional[Union[WorkItemType, str]] = None remediation_items: Optional[List[RemediationItemDetails]] = Field(default=None, alias="remediationItems") approval_items: Optional[List[ApprovalItemDetails]] = Field(default=None, alias="approvalItems") name: Optional[StrictStr] = Field(default=None, description="The work item name") diff --git a/sailpoint/beta/test/test_account_usage.py b/sailpoint/beta/test/test_account_usage.py index b77fe281a..a5644bea7 100644 --- a/sailpoint/beta/test/test_account_usage.py +++ b/sailpoint/beta/test/test_account_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> AccountUsage: model = AccountUsage() if include_optional: return AccountUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10 ) else: diff --git a/sailpoint/beta/test/test_non_employee_request_without_approval_item.py b/sailpoint/beta/test/test_non_employee_request_without_approval_item.py index c17dc939c..b81878344 100644 --- a/sailpoint/beta/test/test_non_employee_request_without_approval_item.py +++ b/sailpoint/beta/test/test_non_employee_request_without_approval_item.py @@ -50,8 +50,8 @@ def make_instance(self, include_optional) -> NonEmployeeRequestWithoutApprovalIt approval_status = 'APPROVED', comment = 'approved', completion_date = '2020-03-24T11:11:41.139-05:00', - start_date = 'Tue Mar 24 00:00:00 UTC 2020', - end_date = 'Thu Mar 25 00:00:00 UTC 2021', + start_date = 'Mon Mar 23 20:00:00 EDT 2020', + end_date = 'Wed Mar 24 20:00:00 EDT 2021', modified = '2020-03-24T11:11:41.139-05:00', created = '2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/beta/test/test_source_usage.py b/sailpoint/beta/test/test_source_usage.py index 3047bab8c..16baffc28 100644 --- a/sailpoint/beta/test/test_source_usage.py +++ b/sailpoint/beta/test/test_source_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> SourceUsage: model = SourceUsage() if include_optional: return SourceUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10.45 ) else: diff --git a/sailpoint/v2024/docs/Models/AccountUsage.md b/sailpoint/v2024/docs/Models/AccountUsage.md index 5353898b1..442faa748 100644 --- a/sailpoint/v2024/docs/Models/AccountUsage.md +++ b/sailpoint/v2024/docs/Models/AccountUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v2024.models.account_usage import AccountUsage account_usage = AccountUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10 ) diff --git a/sailpoint/v2024/docs/Models/NonEmployeeRequestWithoutApprovalItem.md b/sailpoint/v2024/docs/Models/NonEmployeeRequestWithoutApprovalItem.md index db5a37930..a37f38fea 100644 --- a/sailpoint/v2024/docs/Models/NonEmployeeRequestWithoutApprovalItem.md +++ b/sailpoint/v2024/docs/Models/NonEmployeeRequestWithoutApprovalItem.md @@ -56,8 +56,8 @@ data={description=Auditing}, approval_status='APPROVED', comment='approved', completion_date='2020-03-24T11:11:41.139-05:00', -start_date='Tue Mar 24 00:00:00 UTC 2020', -end_date='Thu Mar 25 00:00:00 UTC 2021', +start_date='Mon Mar 23 20:00:00 EDT 2020', +end_date='Wed Mar 24 20:00:00 EDT 2021', modified='2020-03-24T11:11:41.139-05:00', created='2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v2024/docs/Models/SourceUsage.md b/sailpoint/v2024/docs/Models/SourceUsage.md index c57393c0d..ea8523f54 100644 --- a/sailpoint/v2024/docs/Models/SourceUsage.md +++ b/sailpoint/v2024/docs/Models/SourceUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v2024.models.source_usage import SourceUsage source_usage = SourceUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10.45 ) diff --git a/sailpoint/v2024/models/access_request.py b/sailpoint/v2024/models/access_request.py index be0427001..6d9e0a48c 100644 --- a/sailpoint/v2024/models/access_request.py +++ b/sailpoint/v2024/models/access_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from sailpoint.v2024.models.access_request_item import AccessRequestItem from sailpoint.v2024.models.access_request_type import AccessRequestType @@ -32,7 +32,7 @@ class AccessRequest(BaseModel): AccessRequest """ # noqa: E501 requested_for: List[StrictStr] = Field(description="A list of Identity IDs for whom the Access is requested. If it's a Revoke request, there can only be one Identity ID.", alias="requestedFor") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requested_items: Annotated[List[AccessRequestItem], Field(min_length=1)] = Field(alias="requestedItems") client_metadata: Optional[Dict[str, StrictStr]] = Field(default=None, description="Arbitrary key-value pairs. They will never be processed by the IdentityNow system but will be returned on associated APIs such as /account-activities.", alias="clientMetadata") requested_for_with_requested_items: Optional[List[RequestedForDtoRef]] = Field(default=None, description="Additional submit data structure with requestedFor containing requestedItems allowing distinction for each request item and Identity. * Can only be used when 'requestedFor' and 'requestedItems' are not separately provided * Adds ability to specify which account the user wants the access on, in case they have multiple accounts on a source * Allows the ability to request items with different remove dates * Also allows different combinations of request items and identities in the same request * Only for use in GRANT_ACCESS type requests ", alias="requestedForWithRequestedItems") diff --git a/sailpoint/v2024/models/access_request_admin_item_status.py b/sailpoint/v2024/models/access_request_admin_item_status.py index f6a5891a3..87d40a5ed 100644 --- a/sailpoint/v2024/models/access_request_admin_item_status.py +++ b/sailpoint/v2024/models/access_request_admin_item_status.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.access_item_requester import AccessItemRequester from sailpoint.v2024.models.access_request_phases import AccessRequestPhases from sailpoint.v2024.models.access_request_type import AccessRequestType @@ -46,11 +46,11 @@ class AccessRequestAdminItemStatus(BaseModel): type: Optional[StrictStr] = Field(default=None, description="Type of requested object.") cancelled_request_details: Optional[RequestedItemStatusCancelledRequestDetails] = Field(default=None, alias="cancelledRequestDetails") error_messages: Optional[List[List[ErrorMessageDto]]] = Field(default=None, description="List of localized error messages, if any, encountered during the approval/provisioning process.", alias="errorMessages") - state: Optional[RequestedItemStatusRequestState] = None + state: Optional[Union[RequestedItemStatusRequestState, str]] = None approval_details: Optional[List[ApprovalStatusDto]] = Field(default=None, description="Approval details for each item.", alias="approvalDetails") manual_work_item_details: Optional[List[ManualWorkItemDetails]] = Field(default=None, description="Manual work items created for provisioning the item.", alias="manualWorkItemDetails") account_activity_item_id: Optional[StrictStr] = Field(default=None, description="Id of associated account activity item.", alias="accountActivityItemId") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") created: Optional[datetime] = Field(default=None, description="When the request was created.") requester: Optional[AccessItemRequester] = None diff --git a/sailpoint/v2024/models/access_request_recommendation_item.py b/sailpoint/v2024/models/access_request_recommendation_item.py index e7162e594..f7f888e08 100644 --- a/sailpoint/v2024/models/access_request_recommendation_item.py +++ b/sailpoint/v2024/models/access_request_recommendation_item.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.access_request_recommendation_item_type import AccessRequestRecommendationItemType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class AccessRequestRecommendationItem(BaseModel): AccessRequestRecommendationItem """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="ID of access item being recommended.") - type: Optional[AccessRequestRecommendationItemType] = None + type: Optional[Union[AccessRequestRecommendationItemType, str]] = None __properties: ClassVar[List[str]] = ["id", "type"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/access_request_recommendation_item_detail_access.py b/sailpoint/v2024/models/access_request_recommendation_item_detail_access.py index a988b745b..59e4ecfce 100644 --- a/sailpoint/v2024/models/access_request_recommendation_item_detail_access.py +++ b/sailpoint/v2024/models/access_request_recommendation_item_detail_access.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.access_request_recommendation_item_type import AccessRequestRecommendationItemType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class AccessRequestRecommendationItemDetailAccess(BaseModel): AccessRequestRecommendationItemDetailAccess """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="ID of access item being recommended.") - type: Optional[AccessRequestRecommendationItemType] = None + type: Optional[Union[AccessRequestRecommendationItemType, str]] = None name: Optional[StrictStr] = Field(default=None, description="Name of the access item") description: Optional[StrictStr] = Field(default=None, description="Description of the access item") __properties: ClassVar[List[str]] = ["id", "type", "name", "description"] diff --git a/sailpoint/v2024/models/access_review_item.py b/sailpoint/v2024/models/access_review_item.py index e0fa5c4c4..822169a81 100644 --- a/sailpoint/v2024/models/access_review_item.py +++ b/sailpoint/v2024/models/access_review_item.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.access_summary import AccessSummary from sailpoint.v2024.models.certification_decision import CertificationDecision from sailpoint.v2024.models.certification_identity_summary import CertificationIdentitySummary @@ -35,7 +35,7 @@ class AccessReviewItem(BaseModel): id: Optional[StrictStr] = Field(default=None, description="The review item's id") completed: Optional[StrictBool] = Field(default=None, description="Whether the review item is complete") new_access: Optional[StrictBool] = Field(default=None, description="Indicates whether the review item is for new access to a source", alias="newAccess") - decision: Optional[CertificationDecision] = None + decision: Optional[Union[CertificationDecision, str]] = None comments: Optional[StrictStr] = Field(default=None, description="Comments for this review item") __properties: ClassVar[List[str]] = ["accessSummary", "identitySummary", "id", "completed", "newAccess", "decision", "comments"] diff --git a/sailpoint/v2024/models/access_summary_access.py b/sailpoint/v2024/models/access_summary_access.py index b5ac653f0..104b96bd2 100644 --- a/sailpoint/v2024/models/access_summary_access.py +++ b/sailpoint/v2024/models/access_summary_access.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class AccessSummaryAccess(BaseModel): """ AccessSummaryAccess """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="The ID of the item being certified") name: Optional[StrictStr] = Field(default=None, description="The name of the item being certified") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2024/models/account_activity.py b/sailpoint/v2024/models/account_activity.py index cdab6ea8d..22aac6ba0 100644 --- a/sailpoint/v2024/models/account_activity.py +++ b/sailpoint/v2024/models/account_activity.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.account_activity_item import AccountActivityItem from sailpoint.v2024.models.completion_status import CompletionStatus from sailpoint.v2024.models.execution_status import ExecutionStatus @@ -37,14 +37,14 @@ class AccountActivity(BaseModel): created: Optional[datetime] = Field(default=None, description="When the activity was first created") modified: Optional[datetime] = Field(default=None, description="When the activity was last modified") completed: Optional[datetime] = Field(default=None, description="When the activity was completed") - completion_status: Optional[CompletionStatus] = Field(default=None, alias="completionStatus") + completion_status: Optional[Union[CompletionStatus, str]] = Field(default=None, alias="completionStatus") type: Optional[StrictStr] = Field(default=None, description="The type of action the activity performed. Please see the following list of types. This list may grow over time. - CloudAutomated - IdentityAttributeUpdate - appRequest - LifecycleStateChange - AccountStateUpdate - AccountAttributeUpdate - CloudPasswordRequest - Attribute Synchronization Refresh - Certification - Identity Refresh - Lifecycle Change Refresh [Learn more here](https://documentation.sailpoint.com/saas/help/search/searchable-fields.html#searching-account-activity-data). ") requester_identity_summary: Optional[IdentitySummary] = Field(default=None, alias="requesterIdentitySummary") target_identity_summary: Optional[IdentitySummary] = Field(default=None, alias="targetIdentitySummary") errors: Optional[List[StrictStr]] = Field(default=None, description="A list of error messages, if any, that were encountered.") warnings: Optional[List[StrictStr]] = Field(default=None, description="A list of warning messages, if any, that were encountered.") items: Optional[List[AccountActivityItem]] = Field(default=None, description="Individual actions performed as part of this account activity") - execution_status: Optional[ExecutionStatus] = Field(default=None, alias="executionStatus") + execution_status: Optional[Union[ExecutionStatus, str]] = Field(default=None, alias="executionStatus") client_metadata: Optional[Dict[str, StrictStr]] = Field(default=None, description="Arbitrary key-value pairs, if any were included in the corresponding access request", alias="clientMetadata") __properties: ClassVar[List[str]] = ["id", "name", "created", "modified", "completed", "completionStatus", "type", "requesterIdentitySummary", "targetIdentitySummary", "errors", "warnings", "items", "executionStatus", "clientMetadata"] diff --git a/sailpoint/v2024/models/account_activity_item.py b/sailpoint/v2024/models/account_activity_item.py index 7fc2deb1b..1d5568164 100644 --- a/sailpoint/v2024/models/account_activity_item.py +++ b/sailpoint/v2024/models/account_activity_item.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.account_activity_approval_status import AccountActivityApprovalStatus from sailpoint.v2024.models.account_activity_item_operation import AccountActivityItemOperation from sailpoint.v2024.models.account_request_info import AccountRequestInfo @@ -37,12 +37,12 @@ class AccountActivityItem(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Item id") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of item") requested: Optional[datetime] = Field(default=None, description="Date and time item was requested") - approval_status: Optional[AccountActivityApprovalStatus] = Field(default=None, alias="approvalStatus") - provisioning_status: Optional[ProvisioningState] = Field(default=None, alias="provisioningStatus") + approval_status: Optional[Union[AccountActivityApprovalStatus, str]] = Field(default=None, alias="approvalStatus") + provisioning_status: Optional[Union[ProvisioningState, str]] = Field(default=None, alias="provisioningStatus") requester_comment: Optional[Comment] = Field(default=None, alias="requesterComment") reviewer_identity_summary: Optional[IdentitySummary] = Field(default=None, alias="reviewerIdentitySummary") reviewer_comment: Optional[Comment] = Field(default=None, alias="reviewerComment") - operation: Optional[AccountActivityItemOperation] = None + operation: Optional[Union[AccountActivityItemOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Attribute to which account activity applies") value: Optional[StrictStr] = Field(default=None, description="Value of attribute") native_identity: Optional[StrictStr] = Field(default=None, description="Native identity in the target system to which the account activity applies", alias="nativeIdentity") diff --git a/sailpoint/v2024/models/account_all_of_owner_identity.py b/sailpoint/v2024/models/account_all_of_owner_identity.py index 91660c8e1..66b4d9f1f 100644 --- a/sailpoint/v2024/models/account_all_of_owner_identity.py +++ b/sailpoint/v2024/models/account_all_of_owner_identity.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class AccountAllOfOwnerIdentity(BaseModel): """ AccountAllOfOwnerIdentity """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2024/models/account_info_ref.py b/sailpoint/v2024/models/account_info_ref.py index bae554a58..d76dc0dce 100644 --- a/sailpoint/v2024/models/account_info_ref.py +++ b/sailpoint/v2024/models/account_info_ref.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class AccountInfoRef(BaseModel): """ # noqa: E501 uuid: Optional[StrictStr] = Field(default=None, description="The uuid for the account, available under the 'objectguid' attribute") native_identity: Optional[StrictStr] = Field(default=None, description="The 'distinguishedName' attribute for the account", alias="nativeIdentity") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="The account id") name: Optional[StrictStr] = Field(default=None, description="The account display name") __properties: ClassVar[List[str]] = ["uuid", "nativeIdentity", "type", "id", "name"] diff --git a/sailpoint/v2024/models/account_request_info.py b/sailpoint/v2024/models/account_request_info.py index d7cc8d38d..12a7b3a9b 100644 --- a/sailpoint/v2024/models/account_request_info.py +++ b/sailpoint/v2024/models/account_request_info.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.requestable_object_type import RequestableObjectType from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class AccountRequestInfo(BaseModel): """ # noqa: E501 requested_object_id: Optional[StrictStr] = Field(default=None, description="Id of requested object", alias="requestedObjectId") requested_object_name: Optional[StrictStr] = Field(default=None, description="Human-readable name of requested object", alias="requestedObjectName") - requested_object_type: Optional[RequestableObjectType] = Field(default=None, alias="requestedObjectType") + requested_object_type: Optional[Union[RequestableObjectType, str]] = Field(default=None, alias="requestedObjectType") __properties: ClassVar[List[str]] = ["requestedObjectId", "requestedObjectName", "requestedObjectType"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/accounts_selection_request.py b/sailpoint/v2024/models/accounts_selection_request.py index 444454ae9..18701bffd 100644 --- a/sailpoint/v2024/models/accounts_selection_request.py +++ b/sailpoint/v2024/models/accounts_selection_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from sailpoint.v2024.models.access_request_item import AccessRequestItem from sailpoint.v2024.models.access_request_type import AccessRequestType @@ -31,7 +31,7 @@ class AccountsSelectionRequest(BaseModel): AccountsSelectionRequest """ # noqa: E501 requested_for: List[StrictStr] = Field(description="A list of Identity IDs for whom the Access is requested.", alias="requestedFor") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requested_items: Annotated[List[AccessRequestItem], Field(min_length=1, max_length=25)] = Field(alias="requestedItems") client_metadata: Optional[Dict[str, StrictStr]] = Field(default=None, description="Arbitrary key-value pairs. They will never be processed by the IdentityNow system but will be returned on associated APIs such as /account-activities. ", alias="clientMetadata") __properties: ClassVar[List[str]] = ["requestedFor", "requestType", "requestedItems", "clientMetadata"] diff --git a/sailpoint/v2024/models/approval_forward_history.py b/sailpoint/v2024/models/approval_forward_history.py index d0415fc10..41fda4d7d 100644 --- a/sailpoint/v2024/models/approval_forward_history.py +++ b/sailpoint/v2024/models/approval_forward_history.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.reassignment_type import ReassignmentType from typing import Optional, Set from typing_extensions import Self @@ -34,7 +34,7 @@ class ApprovalForwardHistory(BaseModel): comment: Optional[StrictStr] = Field(default=None, description="Comment made while forwarding.") modified: Optional[datetime] = Field(default=None, description="Time at which approval was forwarded.") forwarder_name: Optional[StrictStr] = Field(default=None, description="Display name of forwarder who forwarded the approval.", alias="forwarderName") - reassignment_type: Optional[ReassignmentType] = Field(default=None, alias="reassignmentType") + reassignment_type: Optional[Union[ReassignmentType, str]] = Field(default=None, alias="reassignmentType") __properties: ClassVar[List[str]] = ["oldApproverName", "newApproverName", "comment", "modified", "forwarderName", "reassignmentType"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/approval_status_dto.py b/sailpoint/v2024/models/approval_status_dto.py index 299ca6688..92b807046 100644 --- a/sailpoint/v2024/models/approval_status_dto.py +++ b/sailpoint/v2024/models/approval_status_dto.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.approval_scheme import ApprovalScheme from sailpoint.v2024.models.approval_status_dto_current_owner import ApprovalStatusDtoCurrentOwner from sailpoint.v2024.models.approval_status_dto_original_owner import ApprovalStatusDtoOriginalOwner @@ -37,8 +37,8 @@ class ApprovalStatusDto(BaseModel): original_owner: Optional[ApprovalStatusDtoOriginalOwner] = Field(default=None, alias="originalOwner") current_owner: Optional[ApprovalStatusDtoCurrentOwner] = Field(default=None, alias="currentOwner") modified: Optional[datetime] = Field(default=None, description="Time at which item was modified.") - status: Optional[ManualWorkItemState] = None - scheme: Optional[ApprovalScheme] = None + status: Optional[Union[ManualWorkItemState, str]] = None + scheme: Optional[Union[ApprovalScheme, str]] = None error_messages: Optional[List[ErrorMessageDto]] = Field(default=None, description="If the request failed, includes any error messages that were generated.", alias="errorMessages") comment: Optional[StrictStr] = Field(default=None, description="Comment, if any, provided by the approver.") remove_date: Optional[datetime] = Field(default=None, description="The date the role or access profile or entitlement is no longer assigned to the specified identity.", alias="removeDate") diff --git a/sailpoint/v2024/models/attribute_definition.py b/sailpoint/v2024/models/attribute_definition.py index 9d557b205..135c94df3 100644 --- a/sailpoint/v2024/models/attribute_definition.py +++ b/sailpoint/v2024/models/attribute_definition.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.attribute_definition_schema import AttributeDefinitionSchema from sailpoint.v2024.models.attribute_definition_type import AttributeDefinitionType from typing import Optional, Set @@ -31,7 +31,7 @@ class AttributeDefinition(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(default=None, description="The name of the attribute.") native_name: Optional[StrictStr] = Field(default=None, description="Attribute name in the native system.", alias="nativeName") - type: Optional[AttributeDefinitionType] = None + type: Optional[Union[AttributeDefinitionType, str]] = None var_schema: Optional[AttributeDefinitionSchema] = Field(default=None, alias="schema") description: Optional[StrictStr] = Field(default=None, description="A human-readable description of the attribute.") is_multi: Optional[StrictBool] = Field(default=False, description="Flag indicating whether or not the attribute is multi-valued.", alias="isMulti") diff --git a/sailpoint/v2024/models/base_reference_dto.py b/sailpoint/v2024/models/base_reference_dto.py index bf0b663d8..e78127c54 100644 --- a/sailpoint/v2024/models/base_reference_dto.py +++ b/sailpoint/v2024/models/base_reference_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class BaseReferenceDto(BaseModel): """ BaseReferenceDto """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2024/models/bucket_aggregation.py b/sailpoint/v2024/models/bucket_aggregation.py index 45b353a9c..4a0ab3d9c 100644 --- a/sailpoint/v2024/models/bucket_aggregation.py +++ b/sailpoint/v2024/models/bucket_aggregation.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.bucket_type import BucketType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class BucketAggregation(BaseModel): The bucket to group the results of the aggregation query by. """ # noqa: E501 name: StrictStr = Field(description="The name of the bucket aggregate to be included in the result.") - type: Optional[BucketType] = BucketType.TERMS + type: Optional[Union[BucketType, str]] = BucketType.TERMS var_field: StrictStr = Field(description="The field to bucket on. Prefix the field name with '@' to reference a nested object.", alias="field") size: Optional[StrictInt] = Field(default=None, description="Maximum number of buckets to include.") min_doc_count: Optional[StrictInt] = Field(default=None, description="Minimum number of documents a bucket should have.", alias="minDocCount") diff --git a/sailpoint/v2024/models/campaign_filter_details_criteria_list_inner.py b/sailpoint/v2024/models/campaign_filter_details_criteria_list_inner.py index 1a8adb125..36f121dcb 100644 --- a/sailpoint/v2024/models/campaign_filter_details_criteria_list_inner.py +++ b/sailpoint/v2024/models/campaign_filter_details_criteria_list_inner.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.criteria_type import CriteriaType from sailpoint.v2024.models.operation import Operation from typing import Optional, Set @@ -30,7 +30,7 @@ class CampaignFilterDetailsCriteriaListInner(BaseModel): CampaignFilterDetailsCriteriaListInner """ # noqa: E501 type: CriteriaType - operation: Optional[Operation] = None + operation: Optional[Union[Operation, str]] = None var_property: Optional[StrictStr] = Field(description="Specified key from the type of criteria.", alias="property") value: Optional[StrictStr] = Field(description="Value for the specified key from the type of criteria.") negate_result: Optional[StrictBool] = Field(default=False, description="If true, the filter will negate the result of the criteria.", alias="negateResult") diff --git a/sailpoint/v2024/models/campaign_report.py b/sailpoint/v2024/models/campaign_report.py index 65d79e20e..176080adc 100644 --- a/sailpoint/v2024/models/campaign_report.py +++ b/sailpoint/v2024/models/campaign_report.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.report_type import ReportType from typing import Optional, Set from typing_extensions import Self @@ -33,7 +33,7 @@ class CampaignReport(BaseModel): id: Optional[StrictStr] = Field(default=None, description="SOD policy violation report result ID.") name: Optional[StrictStr] = Field(default=None, description="Human-readable name of the SOD policy violation report result.") status: Optional[StrictStr] = Field(default=None, description="Status of a SOD policy violation report.") - report_type: ReportType = Field(alias="reportType") + report_type: Union[ReportType, str] = Field(alias="reportType") last_run_at: Optional[datetime] = Field(default=None, description="The most recent date and time this report was run", alias="lastRunAt") __properties: ClassVar[List[str]] = ["type", "id", "name", "status", "reportType", "lastRunAt"] diff --git a/sailpoint/v2024/models/certification.py b/sailpoint/v2024/models/certification.py index 92b878ca7..13bb011db 100644 --- a/sailpoint/v2024/models/certification.py +++ b/sailpoint/v2024/models/certification.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.campaign_reference import CampaignReference from sailpoint.v2024.models.certification_phase import CertificationPhase from sailpoint.v2024.models.reassignment import Reassignment @@ -48,7 +48,7 @@ class Certification(BaseModel): reassignment: Optional[Reassignment] = None has_errors: Optional[StrictBool] = Field(default=None, description="Identifies if the certification has an error", alias="hasErrors") error_message: Optional[StrictStr] = Field(default=None, description="Description of the certification error", alias="errorMessage") - phase: Optional[CertificationPhase] = None + phase: Optional[Union[CertificationPhase, str]] = None __properties: ClassVar[List[str]] = ["id", "name", "campaign", "completed", "identitiesCompleted", "identitiesTotal", "created", "modified", "decisionsMade", "decisionsTotal", "due", "signed", "reviewer", "reassignment", "hasErrors", "errorMessage", "phase"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/client_log_configuration.py b/sailpoint/v2024/models/client_log_configuration.py index 3199e5d10..853b32955 100644 --- a/sailpoint/v2024/models/client_log_configuration.py +++ b/sailpoint/v2024/models/client_log_configuration.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from sailpoint.v2024.models.standard_level import StandardLevel from typing import Optional, Set @@ -33,8 +33,8 @@ class ClientLogConfiguration(BaseModel): client_id: Optional[StrictStr] = Field(default=None, description="Log configuration's client ID", alias="clientId") duration_minutes: Optional[Annotated[int, Field(le=1440, strict=True, ge=5)]] = Field(default=240, description="Duration in minutes for log configuration to remain in effect before resetting to defaults.", alias="durationMinutes") expiration: Optional[datetime] = Field(default=None, description="Expiration date-time of the log configuration request. Can be no greater than 24 hours from current date-time.") - root_level: StandardLevel = Field(alias="rootLevel") - log_levels: Optional[Dict[str, StandardLevel]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") + root_level: Union[StandardLevel, str] = Field(alias="rootLevel") + log_levels: Optional[Dict[str, Union[StandardLevel, str]]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") __properties: ClassVar[List[str]] = ["clientId", "durationMinutes", "expiration", "rootLevel", "logLevels"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/client_log_configuration_duration_minutes.py b/sailpoint/v2024/models/client_log_configuration_duration_minutes.py index 341e8c07b..046c92187 100644 --- a/sailpoint/v2024/models/client_log_configuration_duration_minutes.py +++ b/sailpoint/v2024/models/client_log_configuration_duration_minutes.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from sailpoint.v2024.models.standard_level import StandardLevel from typing import Optional, Set @@ -31,8 +31,8 @@ class ClientLogConfigurationDurationMinutes(BaseModel): """ # noqa: E501 client_id: Optional[StrictStr] = Field(default=None, description="Log configuration's client ID", alias="clientId") duration_minutes: Optional[Annotated[int, Field(le=1440, strict=True, ge=5)]] = Field(default=240, description="Duration in minutes for log configuration to remain in effect before resetting to defaults.", alias="durationMinutes") - root_level: StandardLevel = Field(alias="rootLevel") - log_levels: Optional[Dict[str, StandardLevel]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") + root_level: Union[StandardLevel, str] = Field(alias="rootLevel") + log_levels: Optional[Dict[str, Union[StandardLevel, str]]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") __properties: ClassVar[List[str]] = ["clientId", "durationMinutes", "rootLevel", "logLevels"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/client_log_configuration_expiration.py b/sailpoint/v2024/models/client_log_configuration_expiration.py index 3a58ed5cc..e65ac8b35 100644 --- a/sailpoint/v2024/models/client_log_configuration_expiration.py +++ b/sailpoint/v2024/models/client_log_configuration_expiration.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.standard_level import StandardLevel from typing import Optional, Set from typing_extensions import Self @@ -31,8 +31,8 @@ class ClientLogConfigurationExpiration(BaseModel): """ # noqa: E501 client_id: Optional[StrictStr] = Field(default=None, description="Log configuration's client ID", alias="clientId") expiration: Optional[datetime] = Field(default=None, description="Expiration date-time of the log configuration request. Can be no greater than 24 hours from current date-time.") - root_level: StandardLevel = Field(alias="rootLevel") - log_levels: Optional[Dict[str, StandardLevel]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") + root_level: Union[StandardLevel, str] = Field(alias="rootLevel") + log_levels: Optional[Dict[str, Union[StandardLevel, str]]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") __properties: ClassVar[List[str]] = ["clientId", "expiration", "rootLevel", "logLevels"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/common_access_item_access.py b/sailpoint/v2024/models/common_access_item_access.py index 5fc509fd4..b337b0479 100644 --- a/sailpoint/v2024/models/common_access_item_access.py +++ b/sailpoint/v2024/models/common_access_item_access.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.common_access_type import CommonAccessType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class CommonAccessItemAccess(BaseModel): CommonAccessItemAccess """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="Common access ID") - type: Optional[CommonAccessType] = None + type: Optional[Union[CommonAccessType, str]] = None name: Optional[StrictStr] = Field(default=None, description="Common access name") description: Optional[StrictStr] = Field(default=None, description="Common access description") owner_name: Optional[StrictStr] = Field(default=None, description="Common access owner name", alias="ownerName") diff --git a/sailpoint/v2024/models/common_access_item_request.py b/sailpoint/v2024/models/common_access_item_request.py index a39b90f44..e94447b38 100644 --- a/sailpoint/v2024/models/common_access_item_request.py +++ b/sailpoint/v2024/models/common_access_item_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.common_access_item_access import CommonAccessItemAccess from sailpoint.v2024.models.common_access_item_state import CommonAccessItemState from typing import Optional, Set @@ -30,7 +30,7 @@ class CommonAccessItemRequest(BaseModel): CommonAccessItemRequest """ # noqa: E501 access: Optional[CommonAccessItemAccess] = None - status: Optional[CommonAccessItemState] = None + status: Optional[Union[CommonAccessItemState, str]] = None __properties: ClassVar[List[str]] = ["access", "status"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/common_access_item_response.py b/sailpoint/v2024/models/common_access_item_response.py index 85a484090..cd7412da6 100644 --- a/sailpoint/v2024/models/common_access_item_response.py +++ b/sailpoint/v2024/models/common_access_item_response.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.common_access_item_access import CommonAccessItemAccess from sailpoint.v2024.models.common_access_item_state import CommonAccessItemState from typing import Optional, Set @@ -31,7 +31,7 @@ class CommonAccessItemResponse(BaseModel): """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="Common Access Item ID") access: Optional[CommonAccessItemAccess] = None - status: Optional[CommonAccessItemState] = None + status: Optional[Union[CommonAccessItemState, str]] = None last_updated: Optional[StrictStr] = Field(default=None, alias="lastUpdated") reviewed_by_user: Optional[StrictBool] = Field(default=None, alias="reviewedByUser") last_reviewed: Optional[StrictStr] = Field(default=None, alias="lastReviewed") diff --git a/sailpoint/v2024/models/completed_approval.py b/sailpoint/v2024/models/completed_approval.py index 858559719..5d4b7ba48 100644 --- a/sailpoint/v2024/models/completed_approval.py +++ b/sailpoint/v2024/models/completed_approval.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.access_item_requester import AccessItemRequester from sailpoint.v2024.models.access_item_reviewed_by import AccessItemReviewedBy from sailpoint.v2024.models.access_request_type import AccessRequestType @@ -48,7 +48,7 @@ class CompletedApproval(BaseModel): created: Optional[datetime] = Field(default=None, description="When the approval was created.") modified: Optional[datetime] = Field(default=None, description="When the approval was modified last time.") request_created: Optional[datetime] = Field(default=None, description="When the access-request was created.", alias="requestCreated") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requester: Optional[AccessItemRequester] = None requested_for: Optional[RequestedItemStatusRequestedFor] = Field(default=None, alias="requestedFor") reviewed_by: Optional[AccessItemReviewedBy] = Field(default=None, alias="reviewedBy") @@ -59,7 +59,7 @@ class CompletedApproval(BaseModel): previous_reviewers_comments: Optional[List[CommentDto]] = Field(default=None, description="The history of the previous reviewers comments.", alias="previousReviewersComments") forward_history: Optional[List[ApprovalForwardHistory]] = Field(default=None, description="The history of approval forward action.", alias="forwardHistory") comment_required_when_rejected: Optional[StrictBool] = Field(default=False, description="When true the rejector has to provide comments when rejecting", alias="commentRequiredWhenRejected") - state: Optional[CompletedApprovalState] = None + state: Optional[Union[CompletedApprovalState, str]] = None remove_date: Optional[datetime] = Field(default=None, description="The date the role or access profile or entitlement is no longer assigned to the specified identity.", alias="removeDate") remove_date_update_requested: Optional[StrictBool] = Field(default=False, description="If true, then the request was to change the remove date or sunset date.", alias="removeDateUpdateRequested") current_remove_date: Optional[datetime] = Field(default=None, description="The remove date or sunset date that was assigned at the time of the request.", alias="currentRemoveDate") diff --git a/sailpoint/v2024/models/completed_approval_pre_approval_trigger_result.py b/sailpoint/v2024/models/completed_approval_pre_approval_trigger_result.py index b7d239453..1fe297ef3 100644 --- a/sailpoint/v2024/models/completed_approval_pre_approval_trigger_result.py +++ b/sailpoint/v2024/models/completed_approval_pre_approval_trigger_result.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.completed_approval_state import CompletedApprovalState from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class CompletedApprovalPreApprovalTriggerResult(BaseModel): If the access request submitted event trigger is configured and this access request was intercepted by it, then this is the result of the trigger's decision to either approve or deny the request. """ # noqa: E501 comment: Optional[StrictStr] = Field(default=None, description="The comment from the trigger") - decision: Optional[CompletedApprovalState] = None + decision: Optional[Union[CompletedApprovalState, str]] = None reviewer: Optional[StrictStr] = Field(default=None, description="The name of the approver") var_date: Optional[datetime] = Field(default=None, description="The date and time the trigger decided on the request", alias="date") __properties: ClassVar[List[str]] = ["comment", "decision", "reviewer", "date"] diff --git a/sailpoint/v2024/models/config_type.py b/sailpoint/v2024/models/config_type.py index 781411a97..2dd2563a1 100644 --- a/sailpoint/v2024/models/config_type.py +++ b/sailpoint/v2024/models/config_type.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.config_type_enum import ConfigTypeEnum from sailpoint.v2024.models.config_type_enum_camel import ConfigTypeEnumCamel from typing import Optional, Set @@ -30,8 +30,8 @@ class ConfigType(BaseModel): Type of Reassignment Configuration. """ # noqa: E501 priority: Optional[StrictInt] = None - internal_name: Optional[ConfigTypeEnumCamel] = Field(default=None, alias="internalName") - internal_name_camel: Optional[ConfigTypeEnum] = Field(default=None, alias="internalNameCamel") + internal_name: Optional[Union[ConfigTypeEnumCamel, str]] = Field(default=None, alias="internalName") + internal_name_camel: Optional[Union[ConfigTypeEnum, str]] = Field(default=None, alias="internalNameCamel") display_name: Optional[StrictStr] = Field(default=None, description="Human readable display name of the type to be shown on UI", alias="displayName") description: Optional[StrictStr] = Field(default=None, description="Description of the type of work to be reassigned, displayed by the UI.") __properties: ClassVar[List[str]] = ["priority", "internalName", "internalNameCamel", "displayName", "description"] diff --git a/sailpoint/v2024/models/configuration_details_response.py b/sailpoint/v2024/models/configuration_details_response.py index 22fda0f77..aad2ed851 100644 --- a/sailpoint/v2024/models/configuration_details_response.py +++ b/sailpoint/v2024/models/configuration_details_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.audit_details import AuditDetails from sailpoint.v2024.models.config_type_enum import ConfigTypeEnum from sailpoint.v2024.models.identity1 import Identity1 @@ -31,7 +31,7 @@ class ConfigurationDetailsResponse(BaseModel): """ The request body of Reassignment Configuration Details for a specific identity and config type """ # noqa: E501 - config_type: Optional[ConfigTypeEnum] = Field(default=None, alias="configType") + config_type: Optional[Union[ConfigTypeEnum, str]] = Field(default=None, alias="configType") target_identity: Optional[Identity1] = Field(default=None, alias="targetIdentity") start_date: Optional[datetime] = Field(default=None, description="The date from which to start reassigning work items", alias="startDate") end_date: Optional[datetime] = Field(default=None, description="The date from which to stop reassigning work items. If this is an empty string it indicates a permanent reassignment.", alias="endDate") diff --git a/sailpoint/v2024/models/configuration_item_request.py b/sailpoint/v2024/models/configuration_item_request.py index 1a1e13830..fd28af01f 100644 --- a/sailpoint/v2024/models/configuration_item_request.py +++ b/sailpoint/v2024/models/configuration_item_request.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.config_type_enum import ConfigTypeEnum from typing import Optional, Set from typing_extensions import Self @@ -31,7 +31,7 @@ class ConfigurationItemRequest(BaseModel): """ # noqa: E501 reassigned_from_id: Optional[StrictStr] = Field(default=None, description="The identity id to reassign an item from", alias="reassignedFromId") reassigned_to_id: Optional[StrictStr] = Field(default=None, description="The identity id to reassign an item to", alias="reassignedToId") - config_type: Optional[ConfigTypeEnum] = Field(default=None, alias="configType") + config_type: Optional[Union[ConfigTypeEnum, str]] = Field(default=None, alias="configType") start_date: Optional[datetime] = Field(default=None, description="The date from which to start reassigning work items", alias="startDate") end_date: Optional[datetime] = Field(default=None, description="The date from which to stop reassigning work items. If this is an null string it indicates a permanent reassignment.", alias="endDate") __properties: ClassVar[List[str]] = ["reassignedFromId", "reassignedToId", "configType", "startDate", "endDate"] diff --git a/sailpoint/v2024/models/create_o_auth_client_request.py b/sailpoint/v2024/models/create_o_auth_client_request.py index 709354595..d8a73fe18 100644 --- a/sailpoint/v2024/models/create_o_auth_client_request.py +++ b/sailpoint/v2024/models/create_o_auth_client_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.access_type import AccessType from sailpoint.v2024.models.client_type import ClientType from sailpoint.v2024.models.grant_type import GrantType @@ -37,9 +37,9 @@ class CreateOAuthClientRequest(BaseModel): access_token_validity_seconds: StrictInt = Field(description="The number of seconds an access token generated for this API Client is valid for", alias="accessTokenValiditySeconds") refresh_token_validity_seconds: Optional[StrictInt] = Field(default=None, description="The number of seconds a refresh token generated for this API Client is valid for", alias="refreshTokenValiditySeconds") redirect_uris: Optional[List[StrictStr]] = Field(default=None, description="A list of the approved redirect URIs. Provide one or more URIs when assigning the AUTHORIZATION_CODE grant type to a new OAuth Client.", alias="redirectUris") - grant_types: Optional[List[GrantType]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") - access_type: AccessType = Field(alias="accessType") - type: Optional[ClientType] = None + grant_types: Optional[List[Union[GrantType, str]]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") + access_type: Union[AccessType, str] = Field(alias="accessType") + type: Optional[Union[ClientType, str]] = None internal: Optional[StrictBool] = Field(default=None, description="An indicator of whether the API Client can be used for requests internal within the product.") enabled: StrictBool = Field(description="An indicator of whether the API Client is enabled for use") strong_auth_supported: Optional[StrictBool] = Field(default=None, description="An indicator of whether the API Client supports strong authentication", alias="strongAuthSupported") diff --git a/sailpoint/v2024/models/create_o_auth_client_response.py b/sailpoint/v2024/models/create_o_auth_client_response.py index ad14c5ca6..2e81ff72f 100644 --- a/sailpoint/v2024/models/create_o_auth_client_response.py +++ b/sailpoint/v2024/models/create_o_auth_client_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.access_type import AccessType from sailpoint.v2024.models.client_type import ClientType from sailpoint.v2024.models.grant_type import GrantType @@ -40,8 +40,8 @@ class CreateOAuthClientResponse(BaseModel): access_token_validity_seconds: StrictInt = Field(description="The number of seconds an access token generated for this API Client is valid for", alias="accessTokenValiditySeconds") refresh_token_validity_seconds: StrictInt = Field(description="The number of seconds a refresh token generated for this API Client is valid for", alias="refreshTokenValiditySeconds") redirect_uris: List[StrictStr] = Field(description="A list of the approved redirect URIs used with the authorization_code flow", alias="redirectUris") - grant_types: List[GrantType] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") - access_type: AccessType = Field(alias="accessType") + grant_types: List[Union[GrantType, str]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") + access_type: Union[AccessType, str] = Field(alias="accessType") type: ClientType internal: StrictBool = Field(description="An indicator of whether the API Client can be used for requests internal to IDN") enabled: StrictBool = Field(description="An indicator of whether the API Client is enabled for use") diff --git a/sailpoint/v2024/models/create_saved_search_request.py b/sailpoint/v2024/models/create_saved_search_request.py index bf83b55c8..ecf6b634e 100644 --- a/sailpoint/v2024/models/create_saved_search_request.py +++ b/sailpoint/v2024/models/create_saved_search_request.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.column import Column from sailpoint.v2024.models.index import Index from sailpoint.v2024.models.saved_search_detail_filters import SavedSearchDetailFilters @@ -35,7 +35,7 @@ class CreateSavedSearchRequest(BaseModel): description: Optional[StrictStr] = Field(default=None, description="The description of the saved search. ") created: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") modified: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") - indices: List[Index] = Field(description="The names of the Elasticsearch indices in which to search. ") + indices: List[Union[Index, str]] = Field(description="The names of the Elasticsearch indices in which to search. ") columns: Optional[Dict[str, List[Column]]] = Field(default=None, description="The columns to be returned (specifies the order in which they will be presented) for each document type. The currently supported document types are: _accessprofile_, _accountactivity_, _account_, _aggregation_, _entitlement_, _event_, _identity_, and _role_. ") query: StrictStr = Field(description="The search query using Elasticsearch [Query String Query](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-query-string-query.html#query-string) syntax from the Query DSL. ") fields: Optional[List[StrictStr]] = Field(default=None, description="The fields to be searched against in a multi-field query. ") diff --git a/sailpoint/v2024/models/data_segment.py b/sailpoint/v2024/models/data_segment.py index 32adc78c7..790c926fc 100644 --- a/sailpoint/v2024/models/data_segment.py +++ b/sailpoint/v2024/models/data_segment.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.membership_type import MembershipType from sailpoint.v2024.models.ref import Ref from sailpoint.v2024.models.scope import Scope @@ -40,7 +40,7 @@ class DataSegment(BaseModel): scopes: Optional[List[Scope]] = Field(default=None, description="List of Scopes that are assigned to the segment") member_selection: Optional[List[Ref]] = Field(default=None, description="List of Identities that are assigned to the segment", alias="memberSelection") member_filter: Optional[VisibilityCriteria] = Field(default=None, alias="memberFilter") - membership: Optional[MembershipType] = None + membership: Optional[Union[MembershipType, str]] = None enabled: Optional[StrictBool] = Field(default=False, description="This boolean indicates whether the segment is currently active. Inactive segments have no effect.") published: Optional[StrictBool] = Field(default=False, description="This boolean indicates whether the segment is being applied to the accounts. If unpublished its being actively modified to until published") __properties: ClassVar[List[str]] = ["id", "name", "created", "modified", "description", "scopes", "memberSelection", "memberFilter", "membership", "enabled", "published"] diff --git a/sailpoint/v2024/models/dimension_criteria_level1.py b/sailpoint/v2024/models/dimension_criteria_level1.py index 28409fe54..f673a3790 100644 --- a/sailpoint/v2024/models/dimension_criteria_level1.py +++ b/sailpoint/v2024/models/dimension_criteria_level1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dimension_criteria_key import DimensionCriteriaKey from sailpoint.v2024.models.dimension_criteria_level2 import DimensionCriteriaLevel2 from sailpoint.v2024.models.dimension_criteria_operation import DimensionCriteriaOperation @@ -30,7 +30,7 @@ class DimensionCriteriaLevel1(BaseModel): """ Defines STANDARD type Dimension membership """ # noqa: E501 - operation: Optional[DimensionCriteriaOperation] = None + operation: Optional[Union[DimensionCriteriaOperation, str]] = None key: Optional[DimensionCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is EQUALS, this field is required. Otherwise, specifying it is an error.", alias="stringValue") children: Optional[List[Optional[DimensionCriteriaLevel2]]] = Field(default=None, description="Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa.") diff --git a/sailpoint/v2024/models/dimension_criteria_level2.py b/sailpoint/v2024/models/dimension_criteria_level2.py index 02884532d..e67e5baec 100644 --- a/sailpoint/v2024/models/dimension_criteria_level2.py +++ b/sailpoint/v2024/models/dimension_criteria_level2.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dimension_criteria_key import DimensionCriteriaKey from sailpoint.v2024.models.dimension_criteria_level3 import DimensionCriteriaLevel3 from sailpoint.v2024.models.dimension_criteria_operation import DimensionCriteriaOperation @@ -30,7 +30,7 @@ class DimensionCriteriaLevel2(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[DimensionCriteriaOperation] = None + operation: Optional[Union[DimensionCriteriaOperation, str]] = None key: Optional[DimensionCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, this field is required. Otherwise, specifying it is an error.", alias="stringValue") children: Optional[List[DimensionCriteriaLevel3]] = Field(default=None, description="Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa.") diff --git a/sailpoint/v2024/models/dimension_criteria_level3.py b/sailpoint/v2024/models/dimension_criteria_level3.py index 4c0ee1e83..71a299432 100644 --- a/sailpoint/v2024/models/dimension_criteria_level3.py +++ b/sailpoint/v2024/models/dimension_criteria_level3.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dimension_criteria_key import DimensionCriteriaKey from sailpoint.v2024.models.dimension_criteria_operation import DimensionCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class DimensionCriteriaLevel3(BaseModel): """ Defines STANDARD type Dimension membership """ # noqa: E501 - operation: Optional[DimensionCriteriaOperation] = None + operation: Optional[Union[DimensionCriteriaOperation, str]] = None key: Optional[DimensionCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, this field is required. Otherwise, specifying it is an error.", alias="stringValue") __properties: ClassVar[List[str]] = ["operation", "key", "stringValue"] diff --git a/sailpoint/v2024/models/dimension_membership_selector.py b/sailpoint/v2024/models/dimension_membership_selector.py index 2c533ff45..32d92cdf8 100644 --- a/sailpoint/v2024/models/dimension_membership_selector.py +++ b/sailpoint/v2024/models/dimension_membership_selector.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dimension_criteria_level1 import DimensionCriteriaLevel1 from sailpoint.v2024.models.dimension_membership_selector_type import DimensionMembershipSelectorType from typing import Optional, Set @@ -29,7 +29,7 @@ class DimensionMembershipSelector(BaseModel): """ When present, specifies that the Dimension is to be granted to Identities which either satisfy specific criteria. """ # noqa: E501 - type: Optional[DimensionMembershipSelectorType] = None + type: Optional[Union[DimensionMembershipSelectorType, str]] = None criteria: Optional[DimensionCriteriaLevel1] = None __properties: ClassVar[List[str]] = ["type", "criteria"] diff --git a/sailpoint/v2024/models/error_message_dto.py b/sailpoint/v2024/models/error_message_dto.py index 37c9b7f5b..866fa2973 100644 --- a/sailpoint/v2024/models/error_message_dto.py +++ b/sailpoint/v2024/models/error_message_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.locale_origin import LocaleOrigin from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class ErrorMessageDto(BaseModel): ErrorMessageDto """ # noqa: E501 locale: Optional[StrictStr] = Field(default=None, description="The locale for the message text, a BCP 47 language tag.") - locale_origin: Optional[LocaleOrigin] = Field(default=None, alias="localeOrigin") + locale_origin: Optional[Union[LocaleOrigin, str]] = Field(default=None, alias="localeOrigin") text: Optional[StrictStr] = Field(default=None, description="Actual text of the error message in the indicated locale.") __properties: ClassVar[List[str]] = ["locale", "localeOrigin", "text"] diff --git a/sailpoint/v2024/models/exception_criteria_access.py b/sailpoint/v2024/models/exception_criteria_access.py index c9f93352b..14d547501 100644 --- a/sailpoint/v2024/models/exception_criteria_access.py +++ b/sailpoint/v2024/models/exception_criteria_access.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class ExceptionCriteriaAccess(BaseModel): """ Access reference with addition of boolean existing flag to indicate whether the access was extant """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") existing: Optional[StrictBool] = Field(default=False, description="Whether the subject identity already had that access or not") diff --git a/sailpoint/v2024/models/filter.py b/sailpoint/v2024/models/filter.py index 6277c0e0c..61e1158be 100644 --- a/sailpoint/v2024/models/filter.py +++ b/sailpoint/v2024/models/filter.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.filter_type import FilterType from sailpoint.v2024.models.range import Range from typing import Optional, Set @@ -29,7 +29,7 @@ class Filter(BaseModel): """ Filter """ # noqa: E501 - type: Optional[FilterType] = None + type: Optional[Union[FilterType, str]] = None range: Optional[Range] = None terms: Optional[List[StrictStr]] = Field(default=None, description="The terms to be filtered.") exclude: Optional[StrictBool] = Field(default=False, description="Indicates if the filter excludes results.") diff --git a/sailpoint/v2024/models/filter_aggregation.py b/sailpoint/v2024/models/filter_aggregation.py index d9eaf73b6..4413058f8 100644 --- a/sailpoint/v2024/models/filter_aggregation.py +++ b/sailpoint/v2024/models/filter_aggregation.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.search_filter_type import SearchFilterType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class FilterAggregation(BaseModel): An additional filter to constrain the results of the search query. """ # noqa: E501 name: StrictStr = Field(description="The name of the filter aggregate to be included in the result.") - type: Optional[SearchFilterType] = SearchFilterType.TERM + type: Optional[Union[SearchFilterType, str]] = SearchFilterType.TERM var_field: StrictStr = Field(description="The search field to apply the filter to. Prefix the field name with '@' to reference a nested object. ", alias="field") value: StrictStr = Field(description="The value to filter on.") __properties: ClassVar[List[str]] = ["name", "type", "field", "value"] diff --git a/sailpoint/v2024/models/get_o_auth_client_response.py b/sailpoint/v2024/models/get_o_auth_client_response.py index c6f71ad17..256dddf6c 100644 --- a/sailpoint/v2024/models/get_o_auth_client_response.py +++ b/sailpoint/v2024/models/get_o_auth_client_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.access_type import AccessType from sailpoint.v2024.models.client_type import ClientType from sailpoint.v2024.models.grant_type import GrantType @@ -39,8 +39,8 @@ class GetOAuthClientResponse(BaseModel): access_token_validity_seconds: StrictInt = Field(description="The number of seconds an access token generated for this API Client is valid for", alias="accessTokenValiditySeconds") refresh_token_validity_seconds: StrictInt = Field(description="The number of seconds a refresh token generated for this API Client is valid for", alias="refreshTokenValiditySeconds") redirect_uris: Optional[List[StrictStr]] = Field(description="A list of the approved redirect URIs used with the authorization_code flow", alias="redirectUris") - grant_types: List[GrantType] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") - access_type: AccessType = Field(alias="accessType") + grant_types: List[Union[GrantType, str]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") + access_type: Union[AccessType, str] = Field(alias="accessType") type: ClientType internal: StrictBool = Field(description="An indicator of whether the API Client can be used for requests internal to IDN") enabled: StrictBool = Field(description="An indicator of whether the API Client is enabled for use") diff --git a/sailpoint/v2024/models/http_config.py b/sailpoint/v2024/models/http_config.py index 277a29b9d..66839bb94 100644 --- a/sailpoint/v2024/models/http_config.py +++ b/sailpoint/v2024/models/http_config.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.basic_auth_config import BasicAuthConfig from sailpoint.v2024.models.bearer_token_auth_config import BearerTokenAuthConfig from sailpoint.v2024.models.http_authentication_type import HttpAuthenticationType @@ -32,8 +32,8 @@ class HttpConfig(BaseModel): HttpConfig """ # noqa: E501 url: StrictStr = Field(description="URL of the external/custom integration.") - http_dispatch_mode: HttpDispatchMode = Field(alias="httpDispatchMode") - http_authentication_type: Optional[HttpAuthenticationType] = Field(default=HttpAuthenticationType.NO_AUTH, alias="httpAuthenticationType") + http_dispatch_mode: Union[HttpDispatchMode, str] = Field(alias="httpDispatchMode") + http_authentication_type: Optional[Union[HttpAuthenticationType, str]] = Field(default=HttpAuthenticationType.NO_AUTH, alias="httpAuthenticationType") basic_auth_config: Optional[BasicAuthConfig] = Field(default=None, alias="basicAuthConfig") bearer_token_auth_config: Optional[BearerTokenAuthConfig] = Field(default=None, alias="bearerTokenAuthConfig") __properties: ClassVar[List[str]] = ["url", "httpDispatchMode", "httpAuthenticationType", "basicAuthConfig", "bearerTokenAuthConfig"] diff --git a/sailpoint/v2024/models/identity_account_selections.py b/sailpoint/v2024/models/identity_account_selections.py index 14547423e..f45de21bc 100644 --- a/sailpoint/v2024/models/identity_account_selections.py +++ b/sailpoint/v2024/models/identity_account_selections.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dto_type import DtoType from sailpoint.v2024.models.requested_item_account_selections import RequestedItemAccountSelections from typing import Optional, Set @@ -31,7 +31,7 @@ class IdentityAccountSelections(BaseModel): """ # noqa: E501 requested_items: Optional[List[RequestedItemAccountSelections]] = Field(default=None, description="Available account selections for the identity, per requested item", alias="requestedItems") accounts_selection_required: Optional[StrictBool] = Field(default=False, description="A boolean indicating whether any account selections will be required for the user to raise an access request", alias="accountsSelectionRequired") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="The identity id for the user") name: Optional[StrictStr] = Field(default=None, description="The name of the identity") __properties: ClassVar[List[str]] = ["requestedItems", "accountsSelectionRequired", "type", "id", "name"] diff --git a/sailpoint/v2024/models/identity_certification_dto.py b/sailpoint/v2024/models/identity_certification_dto.py index 53eb8c83b..60a53a91b 100644 --- a/sailpoint/v2024/models/identity_certification_dto.py +++ b/sailpoint/v2024/models/identity_certification_dto.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.campaign_reference import CampaignReference from sailpoint.v2024.models.certification_phase import CertificationPhase from sailpoint.v2024.models.reassignment import Reassignment @@ -48,7 +48,7 @@ class IdentityCertificationDto(BaseModel): reassignment: Optional[Reassignment] = None has_errors: Optional[StrictBool] = Field(default=None, description="Identifies if the certification has an error", alias="hasErrors") error_message: Optional[StrictStr] = Field(default=None, description="Description of the certification error", alias="errorMessage") - phase: Optional[CertificationPhase] = None + phase: Optional[Union[CertificationPhase, str]] = None __properties: ClassVar[List[str]] = ["id", "name", "campaign", "completed", "identitiesCompleted", "identitiesTotal", "created", "modified", "decisionsMade", "decisionsTotal", "due", "signed", "reviewer", "reassignment", "hasErrors", "errorMessage", "phase"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/identity_reference.py b/sailpoint/v2024/models/identity_reference.py index 929932ed1..657b748c2 100644 --- a/sailpoint/v2024/models/identity_reference.py +++ b/sailpoint/v2024/models/identity_reference.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class IdentityReference(BaseModel): """ The manager for the identity. """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Identity id") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of identity.") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2024/models/lookup_step.py b/sailpoint/v2024/models/lookup_step.py index 43ca2bf63..b445bccc1 100644 --- a/sailpoint/v2024/models/lookup_step.py +++ b/sailpoint/v2024/models/lookup_step.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.reassignment_type_enum import ReassignmentTypeEnum from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class LookupStep(BaseModel): """ # noqa: E501 reassigned_to_id: Optional[StrictStr] = Field(default=None, description="The ID of the Identity who work is reassigned to", alias="reassignedToId") reassigned_from_id: Optional[StrictStr] = Field(default=None, description="The ID of the Identity who work is reassigned from", alias="reassignedFromId") - reassignment_type: Optional[ReassignmentTypeEnum] = Field(default=None, alias="reassignmentType") + reassignment_type: Optional[Union[ReassignmentTypeEnum, str]] = Field(default=None, alias="reassignmentType") __properties: ClassVar[List[str]] = ["reassignedToId", "reassignedFromId", "reassignmentType"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/machine_classification_criteria_level1.py b/sailpoint/v2024/models/machine_classification_criteria_level1.py index 4130fb057..a9fa69bcb 100644 --- a/sailpoint/v2024/models/machine_classification_criteria_level1.py +++ b/sailpoint/v2024/models/machine_classification_criteria_level1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.machine_classification_criteria_level2 import MachineClassificationCriteriaLevel2 from sailpoint.v2024.models.machine_classification_criteria_operation import MachineClassificationCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class MachineClassificationCriteriaLevel1(BaseModel): """ MachineClassificationCriteriaLevel1 """ # noqa: E501 - operation: Optional[MachineClassificationCriteriaOperation] = None + operation: Optional[Union[MachineClassificationCriteriaOperation, str]] = None case_sensitive: Optional[StrictBool] = Field(default=False, description="Indicates whether case matters when evaluating the criteria", alias="caseSensitive") data_type: Optional[StrictStr] = Field(default=None, description="The data type of the attribute being evaluated", alias="dataType") attribute: Optional[StrictStr] = Field(default=None, description="The attribute to evaluate in the classification criteria") diff --git a/sailpoint/v2024/models/machine_classification_criteria_level2.py b/sailpoint/v2024/models/machine_classification_criteria_level2.py index cfba3f156..0af405629 100644 --- a/sailpoint/v2024/models/machine_classification_criteria_level2.py +++ b/sailpoint/v2024/models/machine_classification_criteria_level2.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.machine_classification_criteria_level3 import MachineClassificationCriteriaLevel3 from sailpoint.v2024.models.machine_classification_criteria_operation import MachineClassificationCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class MachineClassificationCriteriaLevel2(BaseModel): """ MachineClassificationCriteriaLevel2 """ # noqa: E501 - operation: Optional[MachineClassificationCriteriaOperation] = None + operation: Optional[Union[MachineClassificationCriteriaOperation, str]] = None case_sensitive: Optional[StrictBool] = Field(default=False, description="Indicates whether case matters when evaluating the criteria", alias="caseSensitive") data_type: Optional[StrictStr] = Field(default=None, description="The data type of the attribute being evaluated", alias="dataType") attribute: Optional[StrictStr] = Field(default=None, description="The attribute to evaluate in the classification criteria") diff --git a/sailpoint/v2024/models/machine_classification_criteria_level3.py b/sailpoint/v2024/models/machine_classification_criteria_level3.py index 74c71b643..435925acf 100644 --- a/sailpoint/v2024/models/machine_classification_criteria_level3.py +++ b/sailpoint/v2024/models/machine_classification_criteria_level3.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.machine_classification_criteria_operation import MachineClassificationCriteriaOperation from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class MachineClassificationCriteriaLevel3(BaseModel): """ MachineClassificationCriteriaLevel3 """ # noqa: E501 - operation: Optional[MachineClassificationCriteriaOperation] = None + operation: Optional[Union[MachineClassificationCriteriaOperation, str]] = None case_sensitive: Optional[StrictBool] = Field(default=False, description="Indicates whether or not case matters when evaluating the criteria", alias="caseSensitive") data_type: Optional[StrictStr] = Field(default=None, description="The data type of the attribute being evaluated", alias="dataType") attribute: Optional[StrictStr] = Field(default=None, description="The attribute to evaluate in the classification criteria") diff --git a/sailpoint/v2024/models/managed_client_status.py b/sailpoint/v2024/models/managed_client_status.py index 5c68d01df..bb2272518 100644 --- a/sailpoint/v2024/models/managed_client_status.py +++ b/sailpoint/v2024/models/managed_client_status.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.managed_client_status_code import ManagedClientStatusCode from sailpoint.v2024.models.managed_client_type import ManagedClientType from typing import Optional, Set @@ -32,7 +32,7 @@ class ManagedClientStatus(BaseModel): """ # noqa: E501 body: Dict[str, Any] = Field(description="ManagedClientStatus body information") status: ManagedClientStatusCode - type: Optional[ManagedClientType] + type: Optional[Union[ManagedClientType, str]] timestamp: datetime = Field(description="timestamp on the Client Status update") __properties: ClassVar[List[str]] = ["body", "status", "type", "timestamp"] diff --git a/sailpoint/v2024/models/managed_cluster.py b/sailpoint/v2024/models/managed_cluster.py index 0396fdeda..0479b9948 100644 --- a/sailpoint/v2024/models/managed_cluster.py +++ b/sailpoint/v2024/models/managed_cluster.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.client_log_configuration import ClientLogConfiguration from sailpoint.v2024.models.managed_client_type import ManagedClientType from sailpoint.v2024.models.managed_cluster_attributes import ManagedClusterAttributes @@ -40,13 +40,13 @@ class ManagedCluster(BaseModel): name: Optional[StrictStr] = Field(default=None, description="ManagedCluster name") pod: Optional[StrictStr] = Field(default=None, description="ManagedCluster pod") org: Optional[StrictStr] = Field(default=None, description="ManagedCluster org") - type: Optional[ManagedClusterTypes] = None + type: Optional[Union[ManagedClusterTypes, str]] = None configuration: Optional[Dict[str, Optional[StrictStr]]] = Field(default=None, description="ManagedProcess configuration map") key_pair: Optional[ManagedClusterKeyPair] = Field(default=None, alias="keyPair") attributes: Optional[ManagedClusterAttributes] = None description: Optional[StrictStr] = Field(default='q', description="ManagedCluster description") redis: Optional[ManagedClusterRedis] = None - client_type: Optional[ManagedClientType] = Field(alias="clientType") + client_type: Optional[Union[ManagedClientType, str]] = Field(alias="clientType") ccg_version: StrictStr = Field(description="CCG version used by the ManagedCluster", alias="ccgVersion") pinned_config: Optional[StrictBool] = Field(default=False, description="boolean flag indicating whether or not the cluster configuration is pinned", alias="pinnedConfig") log_configuration: Optional[ClientLogConfiguration] = Field(default=None, alias="logConfiguration") diff --git a/sailpoint/v2024/models/managed_cluster_request.py b/sailpoint/v2024/models/managed_cluster_request.py index 8e3903577..26c9697b7 100644 --- a/sailpoint/v2024/models/managed_cluster_request.py +++ b/sailpoint/v2024/models/managed_cluster_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.managed_cluster_types import ManagedClusterTypes from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class ManagedClusterRequest(BaseModel): Request to create Managed Cluster """ # noqa: E501 name: StrictStr = Field(description="ManagedCluster name") - type: Optional[ManagedClusterTypes] = None + type: Optional[Union[ManagedClusterTypes, str]] = None configuration: Optional[Dict[str, StrictStr]] = Field(default=None, description="ManagedProcess configuration map") description: Optional[StrictStr] = Field(default=None, description="ManagedCluster description") __properties: ClassVar[List[str]] = ["name", "type", "configuration", "description"] diff --git a/sailpoint/v2024/models/manual_work_item_details.py b/sailpoint/v2024/models/manual_work_item_details.py index 9ff0a16b9..d0a66a36e 100644 --- a/sailpoint/v2024/models/manual_work_item_details.py +++ b/sailpoint/v2024/models/manual_work_item_details.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.approval_forward_history import ApprovalForwardHistory from sailpoint.v2024.models.manual_work_item_details_current_owner import ManualWorkItemDetailsCurrentOwner from sailpoint.v2024.models.manual_work_item_details_original_owner import ManualWorkItemDetailsOriginalOwner @@ -36,7 +36,7 @@ class ManualWorkItemDetails(BaseModel): original_owner: Optional[ManualWorkItemDetailsOriginalOwner] = Field(default=None, alias="originalOwner") current_owner: Optional[ManualWorkItemDetailsCurrentOwner] = Field(default=None, alias="currentOwner") modified: Optional[datetime] = Field(default=None, description="Time at which item was modified.") - status: Optional[ManualWorkItemState] = None + status: Optional[Union[ManualWorkItemState, str]] = None forward_history: Optional[List[ApprovalForwardHistory]] = Field(default=None, description="The history of approval forward action.", alias="forwardHistory") __properties: ClassVar[List[str]] = ["forwarded", "originalOwner", "currentOwner", "modified", "status", "forwardHistory"] diff --git a/sailpoint/v2024/models/metric_aggregation.py b/sailpoint/v2024/models/metric_aggregation.py index 43408b581..ede396025 100644 --- a/sailpoint/v2024/models/metric_aggregation.py +++ b/sailpoint/v2024/models/metric_aggregation.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.metric_type import MetricType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class MetricAggregation(BaseModel): The calculation done on the results of the query """ # noqa: E501 name: StrictStr = Field(description="The name of the metric aggregate to be included in the result. If the metric aggregation is omitted, the resulting aggregation will be a count of the documents in the search results.") - type: Optional[MetricType] = MetricType.UNIQUE_COUNT + type: Optional[Union[MetricType, str]] = MetricType.UNIQUE_COUNT var_field: StrictStr = Field(description="The field the calculation is performed on. Prefix the field name with '@' to reference a nested object. ", alias="field") __properties: ClassVar[List[str]] = ["name", "type", "field"] diff --git a/sailpoint/v2024/models/non_employee_approval_item.py b/sailpoint/v2024/models/non_employee_approval_item.py index 283e93c0f..fca243e13 100644 --- a/sailpoint/v2024/models/non_employee_approval_item.py +++ b/sailpoint/v2024/models/non_employee_approval_item.py @@ -34,7 +34,7 @@ class NonEmployeeApprovalItem(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Non-Employee approval item id") approver: Optional[NonEmployeeIdentityReferenceWithId] = None account_name: Optional[StrictStr] = Field(default=None, description="Requested identity account name", alias="accountName") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") approval_order: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Approval order", alias="approvalOrder") comment: Optional[StrictStr] = Field(default=None, description="comment of approver") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") diff --git a/sailpoint/v2024/models/non_employee_approval_item_base.py b/sailpoint/v2024/models/non_employee_approval_item_base.py index f1ce3c571..e676dac49 100644 --- a/sailpoint/v2024/models/non_employee_approval_item_base.py +++ b/sailpoint/v2024/models/non_employee_approval_item_base.py @@ -33,7 +33,7 @@ class NonEmployeeApprovalItemBase(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Non-Employee approval item id") approver: Optional[NonEmployeeIdentityReferenceWithId] = None account_name: Optional[StrictStr] = Field(default=None, description="Requested identity account name", alias="accountName") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") approval_order: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Approval order", alias="approvalOrder") comment: Optional[StrictStr] = Field(default=None, description="comment of approver") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") diff --git a/sailpoint/v2024/models/non_employee_approval_item_detail.py b/sailpoint/v2024/models/non_employee_approval_item_detail.py index 10ad35738..f94734df7 100644 --- a/sailpoint/v2024/models/non_employee_approval_item_detail.py +++ b/sailpoint/v2024/models/non_employee_approval_item_detail.py @@ -34,7 +34,7 @@ class NonEmployeeApprovalItemDetail(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Non-Employee approval item id") approver: Optional[NonEmployeeIdentityReferenceWithId] = None account_name: Optional[StrictStr] = Field(default=None, description="Requested identity account name", alias="accountName") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") approval_order: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Approval order", alias="approvalOrder") comment: Optional[StrictStr] = Field(default=None, description="comment of approver") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") diff --git a/sailpoint/v2024/models/non_employee_identity_reference_with_id.py b/sailpoint/v2024/models/non_employee_identity_reference_with_id.py index 9fac64a63..7d22d6814 100644 --- a/sailpoint/v2024/models/non_employee_identity_reference_with_id.py +++ b/sailpoint/v2024/models/non_employee_identity_reference_with_id.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.non_employee_identity_dto_type import NonEmployeeIdentityDtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class NonEmployeeIdentityReferenceWithId(BaseModel): """ NonEmployeeIdentityReferenceWithId """ # noqa: E501 - type: Optional[NonEmployeeIdentityDtoType] = None + type: Optional[Union[NonEmployeeIdentityDtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Identity id") __properties: ClassVar[List[str]] = ["type", "id"] diff --git a/sailpoint/v2024/models/non_employee_request.py b/sailpoint/v2024/models/non_employee_request.py index d03843dfb..4daa973e6 100644 --- a/sailpoint/v2024/models/non_employee_request.py +++ b/sailpoint/v2024/models/non_employee_request.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.approval_status import ApprovalStatus from sailpoint.v2024.models.non_employee_approval_item_base import NonEmployeeApprovalItemBase from sailpoint.v2024.models.non_employee_source_lite import NonEmployeeSourceLite @@ -44,7 +44,7 @@ class NonEmployeeRequest(BaseModel): non_employee_source: Optional[NonEmployeeSourceLite] = Field(default=None, alias="nonEmployeeSource") data: Optional[Dict[str, StrictStr]] = Field(default=None, description="Additional attributes for a non-employee. Up to 10 custom attributes can be added.") approval_items: Optional[List[NonEmployeeApprovalItemBase]] = Field(default=None, description="List of approval item for the request", alias="approvalItems") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") comment: Optional[StrictStr] = Field(default=None, description="Comment of requester") completion_date: Optional[datetime] = Field(default=None, description="When the request was completely approved.", alias="completionDate") start_date: Optional[datetime] = Field(default=None, description="Non-Employee employment start date.", alias="startDate") diff --git a/sailpoint/v2024/models/non_employee_request_without_approval_item.py b/sailpoint/v2024/models/non_employee_request_without_approval_item.py index d808dd450..08bc31fd5 100644 --- a/sailpoint/v2024/models/non_employee_request_without_approval_item.py +++ b/sailpoint/v2024/models/non_employee_request_without_approval_item.py @@ -20,7 +20,7 @@ from datetime import date, datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.approval_status import ApprovalStatus from sailpoint.v2024.models.non_employee_identity_reference_with_id import NonEmployeeIdentityReferenceWithId from sailpoint.v2024.models.non_employee_source_lite_with_schema_attributes import NonEmployeeSourceLiteWithSchemaAttributes @@ -41,7 +41,7 @@ class NonEmployeeRequestWithoutApprovalItem(BaseModel): manager: Optional[StrictStr] = Field(default=None, description="The account ID of a valid identity to serve as this non-employee's manager.") non_employee_source: Optional[NonEmployeeSourceLiteWithSchemaAttributes] = Field(default=None, alias="nonEmployeeSource") data: Optional[Dict[str, StrictStr]] = Field(default=None, description="Additional attributes for a non-employee. Up to 10 custom attributes can be added.") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") comment: Optional[StrictStr] = Field(default=None, description="Comment of requester") completion_date: Optional[datetime] = Field(default=None, description="When the request was completely approved.", alias="completionDate") start_date: Optional[date] = Field(default=None, description="Non-Employee employment start date.", alias="startDate") diff --git a/sailpoint/v2024/models/pending_approval.py b/sailpoint/v2024/models/pending_approval.py index 3cd0be4f5..08c25452d 100644 --- a/sailpoint/v2024/models/pending_approval.py +++ b/sailpoint/v2024/models/pending_approval.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.access_item_requested_for import AccessItemRequestedFor from sailpoint.v2024.models.access_item_requester import AccessItemRequester from sailpoint.v2024.models.access_request_type import AccessRequestType @@ -45,7 +45,7 @@ class PendingApproval(BaseModel): created: Optional[datetime] = Field(default=None, description="When the approval was created.") modified: Optional[datetime] = Field(default=None, description="When the approval was modified last time.") request_created: Optional[datetime] = Field(default=None, description="When the access-request was created.", alias="requestCreated") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requester: Optional[AccessItemRequester] = None requested_for: Optional[AccessItemRequestedFor] = Field(default=None, alias="requestedFor") owner: Optional[PendingApprovalOwner] = None @@ -54,7 +54,7 @@ class PendingApproval(BaseModel): previous_reviewers_comments: Optional[List[CommentDto]] = Field(default=None, description="The history of the previous reviewers comments.", alias="previousReviewersComments") forward_history: Optional[List[ApprovalForwardHistory]] = Field(default=None, description="The history of approval forward action.", alias="forwardHistory") comment_required_when_rejected: Optional[StrictBool] = Field(default=False, description="When true the rejector has to provide comments when rejecting", alias="commentRequiredWhenRejected") - action_in_process: Optional[PendingApprovalAction] = Field(default=None, alias="actionInProcess") + action_in_process: Optional[Union[PendingApprovalAction, str]] = Field(default=None, alias="actionInProcess") remove_date: Optional[datetime] = Field(default=None, description="The date the role or access profile or entitlement is no longer assigned to the specified identity.", alias="removeDate") remove_date_update_requested: Optional[StrictBool] = Field(default=False, description="If true, then the request is to change the remove date or sunset date.", alias="removeDateUpdateRequested") current_remove_date: Optional[datetime] = Field(default=None, description="The remove date or sunset date that was assigned at the time of the request.", alias="currentRemoveDate") diff --git a/sailpoint/v2024/models/preferences_dto.py b/sailpoint/v2024/models/preferences_dto.py index fb9b44786..f772db876 100644 --- a/sailpoint/v2024/models/preferences_dto.py +++ b/sailpoint/v2024/models/preferences_dto.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.medium import Medium from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class PreferencesDto(BaseModel): Maps an Identity's attribute key to a list of preferred notification mediums. """ # noqa: E501 key: Optional[StrictStr] = Field(default=None, description="The template notification key.") - mediums: Optional[List[Medium]] = Field(default=None, description="List of preferred notification mediums, i.e., the mediums (or method) for which notifications are enabled. More mediums may be added in the future.") + mediums: Optional[List[Union[Medium, str]]] = Field(default=None, description="List of preferred notification mediums, i.e., the mediums (or method) for which notifications are enabled. More mediums may be added in the future.") modified: Optional[datetime] = Field(default=None, description="Modified date of preference") __properties: ClassVar[List[str]] = ["key", "mediums", "modified"] diff --git a/sailpoint/v2024/models/provisioning_criteria_level1.py b/sailpoint/v2024/models/provisioning_criteria_level1.py index 3a076a557..95244c0ac 100644 --- a/sailpoint/v2024/models/provisioning_criteria_level1.py +++ b/sailpoint/v2024/models/provisioning_criteria_level1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.provisioning_criteria_level2 import ProvisioningCriteriaLevel2 from sailpoint.v2024.models.provisioning_criteria_operation import ProvisioningCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class ProvisioningCriteriaLevel1(BaseModel): """ Defines matching criteria for an account to be provisioned with a specific access profile. """ # noqa: E501 - operation: Optional[ProvisioningCriteriaOperation] = None + operation: Optional[Union[ProvisioningCriteriaOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error.") value: Optional[StrictStr] = Field(default=None, description="String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type.") children: Optional[List[ProvisioningCriteriaLevel2]] = Field(default=None, description="Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes.") diff --git a/sailpoint/v2024/models/provisioning_criteria_level2.py b/sailpoint/v2024/models/provisioning_criteria_level2.py index aa27ec200..de355791f 100644 --- a/sailpoint/v2024/models/provisioning_criteria_level2.py +++ b/sailpoint/v2024/models/provisioning_criteria_level2.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.provisioning_criteria_level3 import ProvisioningCriteriaLevel3 from sailpoint.v2024.models.provisioning_criteria_operation import ProvisioningCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class ProvisioningCriteriaLevel2(BaseModel): """ Defines matching criteria for an account to be provisioned with a specific access profile. """ # noqa: E501 - operation: Optional[ProvisioningCriteriaOperation] = None + operation: Optional[Union[ProvisioningCriteriaOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error.") value: Optional[StrictStr] = Field(default=None, description="String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type.") children: Optional[List[ProvisioningCriteriaLevel3]] = Field(default=None, description="Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes.") diff --git a/sailpoint/v2024/models/provisioning_criteria_level3.py b/sailpoint/v2024/models/provisioning_criteria_level3.py index 6fd5bd9f0..d064481d0 100644 --- a/sailpoint/v2024/models/provisioning_criteria_level3.py +++ b/sailpoint/v2024/models/provisioning_criteria_level3.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.provisioning_criteria_operation import ProvisioningCriteriaOperation from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class ProvisioningCriteriaLevel3(BaseModel): """ Defines matching criteria for an account to be provisioned with a specific access profile. """ # noqa: E501 - operation: Optional[ProvisioningCriteriaOperation] = None + operation: Optional[Union[ProvisioningCriteriaOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error.") value: Optional[StrictStr] = Field(default=None, description="String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type.") children: Optional[StrictStr] = Field(default=None, description="Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes.") diff --git a/sailpoint/v2024/models/provisioning_policy.py b/sailpoint/v2024/models/provisioning_policy.py index 40fd578dd..5daaf679f 100644 --- a/sailpoint/v2024/models/provisioning_policy.py +++ b/sailpoint/v2024/models/provisioning_policy.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.field_details_dto import FieldDetailsDto from sailpoint.v2024.models.usage_type import UsageType from typing import Optional, Set @@ -31,7 +31,7 @@ class ProvisioningPolicy(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(description="the provisioning policy name") description: Optional[StrictStr] = Field(default=None, description="the description of the provisioning policy") - usage_type: Optional[UsageType] = Field(default=None, alias="usageType") + usage_type: Optional[Union[UsageType, str]] = Field(default=None, alias="usageType") fields: Optional[List[FieldDetailsDto]] = None __properties: ClassVar[List[str]] = ["name", "description", "usageType", "fields"] diff --git a/sailpoint/v2024/models/provisioning_policy_dto.py b/sailpoint/v2024/models/provisioning_policy_dto.py index e4dc0c551..efb1e764e 100644 --- a/sailpoint/v2024/models/provisioning_policy_dto.py +++ b/sailpoint/v2024/models/provisioning_policy_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.field_details_dto import FieldDetailsDto from sailpoint.v2024.models.usage_type import UsageType from typing import Optional, Set @@ -31,7 +31,7 @@ class ProvisioningPolicyDto(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(description="the provisioning policy name") description: Optional[StrictStr] = Field(default=None, description="the description of the provisioning policy") - usage_type: Optional[UsageType] = Field(default=None, alias="usageType") + usage_type: Optional[Union[UsageType, str]] = Field(default=None, alias="usageType") fields: Optional[List[FieldDetailsDto]] = None __properties: ClassVar[List[str]] = ["name", "description", "usageType", "fields"] diff --git a/sailpoint/v2024/models/ref.py b/sailpoint/v2024/models/ref.py index ac8a31ae3..edf3d9b0e 100644 --- a/sailpoint/v2024/models/ref.py +++ b/sailpoint/v2024/models/ref.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class Ref(BaseModel): """ Ref """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") __properties: ClassVar[List[str]] = ["type", "id"] diff --git a/sailpoint/v2024/models/requestable_object.py b/sailpoint/v2024/models/requestable_object.py index 450e47b3d..6da46fc1d 100644 --- a/sailpoint/v2024/models/requestable_object.py +++ b/sailpoint/v2024/models/requestable_object.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.identity_reference_with_name_and_email import IdentityReferenceWithNameAndEmail from sailpoint.v2024.models.requestable_object_type import RequestableObjectType from typing import Optional, Set @@ -35,7 +35,7 @@ class RequestableObject(BaseModel): created: Optional[datetime] = Field(default=None, description="The time when the requestable object was created") modified: Optional[datetime] = Field(default=None, description="The time when the requestable object was last modified") description: Optional[StrictStr] = Field(default=None, description="Description of the requestable object.") - type: Optional[RequestableObjectType] = None + type: Optional[Union[RequestableObjectType, str]] = None request_status: Optional[Any] = Field(default=None, alias="requestStatus") identity_request_id: Optional[StrictStr] = Field(default=None, description="If *requestStatus* is *PENDING*, indicates the id of the associated account activity.", alias="identityRequestId") owner_ref: Optional[IdentityReferenceWithNameAndEmail] = Field(default=None, alias="ownerRef") diff --git a/sailpoint/v2024/models/requested_account_ref.py b/sailpoint/v2024/models/requested_account_ref.py index e2eceee4e..cd1e443a9 100644 --- a/sailpoint/v2024/models/requested_account_ref.py +++ b/sailpoint/v2024/models/requested_account_ref.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class RequestedAccountRef(BaseModel): RequestedAccountRef """ # noqa: E501 name: Optional[StrictStr] = Field(default=None, description="Display name of the account for the user") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None account_uuid: Optional[StrictStr] = Field(default=None, description="The uuid for the account", alias="accountUuid") account_id: Optional[StrictStr] = Field(default=None, description="The native identity for the account", alias="accountId") source_name: Optional[StrictStr] = Field(default=None, description="Display name of the source for the account", alias="sourceName") diff --git a/sailpoint/v2024/models/requested_item_status.py b/sailpoint/v2024/models/requested_item_status.py index 7c0a5e4cf..4e27b4516 100644 --- a/sailpoint/v2024/models/requested_item_status.py +++ b/sailpoint/v2024/models/requested_item_status.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.access_item_requester import AccessItemRequester from sailpoint.v2024.models.access_request_phases import AccessRequestPhases from sailpoint.v2024.models.access_request_type import AccessRequestType @@ -47,12 +47,12 @@ class RequestedItemStatus(BaseModel): type: Optional[StrictStr] = Field(default=None, description="Type of requested object.") cancelled_request_details: Optional[RequestedItemStatusCancelledRequestDetails] = Field(default=None, alias="cancelledRequestDetails") error_messages: Optional[List[List[ErrorMessageDto]]] = Field(default=None, description="List of list of localized error messages, if any, encountered during the approval/provisioning process.", alias="errorMessages") - state: Optional[RequestedItemStatusRequestState] = None + state: Optional[Union[RequestedItemStatusRequestState, str]] = None approval_details: Optional[List[ApprovalStatusDto]] = Field(default=None, description="Approval details for each item.", alias="approvalDetails") approval_ids: Optional[List[StrictStr]] = Field(default=None, description="List of approval IDs associated with the request.", alias="approvalIds") manual_work_item_details: Optional[List[ManualWorkItemDetails]] = Field(default=None, description="Manual work items created for provisioning the item.", alias="manualWorkItemDetails") account_activity_item_id: Optional[StrictStr] = Field(default=None, description="Id of associated account activity item.", alias="accountActivityItemId") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") created: Optional[datetime] = Field(default=None, description="When the request was created.") requester: Optional[AccessItemRequester] = None diff --git a/sailpoint/v2024/models/reviewable_entitlement_account.py b/sailpoint/v2024/models/reviewable_entitlement_account.py index 3ffaa13a9..4ee5a2359 100644 --- a/sailpoint/v2024/models/reviewable_entitlement_account.py +++ b/sailpoint/v2024/models/reviewable_entitlement_account.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.activity_insights import ActivityInsights from sailpoint.v2024.models.dto_type import DtoType from sailpoint.v2024.models.reviewable_entitlement_account_owner import ReviewableEntitlementAccountOwner @@ -34,7 +34,7 @@ class ReviewableEntitlementAccount(BaseModel): native_identity: Optional[StrictStr] = Field(default=None, description="The native identity for this account", alias="nativeIdentity") disabled: Optional[StrictBool] = Field(default=False, description="Indicates whether this account is currently disabled") locked: Optional[StrictBool] = Field(default=False, description="Indicates whether this account is currently locked") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="The id associated with the account") name: Optional[StrictStr] = Field(default=None, description="The account name") created: Optional[datetime] = Field(default=None, description="When the account was created") diff --git a/sailpoint/v2024/models/role_criteria_level1.py b/sailpoint/v2024/models/role_criteria_level1.py index 106a1c77c..07c2cbe54 100644 --- a/sailpoint/v2024/models/role_criteria_level1.py +++ b/sailpoint/v2024/models/role_criteria_level1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.role_criteria_key import RoleCriteriaKey from sailpoint.v2024.models.role_criteria_level2 import RoleCriteriaLevel2 from sailpoint.v2024.models.role_criteria_operation import RoleCriteriaOperation @@ -30,7 +30,7 @@ class RoleCriteriaLevel1(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[RoleCriteriaOperation] = None + operation: Optional[Union[RoleCriteriaOperation, str]] = None key: Optional[RoleCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute, Account attribute, or Entitlement specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, NOT_EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH, this field is required. Otherwise, specifying it is an error.", alias="stringValue") children: Optional[List[Optional[RoleCriteriaLevel2]]] = Field(default=None, description="Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa.") diff --git a/sailpoint/v2024/models/role_criteria_level2.py b/sailpoint/v2024/models/role_criteria_level2.py index ad06f8655..b30980c4c 100644 --- a/sailpoint/v2024/models/role_criteria_level2.py +++ b/sailpoint/v2024/models/role_criteria_level2.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.role_criteria_key import RoleCriteriaKey from sailpoint.v2024.models.role_criteria_level3 import RoleCriteriaLevel3 from sailpoint.v2024.models.role_criteria_operation import RoleCriteriaOperation @@ -30,7 +30,7 @@ class RoleCriteriaLevel2(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[RoleCriteriaOperation] = None + operation: Optional[Union[RoleCriteriaOperation, str]] = None key: Optional[RoleCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute, Account attribute, or Entitlement specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, NOT_EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH, this field is required. Otherwise, specifying it is an error.", alias="stringValue") children: Optional[List[RoleCriteriaLevel3]] = Field(default=None, description="Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa.") diff --git a/sailpoint/v2024/models/role_criteria_level3.py b/sailpoint/v2024/models/role_criteria_level3.py index 5ecb4f49d..35e2834df 100644 --- a/sailpoint/v2024/models/role_criteria_level3.py +++ b/sailpoint/v2024/models/role_criteria_level3.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.role_criteria_key import RoleCriteriaKey from sailpoint.v2024.models.role_criteria_operation import RoleCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class RoleCriteriaLevel3(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[RoleCriteriaOperation] = None + operation: Optional[Union[RoleCriteriaOperation, str]] = None key: Optional[RoleCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute, Account attribute, or Entitlement specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, NOT_EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH, this field is required. Otherwise, specifying it is an error.", alias="stringValue") __properties: ClassVar[List[str]] = ["operation", "key", "stringValue"] diff --git a/sailpoint/v2024/models/role_identity.py b/sailpoint/v2024/models/role_identity.py index 0e87e11e6..751bf2400 100644 --- a/sailpoint/v2024/models/role_identity.py +++ b/sailpoint/v2024/models/role_identity.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.role_assignment_source_type import RoleAssignmentSourceType from typing import Optional, Set from typing_extensions import Self @@ -32,7 +32,7 @@ class RoleIdentity(BaseModel): alias_name: Optional[StrictStr] = Field(default=None, description="The alias / username of the Identity", alias="aliasName") name: Optional[StrictStr] = Field(default=None, description="The human-readable display name of the Identity") email: Optional[StrictStr] = Field(default=None, description="Email address of the Identity") - role_assignment_source: Optional[RoleAssignmentSourceType] = Field(default=None, alias="roleAssignmentSource") + role_assignment_source: Optional[Union[RoleAssignmentSourceType, str]] = Field(default=None, alias="roleAssignmentSource") __properties: ClassVar[List[str]] = ["id", "aliasName", "name", "email", "roleAssignmentSource"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/role_membership_identity.py b/sailpoint/v2024/models/role_membership_identity.py index 46922e0a6..667ef59ba 100644 --- a/sailpoint/v2024/models/role_membership_identity.py +++ b/sailpoint/v2024/models/role_membership_identity.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class RoleMembershipIdentity(BaseModel): """ A reference to an Identity in an IDENTITY_LIST role membership criteria. """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Identity id") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the Identity.") alias_name: Optional[StrictStr] = Field(default=None, description="User name of the Identity", alias="aliasName") diff --git a/sailpoint/v2024/models/role_membership_selector.py b/sailpoint/v2024/models/role_membership_selector.py index 534f8eef4..d024e9a0b 100644 --- a/sailpoint/v2024/models/role_membership_selector.py +++ b/sailpoint/v2024/models/role_membership_selector.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.role_criteria_level1 import RoleCriteriaLevel1 from sailpoint.v2024.models.role_membership_identity import RoleMembershipIdentity from sailpoint.v2024.models.role_membership_selector_type import RoleMembershipSelectorType @@ -30,7 +30,7 @@ class RoleMembershipSelector(BaseModel): """ When present, specifies that the Role is to be granted to Identities which either satisfy specific criteria or which are members of a given list of Identities. """ # noqa: E501 - type: Optional[RoleMembershipSelectorType] = None + type: Optional[Union[RoleMembershipSelectorType, str]] = None criteria: Optional[RoleCriteriaLevel1] = None identities: Optional[List[RoleMembershipIdentity]] = Field(default=None, description="Defines role membership as being exclusive to the specified Identities, when type is IDENTITY_LIST.") __properties: ClassVar[List[str]] = ["type", "criteria", "identities"] diff --git a/sailpoint/v2024/models/role_mining_potential_role.py b/sailpoint/v2024/models/role_mining_potential_role.py index 7b008b10e..0ff7d60f9 100644 --- a/sailpoint/v2024/models/role_mining_potential_role.py +++ b/sailpoint/v2024/models/role_mining_potential_role.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.role_mining_identity_distribution import RoleMiningIdentityDistribution from sailpoint.v2024.models.role_mining_role_type import RoleMiningRoleType from sailpoint.v2024.models.role_mining_session_parameters_dto import RoleMiningSessionParametersDto @@ -47,7 +47,7 @@ class RoleMiningPotentialRole(BaseModel): role_id: Optional[StrictStr] = Field(default=None, description="The roleId of a potential role.", alias="roleId") saved: Optional[StrictBool] = Field(default=None, description="The potential role's saved status.") session: Optional[RoleMiningSessionParametersDto] = None - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Id of the potential role") created_date: Optional[datetime] = Field(default=None, description="The date-time when this potential role was created.", alias="createdDate") modified_date: Optional[datetime] = Field(default=None, description="The date-time when this potential role was modified.", alias="modifiedDate") diff --git a/sailpoint/v2024/models/role_mining_potential_role_export_response.py b/sailpoint/v2024/models/role_mining_potential_role_export_response.py index 067938bff..03aa30277 100644 --- a/sailpoint/v2024/models/role_mining_potential_role_export_response.py +++ b/sailpoint/v2024/models/role_mining_potential_role_export_response.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.role_mining_potential_role_export_state import RoleMiningPotentialRoleExportState from typing import Optional, Set from typing_extensions import Self @@ -31,7 +31,7 @@ class RoleMiningPotentialRoleExportResponse(BaseModel): min_entitlement_popularity: Optional[StrictInt] = Field(default=None, description="The minimum popularity among identities in the role which an entitlement must have to be included in the report", alias="minEntitlementPopularity") include_common_access: Optional[StrictBool] = Field(default=None, description="If false, do not include entitlements that are highly popular among the entire orginization", alias="includeCommonAccess") export_id: Optional[StrictStr] = Field(default=None, description="ID used to reference this export", alias="exportId") - status: Optional[RoleMiningPotentialRoleExportState] = None + status: Optional[Union[RoleMiningPotentialRoleExportState, str]] = None __properties: ClassVar[List[str]] = ["minEntitlementPopularity", "includeCommonAccess", "exportId", "status"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/role_mining_potential_role_summary.py b/sailpoint/v2024/models/role_mining_potential_role_summary.py index 3db420699..cb02c7b3d 100644 --- a/sailpoint/v2024/models/role_mining_potential_role_summary.py +++ b/sailpoint/v2024/models/role_mining_potential_role_summary.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.role_mining_potential_role_provision_state import RoleMiningPotentialRoleProvisionState from sailpoint.v2024.models.role_mining_potential_role_ref import RoleMiningPotentialRoleRef from sailpoint.v2024.models.role_mining_potential_role_summary_created_by import RoleMiningPotentialRoleSummaryCreatedBy @@ -39,12 +39,12 @@ class RoleMiningPotentialRoleSummary(BaseModel): identity_count: Optional[StrictInt] = Field(default=None, description="The number of identities in a potential role.", alias="identityCount") entitlement_count: Optional[StrictInt] = Field(default=None, description="The number of entitlements in a potential role.", alias="entitlementCount") identity_group_status: Optional[StrictStr] = Field(default=None, description="The status for this identity group which can be \"REQUESTED\" or \"OBTAINED\"", alias="identityGroupStatus") - provision_state: Optional[RoleMiningPotentialRoleProvisionState] = Field(default=None, alias="provisionState") + provision_state: Optional[Union[RoleMiningPotentialRoleProvisionState, str]] = Field(default=None, alias="provisionState") role_id: Optional[StrictStr] = Field(default=None, description="ID of the provisioned role in IIQ or IDN. Null if this potential role has not been provisioned.", alias="roleId") density: Optional[StrictInt] = Field(default=None, description="The density metric (0-100) of this potential role. Higher density values indicate higher similarity amongst the identities.") freshness: Optional[StrictInt] = Field(default=None, description="The freshness metric (0-100) of this potential role. Higher freshness values indicate this potential role is more distinctive compared to existing roles.") quality: Optional[StrictInt] = Field(default=None, description="The quality metric (0-100) of this potential role. Higher quality values indicate this potential role has high density and freshness.") - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None created_by: Optional[RoleMiningPotentialRoleSummaryCreatedBy] = Field(default=None, alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="The date-time when this potential role was created.", alias="createdDate") saved: Optional[StrictBool] = Field(default=False, description="The potential role's saved status") diff --git a/sailpoint/v2024/models/role_mining_session_draft_role_dto.py b/sailpoint/v2024/models/role_mining_session_draft_role_dto.py index 0b9e7f3f3..8caf6aa56 100644 --- a/sailpoint/v2024/models/role_mining_session_draft_role_dto.py +++ b/sailpoint/v2024/models/role_mining_session_draft_role_dto.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.role_mining_role_type import RoleMiningRoleType from typing import Optional, Set from typing_extensions import Self @@ -35,7 +35,7 @@ class RoleMiningSessionDraftRoleDto(BaseModel): entitlement_ids: Optional[List[StrictStr]] = Field(default=None, description="The list of entitlement ids for this role mining session.", alias="entitlementIds") excluded_entitlements: Optional[List[StrictStr]] = Field(default=None, description="The list of excluded entitlement ids.", alias="excludedEntitlements") modified: Optional[datetime] = Field(default=None, description="Last modified date") - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Id of the potential draft role") created_date: Optional[datetime] = Field(default=None, description="The date-time when this potential draft role was created.", alias="createdDate") modified_date: Optional[datetime] = Field(default=None, description="The date-time when this potential draft role was modified.", alias="modifiedDate") diff --git a/sailpoint/v2024/models/role_mining_session_dto.py b/sailpoint/v2024/models/role_mining_session_dto.py index 5f6dd676f..a66942d29 100644 --- a/sailpoint/v2024/models/role_mining_session_dto.py +++ b/sailpoint/v2024/models/role_mining_session_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.role_mining_role_type import RoleMiningRoleType from sailpoint.v2024.models.role_mining_session_scope import RoleMiningSessionScope from typing import Optional, Set @@ -35,7 +35,7 @@ class RoleMiningSessionDto(BaseModel): min_num_identities_in_potential_role: Optional[StrictInt] = Field(default=None, description="Minimum number of identities in a potential role", alias="minNumIdentitiesInPotentialRole") potential_role_count: Optional[StrictInt] = Field(default=None, description="Number of potential roles", alias="potentialRoleCount") potential_roles_ready_count: Optional[StrictInt] = Field(default=None, description="Number of potential roles ready", alias="potentialRolesReadyCount") - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None email_recipient_id: Optional[StrictStr] = Field(default=None, description="The id of the user who will receive an email about the role mining session", alias="emailRecipientId") identity_count: Optional[StrictInt] = Field(default=None, description="Number of identities in the population which meet the search criteria or identity list provided", alias="identityCount") saved: Optional[StrictBool] = Field(default=False, description="The session's saved status") diff --git a/sailpoint/v2024/models/role_mining_session_parameters_dto.py b/sailpoint/v2024/models/role_mining_session_parameters_dto.py index 96b846b52..a1c5a444d 100644 --- a/sailpoint/v2024/models/role_mining_session_parameters_dto.py +++ b/sailpoint/v2024/models/role_mining_session_parameters_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.role_mining_role_type import RoleMiningRoleType from sailpoint.v2024.models.role_mining_session_scope import RoleMiningSessionScope from sailpoint.v2024.models.role_mining_session_scoping_method import RoleMiningSessionScopingMethod @@ -37,9 +37,9 @@ class RoleMiningSessionParametersDto(BaseModel): prune_threshold: Optional[StrictInt] = Field(default=None, description="The prune threshold to be used or null to calculate prescribedPruneThreshold", alias="pruneThreshold") saved: Optional[StrictBool] = Field(default=True, description="The session's saved status") scope: Optional[RoleMiningSessionScope] = None - type: Optional[RoleMiningRoleType] = None - state: Optional[RoleMiningSessionState] = None - scoping_method: Optional[RoleMiningSessionScopingMethod] = Field(default=None, alias="scopingMethod") + type: Optional[Union[RoleMiningRoleType, str]] = None + state: Optional[Union[RoleMiningSessionState, str]] = None + scoping_method: Optional[Union[RoleMiningSessionScopingMethod, str]] = Field(default=None, alias="scopingMethod") __properties: ClassVar[List[str]] = ["id", "name", "minNumIdentitiesInPotentialRole", "pruneThreshold", "saved", "scope", "type", "state", "scopingMethod"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/role_mining_session_response.py b/sailpoint/v2024/models/role_mining_session_response.py index 655e8f930..c4536ee55 100644 --- a/sailpoint/v2024/models/role_mining_session_response.py +++ b/sailpoint/v2024/models/role_mining_session_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.role_mining_role_type import RoleMiningRoleType from sailpoint.v2024.models.role_mining_session_response_created_by import RoleMiningSessionResponseCreatedBy from sailpoint.v2024.models.role_mining_session_scope import RoleMiningSessionScope @@ -49,7 +49,7 @@ class RoleMiningSessionResponse(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Session Id for this role mining session") created_date: Optional[datetime] = Field(default=None, description="The date-time when this role mining session was created.", alias="createdDate") modified_date: Optional[datetime] = Field(default=None, description="The date-time when this role mining session was completed.", alias="modifiedDate") - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None __properties: ClassVar[List[str]] = ["scope", "minNumIdentitiesInPotentialRole", "scopingMethod", "prescribedPruneThreshold", "pruneThreshold", "potentialRoleCount", "potentialRolesReadyCount", "status", "emailRecipientId", "createdBy", "identityCount", "saved", "name", "dataFilePath", "id", "createdDate", "modifiedDate", "type"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/role_mining_session_status.py b/sailpoint/v2024/models/role_mining_session_status.py index d397dca9a..e162ec06f 100644 --- a/sailpoint/v2024/models/role_mining_session_status.py +++ b/sailpoint/v2024/models/role_mining_session_status.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.role_mining_session_state import RoleMiningSessionState from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class RoleMiningSessionStatus(BaseModel): """ RoleMiningSessionStatus """ # noqa: E501 - state: Optional[RoleMiningSessionState] = None + state: Optional[Union[RoleMiningSessionState, str]] = None __properties: ClassVar[List[str]] = ["state"] model_config = ConfigDict( diff --git a/sailpoint/v2024/models/saved_search.py b/sailpoint/v2024/models/saved_search.py index 457e62814..e4cc86010 100644 --- a/sailpoint/v2024/models/saved_search.py +++ b/sailpoint/v2024/models/saved_search.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.column import Column from sailpoint.v2024.models.index import Index from sailpoint.v2024.models.saved_search_detail_filters import SavedSearchDetailFilters @@ -36,7 +36,7 @@ class SavedSearch(BaseModel): description: Optional[StrictStr] = Field(default=None, description="The description of the saved search. ") created: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") modified: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") - indices: List[Index] = Field(description="The names of the Elasticsearch indices in which to search. ") + indices: List[Union[Index, str]] = Field(description="The names of the Elasticsearch indices in which to search. ") columns: Optional[Dict[str, List[Column]]] = Field(default=None, description="The columns to be returned (specifies the order in which they will be presented) for each document type. The currently supported document types are: _accessprofile_, _accountactivity_, _account_, _aggregation_, _entitlement_, _event_, _identity_, and _role_. ") query: StrictStr = Field(description="The search query using Elasticsearch [Query String Query](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-query-string-query.html#query-string) syntax from the Query DSL. ") fields: Optional[List[StrictStr]] = Field(default=None, description="The fields to be searched against in a multi-field query. ") diff --git a/sailpoint/v2024/models/saved_search_detail.py b/sailpoint/v2024/models/saved_search_detail.py index 859dfb1a4..1035df1b0 100644 --- a/sailpoint/v2024/models/saved_search_detail.py +++ b/sailpoint/v2024/models/saved_search_detail.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.column import Column from sailpoint.v2024.models.index import Index from sailpoint.v2024.models.saved_search_detail_filters import SavedSearchDetailFilters @@ -33,7 +33,7 @@ class SavedSearchDetail(BaseModel): """ # noqa: E501 created: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") modified: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") - indices: List[Index] = Field(description="The names of the Elasticsearch indices in which to search. ") + indices: List[Union[Index, str]] = Field(description="The names of the Elasticsearch indices in which to search. ") columns: Optional[Dict[str, List[Column]]] = Field(default=None, description="The columns to be returned (specifies the order in which they will be presented) for each document type. The currently supported document types are: _accessprofile_, _accountactivity_, _account_, _aggregation_, _entitlement_, _event_, _identity_, and _role_. ") query: StrictStr = Field(description="The search query using Elasticsearch [Query String Query](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-query-string-query.html#query-string) syntax from the Query DSL. ") fields: Optional[List[StrictStr]] = Field(default=None, description="The fields to be searched against in a multi-field query. ") diff --git a/sailpoint/v2024/models/saved_search_detail_filters.py b/sailpoint/v2024/models/saved_search_detail_filters.py index 91c0b6b57..c10a8608e 100644 --- a/sailpoint/v2024/models/saved_search_detail_filters.py +++ b/sailpoint/v2024/models/saved_search_detail_filters.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.filter_type import FilterType from sailpoint.v2024.models.range import Range from typing import Optional, Set @@ -29,7 +29,7 @@ class SavedSearchDetailFilters(BaseModel): """ SavedSearchDetailFilters """ # noqa: E501 - type: Optional[FilterType] = None + type: Optional[Union[FilterType, str]] = None range: Optional[Range] = None terms: Optional[List[StrictStr]] = Field(default=None, description="The terms to be filtered.") exclude: Optional[StrictBool] = Field(default=False, description="Indicates if the filter excludes results.") diff --git a/sailpoint/v2024/models/scope.py b/sailpoint/v2024/models/scope.py index 743a43497..29720d319 100644 --- a/sailpoint/v2024/models/scope.py +++ b/sailpoint/v2024/models/scope.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.ref import Ref from sailpoint.v2024.models.scope_type import ScopeType from sailpoint.v2024.models.scope_visibility_type import ScopeVisibilityType @@ -31,8 +31,8 @@ class Scope(BaseModel): """ This defines what access the segment is giving """ # noqa: E501 - scope: Optional[ScopeType] = None - visibility: Optional[ScopeVisibilityType] = None + scope: Optional[Union[ScopeType, str]] = None + visibility: Optional[Union[ScopeVisibilityType, str]] = None scope_filter: Optional[VisibilityCriteria] = Field(default=None, alias="scopeFilter") scope_selection: Optional[List[Ref]] = Field(default=None, description="List of Identities that are assigned to the segment", alias="scopeSelection") __properties: ClassVar[List[str]] = ["scope", "visibility", "scopeFilter", "scopeSelection"] diff --git a/sailpoint/v2024/models/search.py b/sailpoint/v2024/models/search.py index 42292c572..403cd26c6 100644 --- a/sailpoint/v2024/models/search.py +++ b/sailpoint/v2024/models/search.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.aggregation_type import AggregationType from sailpoint.v2024.models.filter import Filter from sailpoint.v2024.models.index import Index @@ -36,8 +36,8 @@ class Search(BaseModel): """ Search """ # noqa: E501 - indices: Optional[List[Index]] = Field(default=None, description="The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched.") - query_type: Optional[QueryType] = Field(default=QueryType.SAILPOINT, alias="queryType") + indices: Optional[List[Union[Index, str]]] = Field(default=None, description="The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched.") + query_type: Optional[Union[QueryType, str]] = Field(default=QueryType.SAILPOINT, alias="queryType") query_version: Optional[Any] = Field(default=None, alias="queryVersion") query: Optional[Query] = None query_dsl: Optional[Dict[str, Any]] = Field(default=None, description="The search query using the Elasticsearch [Query DSL](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/query-dsl.html) syntax.", alias="queryDsl") @@ -45,7 +45,7 @@ class Search(BaseModel): type_ahead_query: Optional[TypeAheadQuery] = Field(default=None, alias="typeAheadQuery") include_nested: Optional[StrictBool] = Field(default=True, description="Indicates whether nested objects from returned search results should be included.", alias="includeNested") query_result_filter: Optional[QueryResultFilter] = Field(default=None, alias="queryResultFilter") - aggregation_type: Optional[AggregationType] = Field(default=AggregationType.DSL, alias="aggregationType") + aggregation_type: Optional[Union[AggregationType, str]] = Field(default=AggregationType.DSL, alias="aggregationType") aggregations_version: Optional[Any] = Field(default=None, alias="aggregationsVersion") aggregations_dsl: Optional[Dict[str, Any]] = Field(default=None, description="The aggregation search query using Elasticsearch [Aggregations](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/search-aggregations.html) syntax.", alias="aggregationsDsl") aggregations: Optional[SearchAggregationSpecification] = None diff --git a/sailpoint/v2024/models/search_export_report_arguments.py b/sailpoint/v2024/models/search_export_report_arguments.py index c145ef04b..0d30cf6b4 100644 --- a/sailpoint/v2024/models/search_export_report_arguments.py +++ b/sailpoint/v2024/models/search_export_report_arguments.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.index import Index from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class SearchExportReportArguments(BaseModel): """ Arguments for Search Export report (SEARCH_EXPORT) The report file generated will be a zip file containing csv files of the search results. """ # noqa: E501 - indices: Optional[List[Index]] = Field(default=None, description="The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched.") + indices: Optional[List[Union[Index, str]]] = Field(default=None, description="The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched.") query: StrictStr = Field(description="The query using the Elasticsearch [Query String Query](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-query-string-query.html#query-string) syntax from the Query DSL extended by SailPoint to support Nested queries.") columns: Optional[StrictStr] = Field(default=None, description="Comma separated string consisting of technical attribute names of fields to include in report. Use `access.spread`, `apps.spread`, `accounts.spread` to include respective identity access details. Use `accessProfiles.spread` to unclude access profile details. Use `entitlements.spread` to include entitlement details. ") sort: Optional[List[StrictStr]] = Field(default=None, description="The fields to be used to sort the search results. Use + or - to specify the sort direction.") diff --git a/sailpoint/v2024/models/sim_integration_details_all_of_before_provisioning_rule.py b/sailpoint/v2024/models/sim_integration_details_all_of_before_provisioning_rule.py index e34f67ce0..809c24f94 100644 --- a/sailpoint/v2024/models/sim_integration_details_all_of_before_provisioning_rule.py +++ b/sailpoint/v2024/models/sim_integration_details_all_of_before_provisioning_rule.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class SimIntegrationDetailsAllOfBeforeProvisioningRule(BaseModel): """ Before provisioning rule of integration """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the rule") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the rule") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2024/models/sod_exempt_criteria.py b/sailpoint/v2024/models/sod_exempt_criteria.py index 44d289b71..c4f3bc05d 100644 --- a/sailpoint/v2024/models/sod_exempt_criteria.py +++ b/sailpoint/v2024/models/sod_exempt_criteria.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class SodExemptCriteria(BaseModel): Details of the Entitlement criteria """ # noqa: E501 existing: Optional[StrictBool] = Field(default=False, description="If the entitlement already belonged to the user or not.") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Entitlement ID") name: Optional[StrictStr] = Field(default=None, description="Entitlement name") __properties: ClassVar[List[str]] = ["existing", "type", "id", "name"] diff --git a/sailpoint/v2024/models/source_account_selections.py b/sailpoint/v2024/models/source_account_selections.py index b8c0dd115..3a033f4ea 100644 --- a/sailpoint/v2024/models/source_account_selections.py +++ b/sailpoint/v2024/models/source_account_selections.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.account_info_ref import AccountInfoRef from sailpoint.v2024.models.dto_type import DtoType from typing import Optional, Set @@ -29,7 +29,7 @@ class SourceAccountSelections(BaseModel): """ SourceAccountSelections """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="The source id") name: Optional[StrictStr] = Field(default=None, description="The source name") accounts: Optional[List[AccountInfoRef]] = Field(default=None, description="The accounts information for a particular source in the requested item") diff --git a/sailpoint/v2024/models/subscription_put_request.py b/sailpoint/v2024/models/subscription_put_request.py index 71281f631..7d35e1bff 100644 --- a/sailpoint/v2024/models/subscription_put_request.py +++ b/sailpoint/v2024/models/subscription_put_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.event_bridge_config import EventBridgeConfig from sailpoint.v2024.models.http_config import HttpConfig from sailpoint.v2024.models.subscription_type import SubscriptionType @@ -32,7 +32,7 @@ class SubscriptionPutRequest(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(default=None, description="Subscription name.") description: Optional[StrictStr] = Field(default=None, description="Subscription description.") - type: Optional[SubscriptionType] = None + type: Optional[Union[SubscriptionType, str]] = None response_deadline: Optional[StrictStr] = Field(default='PT1H', description="Deadline for completing REQUEST_RESPONSE trigger invocation, represented in ISO-8601 duration format.", alias="responseDeadline") http_config: Optional[HttpConfig] = Field(default=None, alias="httpConfig") event_bridge_config: Optional[EventBridgeConfig] = Field(default=None, alias="eventBridgeConfig") diff --git a/sailpoint/v2024/models/work_items.py b/sailpoint/v2024/models/work_items.py index 38a4ca77d..c832b442b 100644 --- a/sailpoint/v2024/models/work_items.py +++ b/sailpoint/v2024/models/work_items.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2024.models.approval_item_details import ApprovalItemDetails from sailpoint.v2024.models.remediation_item_details import RemediationItemDetails from sailpoint.v2024.models.work_item_state_manual_work_items import WorkItemStateManualWorkItems @@ -41,8 +41,8 @@ class WorkItems(BaseModel): created: Optional[datetime] = Field(default=None, description="Time when the work item was created") modified: Optional[datetime] = Field(default=None, description="Time when the work item was last updated") description: Optional[StrictStr] = Field(default=None, description="The description of the work item") - state: Optional[WorkItemStateManualWorkItems] = None - type: Optional[WorkItemTypeManualWorkItems] = None + state: Optional[Union[WorkItemStateManualWorkItems, str]] = None + type: Optional[Union[WorkItemTypeManualWorkItems, str]] = None remediation_items: Optional[List[RemediationItemDetails]] = Field(default=None, description="A list of remediation items", alias="remediationItems") approval_items: Optional[List[ApprovalItemDetails]] = Field(default=None, description="A list of items that need to be approved", alias="approvalItems") name: Optional[StrictStr] = Field(default=None, description="The work item name") diff --git a/sailpoint/v2024/test/test_account_usage.py b/sailpoint/v2024/test/test_account_usage.py index 36baa784d..3896c566f 100644 --- a/sailpoint/v2024/test/test_account_usage.py +++ b/sailpoint/v2024/test/test_account_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> AccountUsage: model = AccountUsage() if include_optional: return AccountUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10 ) else: diff --git a/sailpoint/v2024/test/test_non_employee_request_without_approval_item.py b/sailpoint/v2024/test/test_non_employee_request_without_approval_item.py index d577f1e79..afdcd793f 100644 --- a/sailpoint/v2024/test/test_non_employee_request_without_approval_item.py +++ b/sailpoint/v2024/test/test_non_employee_request_without_approval_item.py @@ -50,8 +50,8 @@ def make_instance(self, include_optional) -> NonEmployeeRequestWithoutApprovalIt approval_status = 'APPROVED', comment = 'approved', completion_date = '2020-03-24T11:11:41.139-05:00', - start_date = 'Tue Mar 24 00:00:00 UTC 2020', - end_date = 'Thu Mar 25 00:00:00 UTC 2021', + start_date = 'Mon Mar 23 20:00:00 EDT 2020', + end_date = 'Wed Mar 24 20:00:00 EDT 2021', modified = '2020-03-24T11:11:41.139-05:00', created = '2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v2024/test/test_source_usage.py b/sailpoint/v2024/test/test_source_usage.py index 017e3fef6..0749dfc52 100644 --- a/sailpoint/v2024/test/test_source_usage.py +++ b/sailpoint/v2024/test/test_source_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> SourceUsage: model = SourceUsage() if include_optional: return SourceUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10.45 ) else: diff --git a/sailpoint/v2025/docs/Models/AccountUsage.md b/sailpoint/v2025/docs/Models/AccountUsage.md index 626e62e2b..8403e7986 100644 --- a/sailpoint/v2025/docs/Models/AccountUsage.md +++ b/sailpoint/v2025/docs/Models/AccountUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v2025.models.account_usage import AccountUsage account_usage = AccountUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10 ) diff --git a/sailpoint/v2025/docs/Models/NonEmployeeRequestWithoutApprovalItem.md b/sailpoint/v2025/docs/Models/NonEmployeeRequestWithoutApprovalItem.md index 33437e264..960d4b101 100644 --- a/sailpoint/v2025/docs/Models/NonEmployeeRequestWithoutApprovalItem.md +++ b/sailpoint/v2025/docs/Models/NonEmployeeRequestWithoutApprovalItem.md @@ -56,8 +56,8 @@ data={description=Auditing}, approval_status='APPROVED', comment='approved', completion_date='2020-03-24T11:11:41.139-05:00', -start_date='Tue Mar 24 00:00:00 UTC 2020', -end_date='Thu Mar 25 00:00:00 UTC 2021', +start_date='Mon Mar 23 20:00:00 EDT 2020', +end_date='Wed Mar 24 20:00:00 EDT 2021', modified='2020-03-24T11:11:41.139-05:00', created='2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v2025/docs/Models/SourceUsage.md b/sailpoint/v2025/docs/Models/SourceUsage.md index 3091b3a26..3f731dad1 100644 --- a/sailpoint/v2025/docs/Models/SourceUsage.md +++ b/sailpoint/v2025/docs/Models/SourceUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v2025.models.source_usage import SourceUsage source_usage = SourceUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10.45 ) diff --git a/sailpoint/v2025/models/access_request.py b/sailpoint/v2025/models/access_request.py index 0ca28c8b0..9bf09f007 100644 --- a/sailpoint/v2025/models/access_request.py +++ b/sailpoint/v2025/models/access_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from sailpoint.v2025.models.access_request_item import AccessRequestItem from sailpoint.v2025.models.access_request_type import AccessRequestType @@ -32,7 +32,7 @@ class AccessRequest(BaseModel): AccessRequest """ # noqa: E501 requested_for: List[StrictStr] = Field(description="A list of Identity IDs for whom the Access is requested. If it's a Revoke request, there can only be one Identity ID.", alias="requestedFor") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requested_items: Annotated[List[AccessRequestItem], Field(min_length=1)] = Field(alias="requestedItems") client_metadata: Optional[Dict[str, StrictStr]] = Field(default=None, description="Arbitrary key-value pairs. They will never be processed by the IdentityNow system but will be returned on associated APIs such as /account-activities.", alias="clientMetadata") requested_for_with_requested_items: Optional[List[RequestedForDtoRef]] = Field(default=None, description="Additional submit data structure with requestedFor containing requestedItems allowing distinction for each request item and Identity. * Can only be used when 'requestedFor' and 'requestedItems' are not separately provided * Adds ability to specify which account the user wants the access on, in case they have multiple accounts on a source * Allows the ability to request items with different remove dates * Also allows different combinations of request items and identities in the same request * Only for use in GRANT_ACCESS type requests ", alias="requestedForWithRequestedItems") diff --git a/sailpoint/v2025/models/access_request_admin_item_status.py b/sailpoint/v2025/models/access_request_admin_item_status.py index 9b336af32..66991db02 100644 --- a/sailpoint/v2025/models/access_request_admin_item_status.py +++ b/sailpoint/v2025/models/access_request_admin_item_status.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.access_item_requester import AccessItemRequester from sailpoint.v2025.models.access_request_phases import AccessRequestPhases from sailpoint.v2025.models.access_request_type import AccessRequestType @@ -46,11 +46,11 @@ class AccessRequestAdminItemStatus(BaseModel): type: Optional[StrictStr] = Field(default=None, description="Type of requested object.") cancelled_request_details: Optional[RequestedItemStatusCancelledRequestDetails] = Field(default=None, alias="cancelledRequestDetails") error_messages: Optional[List[List[ErrorMessageDto]]] = Field(default=None, description="List of localized error messages, if any, encountered during the approval/provisioning process.", alias="errorMessages") - state: Optional[RequestedItemStatusRequestState] = None + state: Optional[Union[RequestedItemStatusRequestState, str]] = None approval_details: Optional[List[ApprovalStatusDto]] = Field(default=None, description="Approval details for each item.", alias="approvalDetails") manual_work_item_details: Optional[List[ManualWorkItemDetails]] = Field(default=None, description="Manual work items created for provisioning the item.", alias="manualWorkItemDetails") account_activity_item_id: Optional[StrictStr] = Field(default=None, description="Id of associated account activity item.", alias="accountActivityItemId") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") created: Optional[datetime] = Field(default=None, description="When the request was created.") requester: Optional[AccessItemRequester] = None diff --git a/sailpoint/v2025/models/access_request_recommendation_item.py b/sailpoint/v2025/models/access_request_recommendation_item.py index 9761e3cc0..574932140 100644 --- a/sailpoint/v2025/models/access_request_recommendation_item.py +++ b/sailpoint/v2025/models/access_request_recommendation_item.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.access_request_recommendation_item_type import AccessRequestRecommendationItemType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class AccessRequestRecommendationItem(BaseModel): AccessRequestRecommendationItem """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="ID of access item being recommended.") - type: Optional[AccessRequestRecommendationItemType] = None + type: Optional[Union[AccessRequestRecommendationItemType, str]] = None __properties: ClassVar[List[str]] = ["id", "type"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/access_request_recommendation_item_detail_access.py b/sailpoint/v2025/models/access_request_recommendation_item_detail_access.py index 49849cbd6..695bf3c86 100644 --- a/sailpoint/v2025/models/access_request_recommendation_item_detail_access.py +++ b/sailpoint/v2025/models/access_request_recommendation_item_detail_access.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.access_request_recommendation_item_type import AccessRequestRecommendationItemType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class AccessRequestRecommendationItemDetailAccess(BaseModel): AccessRequestRecommendationItemDetailAccess """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="ID of access item being recommended.") - type: Optional[AccessRequestRecommendationItemType] = None + type: Optional[Union[AccessRequestRecommendationItemType, str]] = None name: Optional[StrictStr] = Field(default=None, description="Name of the access item") description: Optional[StrictStr] = Field(default=None, description="Description of the access item") __properties: ClassVar[List[str]] = ["id", "type", "name", "description"] diff --git a/sailpoint/v2025/models/access_review_item.py b/sailpoint/v2025/models/access_review_item.py index ac9430b6c..6f4c1cc4a 100644 --- a/sailpoint/v2025/models/access_review_item.py +++ b/sailpoint/v2025/models/access_review_item.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.access_summary import AccessSummary from sailpoint.v2025.models.certification_decision import CertificationDecision from sailpoint.v2025.models.certification_identity_summary import CertificationIdentitySummary @@ -35,7 +35,7 @@ class AccessReviewItem(BaseModel): id: Optional[StrictStr] = Field(default=None, description="The review item's id") completed: Optional[StrictBool] = Field(default=None, description="Whether the review item is complete") new_access: Optional[StrictBool] = Field(default=None, description="Indicates whether the review item is for new access to a source", alias="newAccess") - decision: Optional[CertificationDecision] = None + decision: Optional[Union[CertificationDecision, str]] = None comments: Optional[StrictStr] = Field(default=None, description="Comments for this review item") __properties: ClassVar[List[str]] = ["accessSummary", "identitySummary", "id", "completed", "newAccess", "decision", "comments"] diff --git a/sailpoint/v2025/models/access_summary_access.py b/sailpoint/v2025/models/access_summary_access.py index f8077a04a..edc232696 100644 --- a/sailpoint/v2025/models/access_summary_access.py +++ b/sailpoint/v2025/models/access_summary_access.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class AccessSummaryAccess(BaseModel): """ AccessSummaryAccess """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="The ID of the item being certified") name: Optional[StrictStr] = Field(default=None, description="The name of the item being certified") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2025/models/account_activity.py b/sailpoint/v2025/models/account_activity.py index 2886fd427..67019d474 100644 --- a/sailpoint/v2025/models/account_activity.py +++ b/sailpoint/v2025/models/account_activity.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.account_activity_item import AccountActivityItem from sailpoint.v2025.models.completion_status import CompletionStatus from sailpoint.v2025.models.execution_status import ExecutionStatus @@ -37,14 +37,14 @@ class AccountActivity(BaseModel): created: Optional[datetime] = Field(default=None, description="When the activity was first created") modified: Optional[datetime] = Field(default=None, description="When the activity was last modified") completed: Optional[datetime] = Field(default=None, description="When the activity was completed") - completion_status: Optional[CompletionStatus] = Field(default=None, alias="completionStatus") + completion_status: Optional[Union[CompletionStatus, str]] = Field(default=None, alias="completionStatus") type: Optional[StrictStr] = Field(default=None, description="The type of action the activity performed. Please see the following list of types. This list may grow over time. - CloudAutomated - IdentityAttributeUpdate - appRequest - LifecycleStateChange - AccountStateUpdate - AccountAttributeUpdate - CloudPasswordRequest - Attribute Synchronization Refresh - Certification - Identity Refresh - Lifecycle Change Refresh [Learn more here](https://documentation.sailpoint.com/saas/help/search/searchable-fields.html#searching-account-activity-data). ") requester_identity_summary: Optional[IdentitySummary] = Field(default=None, alias="requesterIdentitySummary") target_identity_summary: Optional[IdentitySummary] = Field(default=None, alias="targetIdentitySummary") errors: Optional[List[StrictStr]] = Field(default=None, description="A list of error messages, if any, that were encountered.") warnings: Optional[List[StrictStr]] = Field(default=None, description="A list of warning messages, if any, that were encountered.") items: Optional[List[AccountActivityItem]] = Field(default=None, description="Individual actions performed as part of this account activity") - execution_status: Optional[ExecutionStatus] = Field(default=None, alias="executionStatus") + execution_status: Optional[Union[ExecutionStatus, str]] = Field(default=None, alias="executionStatus") client_metadata: Optional[Dict[str, StrictStr]] = Field(default=None, description="Arbitrary key-value pairs, if any were included in the corresponding access request", alias="clientMetadata") __properties: ClassVar[List[str]] = ["id", "name", "created", "modified", "completed", "completionStatus", "type", "requesterIdentitySummary", "targetIdentitySummary", "errors", "warnings", "items", "executionStatus", "clientMetadata"] diff --git a/sailpoint/v2025/models/account_activity_item.py b/sailpoint/v2025/models/account_activity_item.py index 2f0a45f39..fb8185ea0 100644 --- a/sailpoint/v2025/models/account_activity_item.py +++ b/sailpoint/v2025/models/account_activity_item.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.account_activity_approval_status import AccountActivityApprovalStatus from sailpoint.v2025.models.account_activity_item_operation import AccountActivityItemOperation from sailpoint.v2025.models.account_request_info import AccountRequestInfo @@ -37,12 +37,12 @@ class AccountActivityItem(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Item id") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of item") requested: Optional[datetime] = Field(default=None, description="Date and time item was requested") - approval_status: Optional[AccountActivityApprovalStatus] = Field(default=None, alias="approvalStatus") - provisioning_status: Optional[ProvisioningState] = Field(default=None, alias="provisioningStatus") + approval_status: Optional[Union[AccountActivityApprovalStatus, str]] = Field(default=None, alias="approvalStatus") + provisioning_status: Optional[Union[ProvisioningState, str]] = Field(default=None, alias="provisioningStatus") requester_comment: Optional[Comment] = Field(default=None, alias="requesterComment") reviewer_identity_summary: Optional[IdentitySummary] = Field(default=None, alias="reviewerIdentitySummary") reviewer_comment: Optional[Comment] = Field(default=None, alias="reviewerComment") - operation: Optional[AccountActivityItemOperation] = None + operation: Optional[Union[AccountActivityItemOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Attribute to which account activity applies") value: Optional[StrictStr] = Field(default=None, description="Value of attribute") native_identity: Optional[StrictStr] = Field(default=None, description="Native identity in the target system to which the account activity applies", alias="nativeIdentity") diff --git a/sailpoint/v2025/models/account_all_of_owner_identity.py b/sailpoint/v2025/models/account_all_of_owner_identity.py index 2764928cf..19f820c6b 100644 --- a/sailpoint/v2025/models/account_all_of_owner_identity.py +++ b/sailpoint/v2025/models/account_all_of_owner_identity.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class AccountAllOfOwnerIdentity(BaseModel): """ AccountAllOfOwnerIdentity """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2025/models/account_info_ref.py b/sailpoint/v2025/models/account_info_ref.py index b00c6351f..08f25963f 100644 --- a/sailpoint/v2025/models/account_info_ref.py +++ b/sailpoint/v2025/models/account_info_ref.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class AccountInfoRef(BaseModel): """ # noqa: E501 uuid: Optional[StrictStr] = Field(default=None, description="The uuid for the account, available under the 'objectguid' attribute") native_identity: Optional[StrictStr] = Field(default=None, description="The 'distinguishedName' attribute for the account", alias="nativeIdentity") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="The account id") name: Optional[StrictStr] = Field(default=None, description="The account display name") __properties: ClassVar[List[str]] = ["uuid", "nativeIdentity", "type", "id", "name"] diff --git a/sailpoint/v2025/models/account_request_info.py b/sailpoint/v2025/models/account_request_info.py index 5913d673d..0c9b9cff9 100644 --- a/sailpoint/v2025/models/account_request_info.py +++ b/sailpoint/v2025/models/account_request_info.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.requestable_object_type import RequestableObjectType from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class AccountRequestInfo(BaseModel): """ # noqa: E501 requested_object_id: Optional[StrictStr] = Field(default=None, description="Id of requested object", alias="requestedObjectId") requested_object_name: Optional[StrictStr] = Field(default=None, description="Human-readable name of requested object", alias="requestedObjectName") - requested_object_type: Optional[RequestableObjectType] = Field(default=None, alias="requestedObjectType") + requested_object_type: Optional[Union[RequestableObjectType, str]] = Field(default=None, alias="requestedObjectType") __properties: ClassVar[List[str]] = ["requestedObjectId", "requestedObjectName", "requestedObjectType"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/accounts_selection_request.py b/sailpoint/v2025/models/accounts_selection_request.py index f860f1e3c..3cdc2df42 100644 --- a/sailpoint/v2025/models/accounts_selection_request.py +++ b/sailpoint/v2025/models/accounts_selection_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from sailpoint.v2025.models.access_request_item import AccessRequestItem from sailpoint.v2025.models.access_request_type import AccessRequestType @@ -31,7 +31,7 @@ class AccountsSelectionRequest(BaseModel): AccountsSelectionRequest """ # noqa: E501 requested_for: List[StrictStr] = Field(description="A list of Identity IDs for whom the Access is requested.", alias="requestedFor") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requested_items: Annotated[List[AccessRequestItem], Field(min_length=1, max_length=25)] = Field(alias="requestedItems") client_metadata: Optional[Dict[str, StrictStr]] = Field(default=None, description="Arbitrary key-value pairs. They will never be processed by the IdentityNow system but will be returned on associated APIs such as /account-activities. ", alias="clientMetadata") __properties: ClassVar[List[str]] = ["requestedFor", "requestType", "requestedItems", "clientMetadata"] diff --git a/sailpoint/v2025/models/application_crawler_settings.py b/sailpoint/v2025/models/application_crawler_settings.py index b5b95ff1e..1ed99d091 100644 --- a/sailpoint/v2025/models/application_crawler_settings.py +++ b/sailpoint/v2025/models/application_crawler_settings.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.crawl_resources_sizes_options import CrawlResourcesSizesOptions from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class ApplicationCrawlerSettings(BaseModel): """ # noqa: E501 is_enabled: Optional[StrictBool] = Field(default=False, description="Indicates whether the feature or configuration is enabled.", alias="isEnabled") cluster_id: Optional[StrictStr] = Field(default=None, description="The identifier of the cluster associated with this configuration, if applicable.", alias="clusterId") - calculate_resource_size: Optional[CrawlResourcesSizesOptions] = Field(default=None, alias="calculateResourceSize") + calculate_resource_size: Optional[Union[CrawlResourcesSizesOptions, str]] = Field(default=None, alias="calculateResourceSize") crawl_snapshots_folder: Optional[StrictBool] = Field(default=False, description="Indicates whether to crawl the snapshots folder.", alias="crawlSnapshotsFolder") crawl_mailboxes: Optional[StrictBool] = Field(default=False, description="Indicates whether to crawl mailboxes.", alias="crawlMailboxes") crawl_public_folders: Optional[StrictBool] = Field(default=False, description="Indicates whether to crawl public folders.", alias="crawlPublicFolders") diff --git a/sailpoint/v2025/models/application_discovery_response_target.py b/sailpoint/v2025/models/application_discovery_response_target.py index 2c93723fd..e6e010fd5 100644 --- a/sailpoint/v2025/models/application_discovery_response_target.py +++ b/sailpoint/v2025/models/application_discovery_response_target.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class ApplicationDiscoveryResponseTarget(BaseModel): """ The target(source) of app discovery """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2025/models/approval_forward_history.py b/sailpoint/v2025/models/approval_forward_history.py index a354ac10f..f31b6c2db 100644 --- a/sailpoint/v2025/models/approval_forward_history.py +++ b/sailpoint/v2025/models/approval_forward_history.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.reassignment_type import ReassignmentType from typing import Optional, Set from typing_extensions import Self @@ -34,7 +34,7 @@ class ApprovalForwardHistory(BaseModel): comment: Optional[StrictStr] = Field(default=None, description="Comment made while forwarding.") modified: Optional[datetime] = Field(default=None, description="Time at which approval was forwarded.") forwarder_name: Optional[StrictStr] = Field(default=None, description="Display name of forwarder who forwarded the approval.", alias="forwarderName") - reassignment_type: Optional[ReassignmentType] = Field(default=None, alias="reassignmentType") + reassignment_type: Optional[Union[ReassignmentType, str]] = Field(default=None, alias="reassignmentType") __properties: ClassVar[List[str]] = ["oldApproverName", "newApproverName", "comment", "modified", "forwarderName", "reassignmentType"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/approval_status_dto.py b/sailpoint/v2025/models/approval_status_dto.py index 2cabb2026..3e695827f 100644 --- a/sailpoint/v2025/models/approval_status_dto.py +++ b/sailpoint/v2025/models/approval_status_dto.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.approval_scheme import ApprovalScheme from sailpoint.v2025.models.approval_status_dto_current_owner import ApprovalStatusDtoCurrentOwner from sailpoint.v2025.models.approval_status_dto_original_owner import ApprovalStatusDtoOriginalOwner @@ -37,8 +37,8 @@ class ApprovalStatusDto(BaseModel): original_owner: Optional[ApprovalStatusDtoOriginalOwner] = Field(default=None, alias="originalOwner") current_owner: Optional[ApprovalStatusDtoCurrentOwner] = Field(default=None, alias="currentOwner") modified: Optional[datetime] = Field(default=None, description="Time at which item was modified.") - status: Optional[ManualWorkItemState] = None - scheme: Optional[ApprovalScheme] = None + status: Optional[Union[ManualWorkItemState, str]] = None + scheme: Optional[Union[ApprovalScheme, str]] = None error_messages: Optional[List[ErrorMessageDto]] = Field(default=None, description="If the request failed, includes any error messages that were generated.", alias="errorMessages") comment: Optional[StrictStr] = Field(default=None, description="Comment, if any, provided by the approver.") remove_date: Optional[datetime] = Field(default=None, description="The date the role or access profile or entitlement is no longer assigned to the specified identity.", alias="removeDate") diff --git a/sailpoint/v2025/models/attribute_definition.py b/sailpoint/v2025/models/attribute_definition.py index d5279f2ec..5b5faf16c 100644 --- a/sailpoint/v2025/models/attribute_definition.py +++ b/sailpoint/v2025/models/attribute_definition.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.attribute_definition_schema import AttributeDefinitionSchema from sailpoint.v2025.models.attribute_definition_type import AttributeDefinitionType from typing import Optional, Set @@ -31,7 +31,7 @@ class AttributeDefinition(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(default=None, description="The name of the attribute.") native_name: Optional[StrictStr] = Field(default=None, description="Attribute name in the native system.", alias="nativeName") - type: Optional[AttributeDefinitionType] = None + type: Optional[Union[AttributeDefinitionType, str]] = None var_schema: Optional[AttributeDefinitionSchema] = Field(default=None, alias="schema") description: Optional[StrictStr] = Field(default=None, description="A human-readable description of the attribute.") is_multi: Optional[StrictBool] = Field(default=False, description="Flag indicating whether or not the attribute is multi-valued.", alias="isMulti") diff --git a/sailpoint/v2025/models/base_create_application_request.py b/sailpoint/v2025/models/base_create_application_request.py index 90eca4b33..1ec39f580 100644 --- a/sailpoint/v2025/models/base_create_application_request.py +++ b/sailpoint/v2025/models/base_create_application_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.activity_configuration_settings import ActivityConfigurationSettings from sailpoint.v2025.models.application_crawler_settings import ApplicationCrawlerSettings from sailpoint.v2025.models.application_type import ApplicationType @@ -33,7 +33,7 @@ class BaseCreateApplicationRequest(BaseModel): """ BaseCreateApplicationRequest """ # noqa: E501 - application_type: ApplicationType = Field(alias="applicationType") + application_type: Union[ApplicationType, str] = Field(alias="applicationType") name: StrictStr = Field(description="The display name of the application.") description: Optional[StrictStr] = Field(default=None, description="A brief description of the application and its purpose.") tags: Optional[List[Int64StringKeyValuePair]] = Field(default=None, description="A list of tags to categorize or identify the application.") diff --git a/sailpoint/v2025/models/base_reference_dto.py b/sailpoint/v2025/models/base_reference_dto.py index 917521b59..00d67999a 100644 --- a/sailpoint/v2025/models/base_reference_dto.py +++ b/sailpoint/v2025/models/base_reference_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class BaseReferenceDto(BaseModel): """ BaseReferenceDto """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2025/models/bucket_aggregation.py b/sailpoint/v2025/models/bucket_aggregation.py index 0078b3132..8eb327018 100644 --- a/sailpoint/v2025/models/bucket_aggregation.py +++ b/sailpoint/v2025/models/bucket_aggregation.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.bucket_type import BucketType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class BucketAggregation(BaseModel): The bucket to group the results of the aggregation query by. """ # noqa: E501 name: StrictStr = Field(description="The name of the bucket aggregate to be included in the result.") - type: Optional[BucketType] = BucketType.TERMS + type: Optional[Union[BucketType, str]] = BucketType.TERMS var_field: StrictStr = Field(description="The field to bucket on. Prefix the field name with '@' to reference a nested object.", alias="field") size: Optional[StrictInt] = Field(default=None, description="Maximum number of buckets to include.") min_doc_count: Optional[StrictInt] = Field(default=None, description="Minimum number of documents a bucket should have.", alias="minDocCount") diff --git a/sailpoint/v2025/models/campaign_filter_details_criteria_list_inner.py b/sailpoint/v2025/models/campaign_filter_details_criteria_list_inner.py index 4078e5877..2781c89a4 100644 --- a/sailpoint/v2025/models/campaign_filter_details_criteria_list_inner.py +++ b/sailpoint/v2025/models/campaign_filter_details_criteria_list_inner.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.criteria_type import CriteriaType from sailpoint.v2025.models.operation import Operation from typing import Optional, Set @@ -30,7 +30,7 @@ class CampaignFilterDetailsCriteriaListInner(BaseModel): CampaignFilterDetailsCriteriaListInner """ # noqa: E501 type: CriteriaType - operation: Optional[Operation] = None + operation: Optional[Union[Operation, str]] = None var_property: Optional[StrictStr] = Field(description="Specified key from the type of criteria.", alias="property") value: Optional[StrictStr] = Field(description="Value for the specified key from the type of criteria.") negate_result: Optional[StrictBool] = Field(default=False, description="If true, the filter will negate the result of the criteria.", alias="negateResult") diff --git a/sailpoint/v2025/models/campaign_report.py b/sailpoint/v2025/models/campaign_report.py index 68a39d047..e6e5e20fa 100644 --- a/sailpoint/v2025/models/campaign_report.py +++ b/sailpoint/v2025/models/campaign_report.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.report_type import ReportType from typing import Optional, Set from typing_extensions import Self @@ -33,7 +33,7 @@ class CampaignReport(BaseModel): id: Optional[StrictStr] = Field(default=None, description="SOD policy violation report result ID.") name: Optional[StrictStr] = Field(default=None, description="Human-readable name of the SOD policy violation report result.") status: Optional[StrictStr] = Field(default=None, description="Status of a SOD policy violation report.") - report_type: ReportType = Field(alias="reportType") + report_type: Union[ReportType, str] = Field(alias="reportType") last_run_at: Optional[datetime] = Field(default=None, description="The most recent date and time this report was run", alias="lastRunAt") __properties: ClassVar[List[str]] = ["type", "id", "name", "status", "reportType", "lastRunAt"] diff --git a/sailpoint/v2025/models/certification.py b/sailpoint/v2025/models/certification.py index 7d1e9fb90..51d7d34a9 100644 --- a/sailpoint/v2025/models/certification.py +++ b/sailpoint/v2025/models/certification.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.campaign_reference import CampaignReference from sailpoint.v2025.models.certification_phase import CertificationPhase from sailpoint.v2025.models.reassignment import Reassignment @@ -48,7 +48,7 @@ class Certification(BaseModel): reassignment: Optional[Reassignment] = None has_errors: Optional[StrictBool] = Field(default=None, description="Identifies if the certification has an error", alias="hasErrors") error_message: Optional[StrictStr] = Field(default=None, description="Description of the certification error", alias="errorMessage") - phase: Optional[CertificationPhase] = None + phase: Optional[Union[CertificationPhase, str]] = None __properties: ClassVar[List[str]] = ["id", "name", "campaign", "completed", "identitiesCompleted", "identitiesTotal", "created", "modified", "decisionsMade", "decisionsTotal", "due", "signed", "reviewer", "reassignment", "hasErrors", "errorMessage", "phase"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/client_log_configuration.py b/sailpoint/v2025/models/client_log_configuration.py index 0e66742cb..23704348b 100644 --- a/sailpoint/v2025/models/client_log_configuration.py +++ b/sailpoint/v2025/models/client_log_configuration.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from sailpoint.v2025.models.standard_level import StandardLevel from typing import Optional, Set @@ -33,8 +33,8 @@ class ClientLogConfiguration(BaseModel): client_id: Optional[StrictStr] = Field(default=None, description="Log configuration's client ID", alias="clientId") duration_minutes: Optional[Annotated[int, Field(le=1440, strict=True, ge=5)]] = Field(default=240, description="Duration in minutes for log configuration to remain in effect before resetting to defaults.", alias="durationMinutes") expiration: Optional[datetime] = Field(default=None, description="Expiration date-time of the log configuration request. Can be no greater than 24 hours from current date-time.") - root_level: StandardLevel = Field(alias="rootLevel") - log_levels: Optional[Dict[str, StandardLevel]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") + root_level: Union[StandardLevel, str] = Field(alias="rootLevel") + log_levels: Optional[Dict[str, Union[StandardLevel, str]]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") __properties: ClassVar[List[str]] = ["clientId", "durationMinutes", "expiration", "rootLevel", "logLevels"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/client_log_configuration_duration_minutes.py b/sailpoint/v2025/models/client_log_configuration_duration_minutes.py index 243d86311..0d289b733 100644 --- a/sailpoint/v2025/models/client_log_configuration_duration_minutes.py +++ b/sailpoint/v2025/models/client_log_configuration_duration_minutes.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from sailpoint.v2025.models.standard_level import StandardLevel from typing import Optional, Set @@ -31,8 +31,8 @@ class ClientLogConfigurationDurationMinutes(BaseModel): """ # noqa: E501 client_id: Optional[StrictStr] = Field(default=None, description="Log configuration's client ID", alias="clientId") duration_minutes: Optional[Annotated[int, Field(le=1440, strict=True, ge=5)]] = Field(default=240, description="Duration in minutes for log configuration to remain in effect before resetting to defaults.", alias="durationMinutes") - root_level: StandardLevel = Field(alias="rootLevel") - log_levels: Optional[Dict[str, StandardLevel]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") + root_level: Union[StandardLevel, str] = Field(alias="rootLevel") + log_levels: Optional[Dict[str, Union[StandardLevel, str]]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") __properties: ClassVar[List[str]] = ["clientId", "durationMinutes", "rootLevel", "logLevels"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/client_log_configuration_expiration.py b/sailpoint/v2025/models/client_log_configuration_expiration.py index 34022ddf9..43cb49784 100644 --- a/sailpoint/v2025/models/client_log_configuration_expiration.py +++ b/sailpoint/v2025/models/client_log_configuration_expiration.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.standard_level import StandardLevel from typing import Optional, Set from typing_extensions import Self @@ -31,8 +31,8 @@ class ClientLogConfigurationExpiration(BaseModel): """ # noqa: E501 client_id: Optional[StrictStr] = Field(default=None, description="Log configuration's client ID", alias="clientId") expiration: Optional[datetime] = Field(default=None, description="Expiration date-time of the log configuration request. Can be no greater than 24 hours from current date-time.") - root_level: StandardLevel = Field(alias="rootLevel") - log_levels: Optional[Dict[str, StandardLevel]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") + root_level: Union[StandardLevel, str] = Field(alias="rootLevel") + log_levels: Optional[Dict[str, Union[StandardLevel, str]]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") __properties: ClassVar[List[str]] = ["clientId", "expiration", "rootLevel", "logLevels"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/common_access_item_access.py b/sailpoint/v2025/models/common_access_item_access.py index 35975683c..3bce8041a 100644 --- a/sailpoint/v2025/models/common_access_item_access.py +++ b/sailpoint/v2025/models/common_access_item_access.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.common_access_type import CommonAccessType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class CommonAccessItemAccess(BaseModel): CommonAccessItemAccess """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="Common access ID") - type: Optional[CommonAccessType] = None + type: Optional[Union[CommonAccessType, str]] = None name: Optional[StrictStr] = Field(default=None, description="Common access name") description: Optional[StrictStr] = Field(default=None, description="Common access description") owner_name: Optional[StrictStr] = Field(default=None, description="Common access owner name", alias="ownerName") diff --git a/sailpoint/v2025/models/common_access_item_request.py b/sailpoint/v2025/models/common_access_item_request.py index 80e05f158..e45c9ff7d 100644 --- a/sailpoint/v2025/models/common_access_item_request.py +++ b/sailpoint/v2025/models/common_access_item_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.common_access_item_access import CommonAccessItemAccess from sailpoint.v2025.models.common_access_item_state import CommonAccessItemState from typing import Optional, Set @@ -30,7 +30,7 @@ class CommonAccessItemRequest(BaseModel): CommonAccessItemRequest """ # noqa: E501 access: Optional[CommonAccessItemAccess] = None - status: Optional[CommonAccessItemState] = None + status: Optional[Union[CommonAccessItemState, str]] = None __properties: ClassVar[List[str]] = ["access", "status"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/common_access_item_response.py b/sailpoint/v2025/models/common_access_item_response.py index db9119040..e34af4187 100644 --- a/sailpoint/v2025/models/common_access_item_response.py +++ b/sailpoint/v2025/models/common_access_item_response.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.common_access_item_access import CommonAccessItemAccess from sailpoint.v2025.models.common_access_item_state import CommonAccessItemState from typing import Optional, Set @@ -31,7 +31,7 @@ class CommonAccessItemResponse(BaseModel): """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="Common Access Item ID") access: Optional[CommonAccessItemAccess] = None - status: Optional[CommonAccessItemState] = None + status: Optional[Union[CommonAccessItemState, str]] = None last_updated: Optional[StrictStr] = Field(default=None, alias="lastUpdated") reviewed_by_user: Optional[StrictBool] = Field(default=None, alias="reviewedByUser") last_reviewed: Optional[StrictStr] = Field(default=None, alias="lastReviewed") diff --git a/sailpoint/v2025/models/completed_approval.py b/sailpoint/v2025/models/completed_approval.py index 268f3492b..dad2089ee 100644 --- a/sailpoint/v2025/models/completed_approval.py +++ b/sailpoint/v2025/models/completed_approval.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.access_item_requester import AccessItemRequester from sailpoint.v2025.models.access_item_reviewed_by import AccessItemReviewedBy from sailpoint.v2025.models.access_request_type import AccessRequestType @@ -48,7 +48,7 @@ class CompletedApproval(BaseModel): created: Optional[datetime] = Field(default=None, description="When the approval was created.") modified: Optional[datetime] = Field(default=None, description="When the approval was modified last time.") request_created: Optional[datetime] = Field(default=None, description="When the access-request was created.", alias="requestCreated") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requester: Optional[AccessItemRequester] = None requested_for: Optional[RequestedItemStatusRequestedFor] = Field(default=None, alias="requestedFor") reviewed_by: Optional[AccessItemReviewedBy] = Field(default=None, alias="reviewedBy") @@ -59,7 +59,7 @@ class CompletedApproval(BaseModel): previous_reviewers_comments: Optional[List[CommentDto]] = Field(default=None, description="The history of the previous reviewers comments.", alias="previousReviewersComments") forward_history: Optional[List[ApprovalForwardHistory]] = Field(default=None, description="The history of approval forward action.", alias="forwardHistory") comment_required_when_rejected: Optional[StrictBool] = Field(default=False, description="When true the rejector has to provide comments when rejecting", alias="commentRequiredWhenRejected") - state: Optional[CompletedApprovalState] = None + state: Optional[Union[CompletedApprovalState, str]] = None remove_date: Optional[datetime] = Field(default=None, description="The date the role or access profile or entitlement is no longer assigned to the specified identity.", alias="removeDate") remove_date_update_requested: Optional[StrictBool] = Field(default=False, description="If true, then the request was to change the remove date or sunset date.", alias="removeDateUpdateRequested") current_remove_date: Optional[datetime] = Field(default=None, description="The remove date or sunset date that was assigned at the time of the request.", alias="currentRemoveDate") diff --git a/sailpoint/v2025/models/completed_approval_pre_approval_trigger_result.py b/sailpoint/v2025/models/completed_approval_pre_approval_trigger_result.py index c7cd34d8a..8637e85f4 100644 --- a/sailpoint/v2025/models/completed_approval_pre_approval_trigger_result.py +++ b/sailpoint/v2025/models/completed_approval_pre_approval_trigger_result.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.completed_approval_state import CompletedApprovalState from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class CompletedApprovalPreApprovalTriggerResult(BaseModel): If the access request submitted event trigger is configured and this access request was intercepted by it, then this is the result of the trigger's decision to either approve or deny the request. """ # noqa: E501 comment: Optional[StrictStr] = Field(default=None, description="The comment from the trigger") - decision: Optional[CompletedApprovalState] = None + decision: Optional[Union[CompletedApprovalState, str]] = None reviewer: Optional[StrictStr] = Field(default=None, description="The name of the approver") var_date: Optional[datetime] = Field(default=None, description="The date and time the trigger decided on the request", alias="date") __properties: ClassVar[List[str]] = ["comment", "decision", "reviewer", "date"] diff --git a/sailpoint/v2025/models/config_type.py b/sailpoint/v2025/models/config_type.py index 42113a3e5..b4296e35d 100644 --- a/sailpoint/v2025/models/config_type.py +++ b/sailpoint/v2025/models/config_type.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.config_type_enum import ConfigTypeEnum from sailpoint.v2025.models.config_type_enum_camel import ConfigTypeEnumCamel from typing import Optional, Set @@ -30,8 +30,8 @@ class ConfigType(BaseModel): Type of Reassignment Configuration. """ # noqa: E501 priority: Optional[StrictInt] = None - internal_name: Optional[ConfigTypeEnumCamel] = Field(default=None, alias="internalName") - internal_name_camel: Optional[ConfigTypeEnum] = Field(default=None, alias="internalNameCamel") + internal_name: Optional[Union[ConfigTypeEnumCamel, str]] = Field(default=None, alias="internalName") + internal_name_camel: Optional[Union[ConfigTypeEnum, str]] = Field(default=None, alias="internalNameCamel") display_name: Optional[StrictStr] = Field(default=None, description="Human readable display name of the type to be shown on UI", alias="displayName") description: Optional[StrictStr] = Field(default=None, description="Description of the type of work to be reassigned, displayed by the UI.") __properties: ClassVar[List[str]] = ["priority", "internalName", "internalNameCamel", "displayName", "description"] diff --git a/sailpoint/v2025/models/configuration_details_response.py b/sailpoint/v2025/models/configuration_details_response.py index cc88a3521..a7bc2b33b 100644 --- a/sailpoint/v2025/models/configuration_details_response.py +++ b/sailpoint/v2025/models/configuration_details_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.audit_details import AuditDetails from sailpoint.v2025.models.config_type_enum import ConfigTypeEnum from sailpoint.v2025.models.identity1 import Identity1 @@ -31,7 +31,7 @@ class ConfigurationDetailsResponse(BaseModel): """ The request body of Reassignment Configuration Details for a specific identity and config type """ # noqa: E501 - config_type: Optional[ConfigTypeEnum] = Field(default=None, alias="configType") + config_type: Optional[Union[ConfigTypeEnum, str]] = Field(default=None, alias="configType") target_identity: Optional[Identity1] = Field(default=None, alias="targetIdentity") start_date: Optional[datetime] = Field(default=None, description="The date from which to start reassigning work items", alias="startDate") end_date: Optional[datetime] = Field(default=None, description="The date from which to stop reassigning work items. If this is an empty string it indicates a permanent reassignment.", alias="endDate") diff --git a/sailpoint/v2025/models/configuration_item_request.py b/sailpoint/v2025/models/configuration_item_request.py index 42b8ced37..20e02a683 100644 --- a/sailpoint/v2025/models/configuration_item_request.py +++ b/sailpoint/v2025/models/configuration_item_request.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.config_type_enum import ConfigTypeEnum from typing import Optional, Set from typing_extensions import Self @@ -31,7 +31,7 @@ class ConfigurationItemRequest(BaseModel): """ # noqa: E501 reassigned_from_id: Optional[StrictStr] = Field(default=None, description="The identity id to reassign an item from", alias="reassignedFromId") reassigned_to_id: Optional[StrictStr] = Field(default=None, description="The identity id to reassign an item to", alias="reassignedToId") - config_type: Optional[ConfigTypeEnum] = Field(default=None, alias="configType") + config_type: Optional[Union[ConfigTypeEnum, str]] = Field(default=None, alias="configType") start_date: Optional[datetime] = Field(default=None, description="The date from which to start reassigning work items", alias="startDate") end_date: Optional[datetime] = Field(default=None, description="The date from which to stop reassigning work items. If this is an null string it indicates a permanent reassignment.", alias="endDate") __properties: ClassVar[List[str]] = ["reassignedFromId", "reassignedToId", "configType", "startDate", "endDate"] diff --git a/sailpoint/v2025/models/create_o_auth_client_request.py b/sailpoint/v2025/models/create_o_auth_client_request.py index 357995329..b407e6fb0 100644 --- a/sailpoint/v2025/models/create_o_auth_client_request.py +++ b/sailpoint/v2025/models/create_o_auth_client_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.access_type import AccessType from sailpoint.v2025.models.client_type import ClientType from sailpoint.v2025.models.grant_type import GrantType @@ -37,9 +37,9 @@ class CreateOAuthClientRequest(BaseModel): access_token_validity_seconds: StrictInt = Field(description="The number of seconds an access token generated for this API Client is valid for", alias="accessTokenValiditySeconds") refresh_token_validity_seconds: Optional[StrictInt] = Field(default=None, description="The number of seconds a refresh token generated for this API Client is valid for", alias="refreshTokenValiditySeconds") redirect_uris: Optional[List[StrictStr]] = Field(default=None, description="A list of the approved redirect URIs. Provide one or more URIs when assigning the AUTHORIZATION_CODE grant type to a new OAuth Client.", alias="redirectUris") - grant_types: Optional[List[GrantType]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") - access_type: AccessType = Field(alias="accessType") - type: Optional[ClientType] = None + grant_types: Optional[List[Union[GrantType, str]]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") + access_type: Union[AccessType, str] = Field(alias="accessType") + type: Optional[Union[ClientType, str]] = None internal: Optional[StrictBool] = Field(default=None, description="An indicator of whether the API Client can be used for requests internal within the product.") enabled: StrictBool = Field(description="An indicator of whether the API Client is enabled for use") strong_auth_supported: Optional[StrictBool] = Field(default=None, description="An indicator of whether the API Client supports strong authentication", alias="strongAuthSupported") diff --git a/sailpoint/v2025/models/create_o_auth_client_response.py b/sailpoint/v2025/models/create_o_auth_client_response.py index 11c708ff8..6acbba12e 100644 --- a/sailpoint/v2025/models/create_o_auth_client_response.py +++ b/sailpoint/v2025/models/create_o_auth_client_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.access_type import AccessType from sailpoint.v2025.models.client_type import ClientType from sailpoint.v2025.models.grant_type import GrantType @@ -40,8 +40,8 @@ class CreateOAuthClientResponse(BaseModel): access_token_validity_seconds: StrictInt = Field(description="The number of seconds an access token generated for this API Client is valid for", alias="accessTokenValiditySeconds") refresh_token_validity_seconds: StrictInt = Field(description="The number of seconds a refresh token generated for this API Client is valid for", alias="refreshTokenValiditySeconds") redirect_uris: List[StrictStr] = Field(description="A list of the approved redirect URIs used with the authorization_code flow", alias="redirectUris") - grant_types: List[GrantType] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") - access_type: AccessType = Field(alias="accessType") + grant_types: List[Union[GrantType, str]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") + access_type: Union[AccessType, str] = Field(alias="accessType") type: ClientType internal: StrictBool = Field(description="An indicator of whether the API Client can be used for requests internal to IDN") enabled: StrictBool = Field(description="An indicator of whether the API Client is enabled for use") diff --git a/sailpoint/v2025/models/create_saved_search_request.py b/sailpoint/v2025/models/create_saved_search_request.py index 6f4780f61..06c3a1df6 100644 --- a/sailpoint/v2025/models/create_saved_search_request.py +++ b/sailpoint/v2025/models/create_saved_search_request.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.column import Column from sailpoint.v2025.models.index import Index from sailpoint.v2025.models.saved_search_detail_filters import SavedSearchDetailFilters @@ -35,7 +35,7 @@ class CreateSavedSearchRequest(BaseModel): description: Optional[StrictStr] = Field(default=None, description="The description of the saved search. ") created: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") modified: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") - indices: List[Index] = Field(description="The names of the Elasticsearch indices in which to search. ") + indices: List[Union[Index, str]] = Field(description="The names of the Elasticsearch indices in which to search. ") columns: Optional[Dict[str, List[Column]]] = Field(default=None, description="The columns to be returned (specifies the order in which they will be presented) for each document type. The currently supported document types are: _accessprofile_, _accountactivity_, _account_, _aggregation_, _entitlement_, _event_, _identity_, and _role_. ") query: StrictStr = Field(description="The search query using Elasticsearch [Query String Query](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-query-string-query.html#query-string) syntax from the Query DSL. ") fields: Optional[List[StrictStr]] = Field(default=None, description="The fields to be searched against in a multi-field query. ") diff --git a/sailpoint/v2025/models/data_segment.py b/sailpoint/v2025/models/data_segment.py index 10250108c..8480d6198 100644 --- a/sailpoint/v2025/models/data_segment.py +++ b/sailpoint/v2025/models/data_segment.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.membership_type import MembershipType from sailpoint.v2025.models.ref import Ref from sailpoint.v2025.models.scope import Scope @@ -40,7 +40,7 @@ class DataSegment(BaseModel): scopes: Optional[List[Scope]] = Field(default=None, description="List of Scopes that are assigned to the segment") member_selection: Optional[List[Ref]] = Field(default=None, description="List of Identities that are assigned to the segment", alias="memberSelection") member_filter: Optional[VisibilityCriteria] = Field(default=None, alias="memberFilter") - membership: Optional[MembershipType] = None + membership: Optional[Union[MembershipType, str]] = None enabled: Optional[StrictBool] = Field(default=False, description="This boolean indicates whether the segment is currently active. Inactive segments have no effect.") published: Optional[StrictBool] = Field(default=False, description="This boolean indicates whether the segment is being applied to the accounts. If unpublished its being actively modified to until published") __properties: ClassVar[List[str]] = ["id", "name", "created", "modified", "description", "scopes", "memberSelection", "memberFilter", "membership", "enabled", "published"] diff --git a/sailpoint/v2025/models/dimension_criteria_level1.py b/sailpoint/v2025/models/dimension_criteria_level1.py index 43d747f11..4eac8da3a 100644 --- a/sailpoint/v2025/models/dimension_criteria_level1.py +++ b/sailpoint/v2025/models/dimension_criteria_level1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dimension_criteria_key import DimensionCriteriaKey from sailpoint.v2025.models.dimension_criteria_level2 import DimensionCriteriaLevel2 from sailpoint.v2025.models.dimension_criteria_operation import DimensionCriteriaOperation @@ -30,7 +30,7 @@ class DimensionCriteriaLevel1(BaseModel): """ Defines STANDARD type Dimension membership """ # noqa: E501 - operation: Optional[DimensionCriteriaOperation] = None + operation: Optional[Union[DimensionCriteriaOperation, str]] = None key: Optional[DimensionCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is EQUALS, this field is required. Otherwise, specifying it is an error.", alias="stringValue") children: Optional[List[Optional[DimensionCriteriaLevel2]]] = Field(default=None, description="Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa.") diff --git a/sailpoint/v2025/models/dimension_criteria_level2.py b/sailpoint/v2025/models/dimension_criteria_level2.py index e88b421bb..9592c1cd7 100644 --- a/sailpoint/v2025/models/dimension_criteria_level2.py +++ b/sailpoint/v2025/models/dimension_criteria_level2.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dimension_criteria_key import DimensionCriteriaKey from sailpoint.v2025.models.dimension_criteria_level3 import DimensionCriteriaLevel3 from sailpoint.v2025.models.dimension_criteria_operation import DimensionCriteriaOperation @@ -30,7 +30,7 @@ class DimensionCriteriaLevel2(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[DimensionCriteriaOperation] = None + operation: Optional[Union[DimensionCriteriaOperation, str]] = None key: Optional[DimensionCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, this field is required. Otherwise, specifying it is an error.", alias="stringValue") children: Optional[List[DimensionCriteriaLevel3]] = Field(default=None, description="Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa.") diff --git a/sailpoint/v2025/models/dimension_criteria_level3.py b/sailpoint/v2025/models/dimension_criteria_level3.py index 29dfb99e5..54d3ebf9a 100644 --- a/sailpoint/v2025/models/dimension_criteria_level3.py +++ b/sailpoint/v2025/models/dimension_criteria_level3.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dimension_criteria_key import DimensionCriteriaKey from sailpoint.v2025.models.dimension_criteria_operation import DimensionCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class DimensionCriteriaLevel3(BaseModel): """ Defines STANDARD type Dimension membership """ # noqa: E501 - operation: Optional[DimensionCriteriaOperation] = None + operation: Optional[Union[DimensionCriteriaOperation, str]] = None key: Optional[DimensionCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, this field is required. Otherwise, specifying it is an error.", alias="stringValue") __properties: ClassVar[List[str]] = ["operation", "key", "stringValue"] diff --git a/sailpoint/v2025/models/dimension_membership_selector.py b/sailpoint/v2025/models/dimension_membership_selector.py index 87f77ba29..b3056cd88 100644 --- a/sailpoint/v2025/models/dimension_membership_selector.py +++ b/sailpoint/v2025/models/dimension_membership_selector.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dimension_criteria_level1 import DimensionCriteriaLevel1 from sailpoint.v2025.models.dimension_membership_selector_type import DimensionMembershipSelectorType from typing import Optional, Set @@ -29,7 +29,7 @@ class DimensionMembershipSelector(BaseModel): """ When present, specifies that the Dimension is to be granted to Identities which either satisfy specific criteria. """ # noqa: E501 - type: Optional[DimensionMembershipSelectorType] = None + type: Optional[Union[DimensionMembershipSelectorType, str]] = None criteria: Optional[DimensionCriteriaLevel1] = None __properties: ClassVar[List[str]] = ["type", "criteria"] diff --git a/sailpoint/v2025/models/error_message_dto.py b/sailpoint/v2025/models/error_message_dto.py index aa5af8e52..8b3718c95 100644 --- a/sailpoint/v2025/models/error_message_dto.py +++ b/sailpoint/v2025/models/error_message_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.locale_origin import LocaleOrigin from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class ErrorMessageDto(BaseModel): ErrorMessageDto """ # noqa: E501 locale: Optional[StrictStr] = Field(default=None, description="The locale for the message text, a BCP 47 language tag.") - locale_origin: Optional[LocaleOrigin] = Field(default=None, alias="localeOrigin") + locale_origin: Optional[Union[LocaleOrigin, str]] = Field(default=None, alias="localeOrigin") text: Optional[StrictStr] = Field(default=None, description="Actual text of the error message in the indicated locale.") __properties: ClassVar[List[str]] = ["locale", "localeOrigin", "text"] diff --git a/sailpoint/v2025/models/error_message_dto1.py b/sailpoint/v2025/models/error_message_dto1.py index 89fcea9ee..3f9341a27 100644 --- a/sailpoint/v2025/models/error_message_dto1.py +++ b/sailpoint/v2025/models/error_message_dto1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.locale_origin import LocaleOrigin from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class ErrorMessageDto1(BaseModel): ErrorMessageDto1 """ # noqa: E501 locale: Optional[StrictStr] = Field(default=None, description="The locale for the message text, a BCP 47 language tag.") - locale_origin: Optional[LocaleOrigin] = Field(default=None, alias="localeOrigin") + locale_origin: Optional[Union[LocaleOrigin, str]] = Field(default=None, alias="localeOrigin") text: Optional[StrictStr] = Field(default=None, description="Actual text of the error message in the indicated locale.") __properties: ClassVar[List[str]] = ["locale", "localeOrigin", "text"] diff --git a/sailpoint/v2025/models/exception_criteria_access.py b/sailpoint/v2025/models/exception_criteria_access.py index c8f2871c5..3a1de5685 100644 --- a/sailpoint/v2025/models/exception_criteria_access.py +++ b/sailpoint/v2025/models/exception_criteria_access.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class ExceptionCriteriaAccess(BaseModel): """ Access reference with addition of boolean existing flag to indicate whether the access was extant """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") existing: Optional[StrictBool] = Field(default=False, description="Whether the subject identity already had that access or not") diff --git a/sailpoint/v2025/models/filter.py b/sailpoint/v2025/models/filter.py index 79f60b045..aa112922f 100644 --- a/sailpoint/v2025/models/filter.py +++ b/sailpoint/v2025/models/filter.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.filter_type import FilterType from sailpoint.v2025.models.range import Range from typing import Optional, Set @@ -29,7 +29,7 @@ class Filter(BaseModel): """ Filter """ # noqa: E501 - type: Optional[FilterType] = None + type: Optional[Union[FilterType, str]] = None range: Optional[Range] = None terms: Optional[List[StrictStr]] = Field(default=None, description="The terms to be filtered.") exclude: Optional[StrictBool] = Field(default=False, description="Indicates if the filter excludes results.") diff --git a/sailpoint/v2025/models/filter_aggregation.py b/sailpoint/v2025/models/filter_aggregation.py index 80cbca619..ea9cecca8 100644 --- a/sailpoint/v2025/models/filter_aggregation.py +++ b/sailpoint/v2025/models/filter_aggregation.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.search_filter_type import SearchFilterType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class FilterAggregation(BaseModel): An additional filter to constrain the results of the search query. """ # noqa: E501 name: StrictStr = Field(description="The name of the filter aggregate to be included in the result.") - type: Optional[SearchFilterType] = SearchFilterType.TERM + type: Optional[Union[SearchFilterType, str]] = SearchFilterType.TERM var_field: StrictStr = Field(description="The search field to apply the filter to. Prefix the field name with '@' to reference a nested object. ", alias="field") value: StrictStr = Field(description="The value to filter on.") __properties: ClassVar[List[str]] = ["name", "type", "field", "value"] diff --git a/sailpoint/v2025/models/get_o_auth_client_response.py b/sailpoint/v2025/models/get_o_auth_client_response.py index afff36c65..56ff6ac4a 100644 --- a/sailpoint/v2025/models/get_o_auth_client_response.py +++ b/sailpoint/v2025/models/get_o_auth_client_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.access_type import AccessType from sailpoint.v2025.models.client_type import ClientType from sailpoint.v2025.models.grant_type import GrantType @@ -39,8 +39,8 @@ class GetOAuthClientResponse(BaseModel): access_token_validity_seconds: StrictInt = Field(description="The number of seconds an access token generated for this API Client is valid for", alias="accessTokenValiditySeconds") refresh_token_validity_seconds: StrictInt = Field(description="The number of seconds a refresh token generated for this API Client is valid for", alias="refreshTokenValiditySeconds") redirect_uris: Optional[List[StrictStr]] = Field(description="A list of the approved redirect URIs used with the authorization_code flow", alias="redirectUris") - grant_types: List[GrantType] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") - access_type: AccessType = Field(alias="accessType") + grant_types: List[Union[GrantType, str]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") + access_type: Union[AccessType, str] = Field(alias="accessType") type: ClientType internal: StrictBool = Field(description="An indicator of whether the API Client can be used for requests internal to IDN") enabled: StrictBool = Field(description="An indicator of whether the API Client is enabled for use") diff --git a/sailpoint/v2025/models/http_config.py b/sailpoint/v2025/models/http_config.py index f1103ce2d..174608569 100644 --- a/sailpoint/v2025/models/http_config.py +++ b/sailpoint/v2025/models/http_config.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.basic_auth_config import BasicAuthConfig from sailpoint.v2025.models.bearer_token_auth_config import BearerTokenAuthConfig from sailpoint.v2025.models.http_authentication_type import HttpAuthenticationType @@ -32,8 +32,8 @@ class HttpConfig(BaseModel): HttpConfig """ # noqa: E501 url: StrictStr = Field(description="URL of the external/custom integration.") - http_dispatch_mode: HttpDispatchMode = Field(alias="httpDispatchMode") - http_authentication_type: Optional[HttpAuthenticationType] = Field(default=HttpAuthenticationType.NO_AUTH, alias="httpAuthenticationType") + http_dispatch_mode: Union[HttpDispatchMode, str] = Field(alias="httpDispatchMode") + http_authentication_type: Optional[Union[HttpAuthenticationType, str]] = Field(default=HttpAuthenticationType.NO_AUTH, alias="httpAuthenticationType") basic_auth_config: Optional[BasicAuthConfig] = Field(default=None, alias="basicAuthConfig") bearer_token_auth_config: Optional[BearerTokenAuthConfig] = Field(default=None, alias="bearerTokenAuthConfig") __properties: ClassVar[List[str]] = ["url", "httpDispatchMode", "httpAuthenticationType", "basicAuthConfig", "bearerTokenAuthConfig"] diff --git a/sailpoint/v2025/models/identity_account_selections.py b/sailpoint/v2025/models/identity_account_selections.py index ccc94ff7e..649356f22 100644 --- a/sailpoint/v2025/models/identity_account_selections.py +++ b/sailpoint/v2025/models/identity_account_selections.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from sailpoint.v2025.models.requested_item_account_selections import RequestedItemAccountSelections from typing import Optional, Set @@ -31,7 +31,7 @@ class IdentityAccountSelections(BaseModel): """ # noqa: E501 requested_items: Optional[List[RequestedItemAccountSelections]] = Field(default=None, description="Available account selections for the identity, per requested item", alias="requestedItems") accounts_selection_required: Optional[StrictBool] = Field(default=False, description="A boolean indicating whether any account selections will be required for the user to raise an access request", alias="accountsSelectionRequired") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="The identity id for the user") name: Optional[StrictStr] = Field(default=None, description="The name of the identity") __properties: ClassVar[List[str]] = ["requestedItems", "accountsSelectionRequired", "type", "id", "name"] diff --git a/sailpoint/v2025/models/identity_certification_dto.py b/sailpoint/v2025/models/identity_certification_dto.py index 88bef128f..0805080a5 100644 --- a/sailpoint/v2025/models/identity_certification_dto.py +++ b/sailpoint/v2025/models/identity_certification_dto.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.campaign_reference import CampaignReference from sailpoint.v2025.models.certification_phase import CertificationPhase from sailpoint.v2025.models.reassignment import Reassignment @@ -48,7 +48,7 @@ class IdentityCertificationDto(BaseModel): reassignment: Optional[Reassignment] = None has_errors: Optional[StrictBool] = Field(default=None, description="Identifies if the certification has an error", alias="hasErrors") error_message: Optional[StrictStr] = Field(default=None, description="Description of the certification error", alias="errorMessage") - phase: Optional[CertificationPhase] = None + phase: Optional[Union[CertificationPhase, str]] = None __properties: ClassVar[List[str]] = ["id", "name", "campaign", "completed", "identitiesCompleted", "identitiesTotal", "created", "modified", "decisionsMade", "decisionsTotal", "due", "signed", "reviewer", "reassignment", "hasErrors", "errorMessage", "phase"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/identity_reference.py b/sailpoint/v2025/models/identity_reference.py index 298f38e56..9bac0ef84 100644 --- a/sailpoint/v2025/models/identity_reference.py +++ b/sailpoint/v2025/models/identity_reference.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class IdentityReference(BaseModel): """ The manager for the identity. """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Identity id") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of identity.") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2025/models/lookup_step.py b/sailpoint/v2025/models/lookup_step.py index 1fc1173cd..a3e08fd3a 100644 --- a/sailpoint/v2025/models/lookup_step.py +++ b/sailpoint/v2025/models/lookup_step.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.reassignment_type_enum import ReassignmentTypeEnum from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class LookupStep(BaseModel): """ # noqa: E501 reassigned_to_id: Optional[StrictStr] = Field(default=None, description="The ID of the Identity who work is reassigned to", alias="reassignedToId") reassigned_from_id: Optional[StrictStr] = Field(default=None, description="The ID of the Identity who work is reassigned from", alias="reassignedFromId") - reassignment_type: Optional[ReassignmentTypeEnum] = Field(default=None, alias="reassignmentType") + reassignment_type: Optional[Union[ReassignmentTypeEnum, str]] = Field(default=None, alias="reassignmentType") __properties: ClassVar[List[str]] = ["reassignedToId", "reassignedFromId", "reassignmentType"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/machine_classification_criteria_level1.py b/sailpoint/v2025/models/machine_classification_criteria_level1.py index ddbe63f1e..72ff506fe 100644 --- a/sailpoint/v2025/models/machine_classification_criteria_level1.py +++ b/sailpoint/v2025/models/machine_classification_criteria_level1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.machine_classification_criteria_level2 import MachineClassificationCriteriaLevel2 from sailpoint.v2025.models.machine_classification_criteria_operation import MachineClassificationCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class MachineClassificationCriteriaLevel1(BaseModel): """ MachineClassificationCriteriaLevel1 """ # noqa: E501 - operation: Optional[MachineClassificationCriteriaOperation] = None + operation: Optional[Union[MachineClassificationCriteriaOperation, str]] = None case_sensitive: Optional[StrictBool] = Field(default=False, description="Indicates whether case matters when evaluating the criteria", alias="caseSensitive") data_type: Optional[StrictStr] = Field(default=None, description="The data type of the attribute being evaluated", alias="dataType") attribute: Optional[StrictStr] = Field(default=None, description="The attribute to evaluate in the classification criteria") diff --git a/sailpoint/v2025/models/machine_classification_criteria_level2.py b/sailpoint/v2025/models/machine_classification_criteria_level2.py index da33e4ebc..9ed0d2272 100644 --- a/sailpoint/v2025/models/machine_classification_criteria_level2.py +++ b/sailpoint/v2025/models/machine_classification_criteria_level2.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.machine_classification_criteria_level3 import MachineClassificationCriteriaLevel3 from sailpoint.v2025.models.machine_classification_criteria_operation import MachineClassificationCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class MachineClassificationCriteriaLevel2(BaseModel): """ MachineClassificationCriteriaLevel2 """ # noqa: E501 - operation: Optional[MachineClassificationCriteriaOperation] = None + operation: Optional[Union[MachineClassificationCriteriaOperation, str]] = None case_sensitive: Optional[StrictBool] = Field(default=False, description="Indicates whether case matters when evaluating the criteria", alias="caseSensitive") data_type: Optional[StrictStr] = Field(default=None, description="The data type of the attribute being evaluated", alias="dataType") attribute: Optional[StrictStr] = Field(default=None, description="The attribute to evaluate in the classification criteria") diff --git a/sailpoint/v2025/models/machine_classification_criteria_level3.py b/sailpoint/v2025/models/machine_classification_criteria_level3.py index 02bdde253..38a4be5b8 100644 --- a/sailpoint/v2025/models/machine_classification_criteria_level3.py +++ b/sailpoint/v2025/models/machine_classification_criteria_level3.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.machine_classification_criteria_operation import MachineClassificationCriteriaOperation from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class MachineClassificationCriteriaLevel3(BaseModel): """ MachineClassificationCriteriaLevel3 """ # noqa: E501 - operation: Optional[MachineClassificationCriteriaOperation] = None + operation: Optional[Union[MachineClassificationCriteriaOperation, str]] = None case_sensitive: Optional[StrictBool] = Field(default=False, description="Indicates whether or not case matters when evaluating the criteria", alias="caseSensitive") data_type: Optional[StrictStr] = Field(default=None, description="The data type of the attribute being evaluated", alias="dataType") attribute: Optional[StrictStr] = Field(default=None, description="The attribute to evaluate in the classification criteria") diff --git a/sailpoint/v2025/models/machine_identity_aggregation_response_target.py b/sailpoint/v2025/models/machine_identity_aggregation_response_target.py index fb92eff1f..02fedb729 100644 --- a/sailpoint/v2025/models/machine_identity_aggregation_response_target.py +++ b/sailpoint/v2025/models/machine_identity_aggregation_response_target.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class MachineIdentityAggregationResponseTarget(BaseModel): """ The target(source) of the aggregation """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2025/models/machine_identity_user_entitlement_response_entitlement.py b/sailpoint/v2025/models/machine_identity_user_entitlement_response_entitlement.py index 9577d9a3f..d346c7d46 100644 --- a/sailpoint/v2025/models/machine_identity_user_entitlement_response_entitlement.py +++ b/sailpoint/v2025/models/machine_identity_user_entitlement_response_entitlement.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class MachineIdentityUserEntitlementResponseEntitlement(BaseModel): """ The user entitlement """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2025/models/machine_identity_user_entitlement_response_source.py b/sailpoint/v2025/models/machine_identity_user_entitlement_response_source.py index f7b672c79..67e8c0422 100644 --- a/sailpoint/v2025/models/machine_identity_user_entitlement_response_source.py +++ b/sailpoint/v2025/models/machine_identity_user_entitlement_response_source.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class MachineIdentityUserEntitlementResponseSource(BaseModel): """ The source of the user entitlement """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2025/models/managed_client_status.py b/sailpoint/v2025/models/managed_client_status.py index 116e56741..39f30b054 100644 --- a/sailpoint/v2025/models/managed_client_status.py +++ b/sailpoint/v2025/models/managed_client_status.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.managed_client_status_code import ManagedClientStatusCode from sailpoint.v2025.models.managed_client_type import ManagedClientType from typing import Optional, Set @@ -32,7 +32,7 @@ class ManagedClientStatus(BaseModel): """ # noqa: E501 body: Dict[str, Any] = Field(description="ManagedClientStatus body information") status: ManagedClientStatusCode - type: Optional[ManagedClientType] + type: Optional[Union[ManagedClientType, str]] timestamp: datetime = Field(description="timestamp on the Client Status update") __properties: ClassVar[List[str]] = ["body", "status", "type", "timestamp"] diff --git a/sailpoint/v2025/models/managed_cluster.py b/sailpoint/v2025/models/managed_cluster.py index 43af812d5..e41f7d3a5 100644 --- a/sailpoint/v2025/models/managed_cluster.py +++ b/sailpoint/v2025/models/managed_cluster.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.client_log_configuration import ClientLogConfiguration from sailpoint.v2025.models.managed_client_type import ManagedClientType from sailpoint.v2025.models.managed_cluster_attributes import ManagedClusterAttributes @@ -40,13 +40,13 @@ class ManagedCluster(BaseModel): name: Optional[StrictStr] = Field(default=None, description="ManagedCluster name") pod: Optional[StrictStr] = Field(default=None, description="ManagedCluster pod") org: Optional[StrictStr] = Field(default=None, description="ManagedCluster org") - type: Optional[ManagedClusterTypes] = None + type: Optional[Union[ManagedClusterTypes, str]] = None configuration: Optional[Dict[str, Optional[StrictStr]]] = Field(default=None, description="ManagedProcess configuration map") key_pair: Optional[ManagedClusterKeyPair] = Field(default=None, alias="keyPair") attributes: Optional[ManagedClusterAttributes] = None description: Optional[StrictStr] = Field(default='q', description="ManagedCluster description") redis: Optional[ManagedClusterRedis] = None - client_type: Optional[ManagedClientType] = Field(alias="clientType") + client_type: Optional[Union[ManagedClientType, str]] = Field(alias="clientType") ccg_version: StrictStr = Field(description="CCG version used by the ManagedCluster", alias="ccgVersion") pinned_config: Optional[StrictBool] = Field(default=False, description="boolean flag indicating whether or not the cluster configuration is pinned", alias="pinnedConfig") log_configuration: Optional[ClientLogConfiguration] = Field(default=None, alias="logConfiguration") diff --git a/sailpoint/v2025/models/managed_cluster_request.py b/sailpoint/v2025/models/managed_cluster_request.py index b6642dc0d..5bb1c9022 100644 --- a/sailpoint/v2025/models/managed_cluster_request.py +++ b/sailpoint/v2025/models/managed_cluster_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.managed_cluster_types import ManagedClusterTypes from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class ManagedClusterRequest(BaseModel): Request to create Managed Cluster """ # noqa: E501 name: StrictStr = Field(description="ManagedCluster name") - type: Optional[ManagedClusterTypes] = None + type: Optional[Union[ManagedClusterTypes, str]] = None configuration: Optional[Dict[str, StrictStr]] = Field(default=None, description="ManagedProcess configuration map") description: Optional[StrictStr] = Field(default=None, description="ManagedCluster description") __properties: ClassVar[List[str]] = ["name", "type", "configuration", "description"] diff --git a/sailpoint/v2025/models/manual_work_item_details.py b/sailpoint/v2025/models/manual_work_item_details.py index cfe65ab2d..3f6fb09b7 100644 --- a/sailpoint/v2025/models/manual_work_item_details.py +++ b/sailpoint/v2025/models/manual_work_item_details.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.approval_forward_history import ApprovalForwardHistory from sailpoint.v2025.models.manual_work_item_details_current_owner import ManualWorkItemDetailsCurrentOwner from sailpoint.v2025.models.manual_work_item_details_original_owner import ManualWorkItemDetailsOriginalOwner @@ -36,7 +36,7 @@ class ManualWorkItemDetails(BaseModel): original_owner: Optional[ManualWorkItemDetailsOriginalOwner] = Field(default=None, alias="originalOwner") current_owner: Optional[ManualWorkItemDetailsCurrentOwner] = Field(default=None, alias="currentOwner") modified: Optional[datetime] = Field(default=None, description="Time at which item was modified.") - status: Optional[ManualWorkItemState] = None + status: Optional[Union[ManualWorkItemState, str]] = None forward_history: Optional[List[ApprovalForwardHistory]] = Field(default=None, description="The history of approval forward action.", alias="forwardHistory") __properties: ClassVar[List[str]] = ["forwarded", "originalOwner", "currentOwner", "modified", "status", "forwardHistory"] diff --git a/sailpoint/v2025/models/metric_aggregation.py b/sailpoint/v2025/models/metric_aggregation.py index 704504e25..11ab654b9 100644 --- a/sailpoint/v2025/models/metric_aggregation.py +++ b/sailpoint/v2025/models/metric_aggregation.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.metric_type import MetricType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class MetricAggregation(BaseModel): The calculation done on the results of the query """ # noqa: E501 name: StrictStr = Field(description="The name of the metric aggregate to be included in the result. If the metric aggregation is omitted, the resulting aggregation will be a count of the documents in the search results.") - type: Optional[MetricType] = MetricType.UNIQUE_COUNT + type: Optional[Union[MetricType, str]] = MetricType.UNIQUE_COUNT var_field: StrictStr = Field(description="The field the calculation is performed on. Prefix the field name with '@' to reference a nested object. ", alias="field") __properties: ClassVar[List[str]] = ["name", "type", "field"] diff --git a/sailpoint/v2025/models/non_employee_approval_item.py b/sailpoint/v2025/models/non_employee_approval_item.py index acbf28709..f8f0abc13 100644 --- a/sailpoint/v2025/models/non_employee_approval_item.py +++ b/sailpoint/v2025/models/non_employee_approval_item.py @@ -34,7 +34,7 @@ class NonEmployeeApprovalItem(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Non-Employee approval item id") approver: Optional[NonEmployeeIdentityReferenceWithId] = None account_name: Optional[StrictStr] = Field(default=None, description="Requested identity account name", alias="accountName") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") approval_order: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Approval order", alias="approvalOrder") comment: Optional[StrictStr] = Field(default=None, description="comment of approver") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") diff --git a/sailpoint/v2025/models/non_employee_approval_item_base.py b/sailpoint/v2025/models/non_employee_approval_item_base.py index 7e3ca9748..7faf0b68d 100644 --- a/sailpoint/v2025/models/non_employee_approval_item_base.py +++ b/sailpoint/v2025/models/non_employee_approval_item_base.py @@ -33,7 +33,7 @@ class NonEmployeeApprovalItemBase(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Non-Employee approval item id") approver: Optional[NonEmployeeIdentityReferenceWithId] = None account_name: Optional[StrictStr] = Field(default=None, description="Requested identity account name", alias="accountName") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") approval_order: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Approval order", alias="approvalOrder") comment: Optional[StrictStr] = Field(default=None, description="comment of approver") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") diff --git a/sailpoint/v2025/models/non_employee_approval_item_detail.py b/sailpoint/v2025/models/non_employee_approval_item_detail.py index 8958b709f..aeccac46c 100644 --- a/sailpoint/v2025/models/non_employee_approval_item_detail.py +++ b/sailpoint/v2025/models/non_employee_approval_item_detail.py @@ -34,7 +34,7 @@ class NonEmployeeApprovalItemDetail(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Non-Employee approval item id") approver: Optional[NonEmployeeIdentityReferenceWithId] = None account_name: Optional[StrictStr] = Field(default=None, description="Requested identity account name", alias="accountName") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") approval_order: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Approval order", alias="approvalOrder") comment: Optional[StrictStr] = Field(default=None, description="comment of approver") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") diff --git a/sailpoint/v2025/models/non_employee_identity_reference_with_id.py b/sailpoint/v2025/models/non_employee_identity_reference_with_id.py index ac0fe5fe2..b103068f1 100644 --- a/sailpoint/v2025/models/non_employee_identity_reference_with_id.py +++ b/sailpoint/v2025/models/non_employee_identity_reference_with_id.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.non_employee_identity_dto_type import NonEmployeeIdentityDtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class NonEmployeeIdentityReferenceWithId(BaseModel): """ NonEmployeeIdentityReferenceWithId """ # noqa: E501 - type: Optional[NonEmployeeIdentityDtoType] = None + type: Optional[Union[NonEmployeeIdentityDtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Identity id") __properties: ClassVar[List[str]] = ["type", "id"] diff --git a/sailpoint/v2025/models/non_employee_request.py b/sailpoint/v2025/models/non_employee_request.py index 43461f48a..26e1fe7e8 100644 --- a/sailpoint/v2025/models/non_employee_request.py +++ b/sailpoint/v2025/models/non_employee_request.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.approval_status import ApprovalStatus from sailpoint.v2025.models.non_employee_approval_item_base import NonEmployeeApprovalItemBase from sailpoint.v2025.models.non_employee_source_lite import NonEmployeeSourceLite @@ -44,7 +44,7 @@ class NonEmployeeRequest(BaseModel): non_employee_source: Optional[NonEmployeeSourceLite] = Field(default=None, alias="nonEmployeeSource") data: Optional[Dict[str, StrictStr]] = Field(default=None, description="Additional attributes for a non-employee. Up to 10 custom attributes can be added.") approval_items: Optional[List[NonEmployeeApprovalItemBase]] = Field(default=None, description="List of approval item for the request", alias="approvalItems") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") comment: Optional[StrictStr] = Field(default=None, description="Comment of requester") completion_date: Optional[datetime] = Field(default=None, description="When the request was completely approved.", alias="completionDate") start_date: Optional[datetime] = Field(default=None, description="Non-Employee employment start date.", alias="startDate") diff --git a/sailpoint/v2025/models/non_employee_request_without_approval_item.py b/sailpoint/v2025/models/non_employee_request_without_approval_item.py index 2b58d7fc2..529658587 100644 --- a/sailpoint/v2025/models/non_employee_request_without_approval_item.py +++ b/sailpoint/v2025/models/non_employee_request_without_approval_item.py @@ -20,7 +20,7 @@ from datetime import date, datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.approval_status import ApprovalStatus from sailpoint.v2025.models.non_employee_identity_reference_with_id import NonEmployeeIdentityReferenceWithId from sailpoint.v2025.models.non_employee_source_lite_with_schema_attributes import NonEmployeeSourceLiteWithSchemaAttributes @@ -41,7 +41,7 @@ class NonEmployeeRequestWithoutApprovalItem(BaseModel): manager: Optional[StrictStr] = Field(default=None, description="The account ID of a valid identity to serve as this non-employee's manager.") non_employee_source: Optional[NonEmployeeSourceLiteWithSchemaAttributes] = Field(default=None, alias="nonEmployeeSource") data: Optional[Dict[str, StrictStr]] = Field(default=None, description="Additional attributes for a non-employee. Up to 10 custom attributes can be added.") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") comment: Optional[StrictStr] = Field(default=None, description="Comment of requester") completion_date: Optional[datetime] = Field(default=None, description="When the request was completely approved.", alias="completionDate") start_date: Optional[date] = Field(default=None, description="Non-Employee employment start date.", alias="startDate") diff --git a/sailpoint/v2025/models/pending_approval.py b/sailpoint/v2025/models/pending_approval.py index 2218cb8c6..c2248c2ca 100644 --- a/sailpoint/v2025/models/pending_approval.py +++ b/sailpoint/v2025/models/pending_approval.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.access_item_requested_for import AccessItemRequestedFor from sailpoint.v2025.models.access_item_requester import AccessItemRequester from sailpoint.v2025.models.access_request_type import AccessRequestType @@ -45,7 +45,7 @@ class PendingApproval(BaseModel): created: Optional[datetime] = Field(default=None, description="When the approval was created.") modified: Optional[datetime] = Field(default=None, description="When the approval was modified last time.") request_created: Optional[datetime] = Field(default=None, description="When the access-request was created.", alias="requestCreated") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requester: Optional[AccessItemRequester] = None requested_for: Optional[AccessItemRequestedFor] = Field(default=None, alias="requestedFor") owner: Optional[PendingApprovalOwner] = None @@ -54,7 +54,7 @@ class PendingApproval(BaseModel): previous_reviewers_comments: Optional[List[CommentDto]] = Field(default=None, description="The history of the previous reviewers comments.", alias="previousReviewersComments") forward_history: Optional[List[ApprovalForwardHistory]] = Field(default=None, description="The history of approval forward action.", alias="forwardHistory") comment_required_when_rejected: Optional[StrictBool] = Field(default=False, description="When true the rejector has to provide comments when rejecting", alias="commentRequiredWhenRejected") - action_in_process: Optional[PendingApprovalAction] = Field(default=None, alias="actionInProcess") + action_in_process: Optional[Union[PendingApprovalAction, str]] = Field(default=None, alias="actionInProcess") remove_date: Optional[datetime] = Field(default=None, description="The date the role or access profile or entitlement is no longer assigned to the specified identity.", alias="removeDate") remove_date_update_requested: Optional[StrictBool] = Field(default=False, description="If true, then the request is to change the remove date or sunset date.", alias="removeDateUpdateRequested") current_remove_date: Optional[datetime] = Field(default=None, description="The remove date or sunset date that was assigned at the time of the request.", alias="currentRemoveDate") diff --git a/sailpoint/v2025/models/preferences_dto.py b/sailpoint/v2025/models/preferences_dto.py index f4c49c410..a88f70840 100644 --- a/sailpoint/v2025/models/preferences_dto.py +++ b/sailpoint/v2025/models/preferences_dto.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.medium import Medium from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class PreferencesDto(BaseModel): Maps an Identity's attribute key to a list of preferred notification mediums. """ # noqa: E501 key: Optional[StrictStr] = Field(default=None, description="The template notification key.") - mediums: Optional[List[Medium]] = Field(default=None, description="List of preferred notification mediums, i.e., the mediums (or method) for which notifications are enabled. More mediums may be added in the future.") + mediums: Optional[List[Union[Medium, str]]] = Field(default=None, description="List of preferred notification mediums, i.e., the mediums (or method) for which notifications are enabled. More mediums may be added in the future.") modified: Optional[datetime] = Field(default=None, description="Modified date of preference") __properties: ClassVar[List[str]] = ["key", "mediums", "modified"] diff --git a/sailpoint/v2025/models/provisioning_criteria_level1.py b/sailpoint/v2025/models/provisioning_criteria_level1.py index 26a4c2666..c36d53a46 100644 --- a/sailpoint/v2025/models/provisioning_criteria_level1.py +++ b/sailpoint/v2025/models/provisioning_criteria_level1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.provisioning_criteria_level2 import ProvisioningCriteriaLevel2 from sailpoint.v2025.models.provisioning_criteria_operation import ProvisioningCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class ProvisioningCriteriaLevel1(BaseModel): """ Defines matching criteria for an account to be provisioned with a specific access profile. """ # noqa: E501 - operation: Optional[ProvisioningCriteriaOperation] = None + operation: Optional[Union[ProvisioningCriteriaOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error.") value: Optional[StrictStr] = Field(default=None, description="String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type.") children: Optional[List[ProvisioningCriteriaLevel2]] = Field(default=None, description="Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes.") diff --git a/sailpoint/v2025/models/provisioning_criteria_level2.py b/sailpoint/v2025/models/provisioning_criteria_level2.py index 89e55cd6b..a7d4ef338 100644 --- a/sailpoint/v2025/models/provisioning_criteria_level2.py +++ b/sailpoint/v2025/models/provisioning_criteria_level2.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.provisioning_criteria_level3 import ProvisioningCriteriaLevel3 from sailpoint.v2025.models.provisioning_criteria_operation import ProvisioningCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class ProvisioningCriteriaLevel2(BaseModel): """ Defines matching criteria for an account to be provisioned with a specific access profile. """ # noqa: E501 - operation: Optional[ProvisioningCriteriaOperation] = None + operation: Optional[Union[ProvisioningCriteriaOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error.") value: Optional[StrictStr] = Field(default=None, description="String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type.") children: Optional[List[ProvisioningCriteriaLevel3]] = Field(default=None, description="Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes.") diff --git a/sailpoint/v2025/models/provisioning_criteria_level3.py b/sailpoint/v2025/models/provisioning_criteria_level3.py index 042dd85de..e5f5bd827 100644 --- a/sailpoint/v2025/models/provisioning_criteria_level3.py +++ b/sailpoint/v2025/models/provisioning_criteria_level3.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.provisioning_criteria_operation import ProvisioningCriteriaOperation from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class ProvisioningCriteriaLevel3(BaseModel): """ Defines matching criteria for an account to be provisioned with a specific access profile. """ # noqa: E501 - operation: Optional[ProvisioningCriteriaOperation] = None + operation: Optional[Union[ProvisioningCriteriaOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error.") value: Optional[StrictStr] = Field(default=None, description="String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type.") children: Optional[StrictStr] = Field(default=None, description="Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes.") diff --git a/sailpoint/v2025/models/provisioning_policy.py b/sailpoint/v2025/models/provisioning_policy.py index d68a41798..f6794b440 100644 --- a/sailpoint/v2025/models/provisioning_policy.py +++ b/sailpoint/v2025/models/provisioning_policy.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.field_details_dto import FieldDetailsDto from sailpoint.v2025.models.usage_type import UsageType from typing import Optional, Set @@ -31,7 +31,7 @@ class ProvisioningPolicy(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(description="the provisioning policy name") description: Optional[StrictStr] = Field(default=None, description="the description of the provisioning policy") - usage_type: Optional[UsageType] = Field(default=None, alias="usageType") + usage_type: Optional[Union[UsageType, str]] = Field(default=None, alias="usageType") fields: Optional[List[FieldDetailsDto]] = None __properties: ClassVar[List[str]] = ["name", "description", "usageType", "fields"] diff --git a/sailpoint/v2025/models/provisioning_policy_dto.py b/sailpoint/v2025/models/provisioning_policy_dto.py index a04d0d306..5bdf585f5 100644 --- a/sailpoint/v2025/models/provisioning_policy_dto.py +++ b/sailpoint/v2025/models/provisioning_policy_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.field_details_dto import FieldDetailsDto from sailpoint.v2025.models.usage_type import UsageType from typing import Optional, Set @@ -31,7 +31,7 @@ class ProvisioningPolicyDto(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(description="the provisioning policy name") description: Optional[StrictStr] = Field(default=None, description="the description of the provisioning policy") - usage_type: Optional[UsageType] = Field(default=None, alias="usageType") + usage_type: Optional[Union[UsageType, str]] = Field(default=None, alias="usageType") fields: Optional[List[FieldDetailsDto]] = None __properties: ClassVar[List[str]] = ["name", "description", "usageType", "fields"] diff --git a/sailpoint/v2025/models/ref.py b/sailpoint/v2025/models/ref.py index 2ce3e7300..391a0c2ca 100644 --- a/sailpoint/v2025/models/ref.py +++ b/sailpoint/v2025/models/ref.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class Ref(BaseModel): """ Ref """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") __properties: ClassVar[List[str]] = ["type", "id"] diff --git a/sailpoint/v2025/models/requestable_object.py b/sailpoint/v2025/models/requestable_object.py index b3c3aec7a..2dc264dd7 100644 --- a/sailpoint/v2025/models/requestable_object.py +++ b/sailpoint/v2025/models/requestable_object.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.identity_reference_with_name_and_email import IdentityReferenceWithNameAndEmail from sailpoint.v2025.models.requestable_object_type import RequestableObjectType from typing import Optional, Set @@ -35,7 +35,7 @@ class RequestableObject(BaseModel): created: Optional[datetime] = Field(default=None, description="The time when the requestable object was created") modified: Optional[datetime] = Field(default=None, description="The time when the requestable object was last modified") description: Optional[StrictStr] = Field(default=None, description="Description of the requestable object.") - type: Optional[RequestableObjectType] = None + type: Optional[Union[RequestableObjectType, str]] = None request_status: Optional[Any] = Field(default=None, alias="requestStatus") identity_request_id: Optional[StrictStr] = Field(default=None, description="If *requestStatus* is *PENDING*, indicates the id of the associated account activity.", alias="identityRequestId") owner_ref: Optional[IdentityReferenceWithNameAndEmail] = Field(default=None, alias="ownerRef") diff --git a/sailpoint/v2025/models/requested_account_ref.py b/sailpoint/v2025/models/requested_account_ref.py index 3265ab446..7bf5d2fa6 100644 --- a/sailpoint/v2025/models/requested_account_ref.py +++ b/sailpoint/v2025/models/requested_account_ref.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class RequestedAccountRef(BaseModel): RequestedAccountRef """ # noqa: E501 name: Optional[StrictStr] = Field(default=None, description="Display name of the account for the user") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None account_uuid: Optional[StrictStr] = Field(default=None, description="The uuid for the account", alias="accountUuid") account_id: Optional[StrictStr] = Field(default=None, description="The native identity for the account", alias="accountId") source_name: Optional[StrictStr] = Field(default=None, description="Display name of the source for the account", alias="sourceName") diff --git a/sailpoint/v2025/models/requested_item_status.py b/sailpoint/v2025/models/requested_item_status.py index be5cc58e7..f093773c7 100644 --- a/sailpoint/v2025/models/requested_item_status.py +++ b/sailpoint/v2025/models/requested_item_status.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.access_item_requester import AccessItemRequester from sailpoint.v2025.models.access_request_phases import AccessRequestPhases from sailpoint.v2025.models.access_request_type import AccessRequestType @@ -47,12 +47,12 @@ class RequestedItemStatus(BaseModel): type: Optional[StrictStr] = Field(default=None, description="Type of requested object.") cancelled_request_details: Optional[RequestedItemStatusCancelledRequestDetails] = Field(default=None, alias="cancelledRequestDetails") error_messages: Optional[List[List[ErrorMessageDto]]] = Field(default=None, description="List of list of localized error messages, if any, encountered during the approval/provisioning process.", alias="errorMessages") - state: Optional[RequestedItemStatusRequestState] = None + state: Optional[Union[RequestedItemStatusRequestState, str]] = None approval_details: Optional[List[ApprovalStatusDto]] = Field(default=None, description="Approval details for each item.", alias="approvalDetails") approval_ids: Optional[List[StrictStr]] = Field(default=None, description="List of approval IDs associated with the request.", alias="approvalIds") manual_work_item_details: Optional[List[ManualWorkItemDetails]] = Field(default=None, description="Manual work items created for provisioning the item.", alias="manualWorkItemDetails") account_activity_item_id: Optional[StrictStr] = Field(default=None, description="Id of associated account activity item.", alias="accountActivityItemId") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") created: Optional[datetime] = Field(default=None, description="When the request was created.") requester: Optional[AccessItemRequester] = None diff --git a/sailpoint/v2025/models/resource_model.py b/sailpoint/v2025/models/resource_model.py index c1a88a6a0..efcbe549a 100644 --- a/sailpoint/v2025/models/resource_model.py +++ b/sailpoint/v2025/models/resource_model.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.business_service_type import BusinessServiceType from typing import Optional, Set from typing_extensions import Self @@ -32,7 +32,7 @@ class ResourceModel(BaseModel): name: Optional[StrictStr] = Field(default=None, description="The display name or label for the resource.") full_path: Optional[StrictStr] = Field(default=None, description="The full path to the resource within the system or application.", alias="fullPath") application_id: Optional[StrictInt] = Field(default=None, description="The unique identifier of the application to which this resource belongs.", alias="applicationId") - type: Optional[BusinessServiceType] = None + type: Optional[Union[BusinessServiceType, str]] = None owners: Optional[List[StrictStr]] = Field(default=None, description="A list of UUIDs representing the owners of the resource.") __properties: ClassVar[List[str]] = ["id", "name", "fullPath", "applicationId", "type", "owners"] diff --git a/sailpoint/v2025/models/reviewable_entitlement_account.py b/sailpoint/v2025/models/reviewable_entitlement_account.py index 53db9cbe5..ce9608748 100644 --- a/sailpoint/v2025/models/reviewable_entitlement_account.py +++ b/sailpoint/v2025/models/reviewable_entitlement_account.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.activity_insights import ActivityInsights from sailpoint.v2025.models.dto_type import DtoType from sailpoint.v2025.models.reviewable_entitlement_account_owner import ReviewableEntitlementAccountOwner @@ -34,7 +34,7 @@ class ReviewableEntitlementAccount(BaseModel): native_identity: Optional[StrictStr] = Field(default=None, description="The native identity for this account", alias="nativeIdentity") disabled: Optional[StrictBool] = Field(default=False, description="Indicates whether this account is currently disabled") locked: Optional[StrictBool] = Field(default=False, description="Indicates whether this account is currently locked") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="The id associated with the account") name: Optional[StrictStr] = Field(default=None, description="The account name") created: Optional[datetime] = Field(default=None, description="When the account was created") diff --git a/sailpoint/v2025/models/role_criteria_level1.py b/sailpoint/v2025/models/role_criteria_level1.py index 0805a7c17..1dd5a98b5 100644 --- a/sailpoint/v2025/models/role_criteria_level1.py +++ b/sailpoint/v2025/models/role_criteria_level1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.role_criteria_key import RoleCriteriaKey from sailpoint.v2025.models.role_criteria_level2 import RoleCriteriaLevel2 from sailpoint.v2025.models.role_criteria_operation import RoleCriteriaOperation @@ -30,7 +30,7 @@ class RoleCriteriaLevel1(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[RoleCriteriaOperation] = None + operation: Optional[Union[RoleCriteriaOperation, str]] = None key: Optional[RoleCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute, Account attribute, or Entitlement specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, NOT_EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH, this field is required. Otherwise, specifying it is an error.", alias="stringValue") children: Optional[List[Optional[RoleCriteriaLevel2]]] = Field(default=None, description="Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa.") diff --git a/sailpoint/v2025/models/role_criteria_level2.py b/sailpoint/v2025/models/role_criteria_level2.py index f95cdb9b7..6a787a2d7 100644 --- a/sailpoint/v2025/models/role_criteria_level2.py +++ b/sailpoint/v2025/models/role_criteria_level2.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.role_criteria_key import RoleCriteriaKey from sailpoint.v2025.models.role_criteria_level3 import RoleCriteriaLevel3 from sailpoint.v2025.models.role_criteria_operation import RoleCriteriaOperation @@ -30,7 +30,7 @@ class RoleCriteriaLevel2(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[RoleCriteriaOperation] = None + operation: Optional[Union[RoleCriteriaOperation, str]] = None key: Optional[RoleCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute, Account attribute, or Entitlement specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, NOT_EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH, this field is required. Otherwise, specifying it is an error.", alias="stringValue") children: Optional[List[RoleCriteriaLevel3]] = Field(default=None, description="Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa.") diff --git a/sailpoint/v2025/models/role_criteria_level3.py b/sailpoint/v2025/models/role_criteria_level3.py index bd2448197..2659611ae 100644 --- a/sailpoint/v2025/models/role_criteria_level3.py +++ b/sailpoint/v2025/models/role_criteria_level3.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.role_criteria_key import RoleCriteriaKey from sailpoint.v2025.models.role_criteria_operation import RoleCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class RoleCriteriaLevel3(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[RoleCriteriaOperation] = None + operation: Optional[Union[RoleCriteriaOperation, str]] = None key: Optional[RoleCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute, Account attribute, or Entitlement specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, NOT_EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH, this field is required. Otherwise, specifying it is an error.", alias="stringValue") __properties: ClassVar[List[str]] = ["operation", "key", "stringValue"] diff --git a/sailpoint/v2025/models/role_identity.py b/sailpoint/v2025/models/role_identity.py index 03dac17c4..88ec8b43b 100644 --- a/sailpoint/v2025/models/role_identity.py +++ b/sailpoint/v2025/models/role_identity.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.role_assignment_source_type import RoleAssignmentSourceType from typing import Optional, Set from typing_extensions import Self @@ -32,7 +32,7 @@ class RoleIdentity(BaseModel): alias_name: Optional[StrictStr] = Field(default=None, description="The alias / username of the Identity", alias="aliasName") name: Optional[StrictStr] = Field(default=None, description="The human-readable display name of the Identity") email: Optional[StrictStr] = Field(default=None, description="Email address of the Identity") - role_assignment_source: Optional[RoleAssignmentSourceType] = Field(default=None, alias="roleAssignmentSource") + role_assignment_source: Optional[Union[RoleAssignmentSourceType, str]] = Field(default=None, alias="roleAssignmentSource") __properties: ClassVar[List[str]] = ["id", "aliasName", "name", "email", "roleAssignmentSource"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/role_membership_identity.py b/sailpoint/v2025/models/role_membership_identity.py index e16a338f8..7ddc08ffc 100644 --- a/sailpoint/v2025/models/role_membership_identity.py +++ b/sailpoint/v2025/models/role_membership_identity.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class RoleMembershipIdentity(BaseModel): """ A reference to an Identity in an IDENTITY_LIST role membership criteria. """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Identity id") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the Identity.") alias_name: Optional[StrictStr] = Field(default=None, description="User name of the Identity", alias="aliasName") diff --git a/sailpoint/v2025/models/role_membership_selector.py b/sailpoint/v2025/models/role_membership_selector.py index eab631664..422241d93 100644 --- a/sailpoint/v2025/models/role_membership_selector.py +++ b/sailpoint/v2025/models/role_membership_selector.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.role_criteria_level1 import RoleCriteriaLevel1 from sailpoint.v2025.models.role_membership_identity import RoleMembershipIdentity from sailpoint.v2025.models.role_membership_selector_type import RoleMembershipSelectorType @@ -30,7 +30,7 @@ class RoleMembershipSelector(BaseModel): """ When present, specifies that the Role is to be granted to Identities which either satisfy specific criteria or which are members of a given list of Identities. """ # noqa: E501 - type: Optional[RoleMembershipSelectorType] = None + type: Optional[Union[RoleMembershipSelectorType, str]] = None criteria: Optional[RoleCriteriaLevel1] = None identities: Optional[List[RoleMembershipIdentity]] = Field(default=None, description="Defines role membership as being exclusive to the specified Identities, when type is IDENTITY_LIST.") __properties: ClassVar[List[str]] = ["type", "criteria", "identities"] diff --git a/sailpoint/v2025/models/role_mining_potential_role.py b/sailpoint/v2025/models/role_mining_potential_role.py index 47a4947b2..d8821bf79 100644 --- a/sailpoint/v2025/models/role_mining_potential_role.py +++ b/sailpoint/v2025/models/role_mining_potential_role.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.role_mining_identity_distribution import RoleMiningIdentityDistribution from sailpoint.v2025.models.role_mining_role_type import RoleMiningRoleType from sailpoint.v2025.models.role_mining_session_parameters_dto import RoleMiningSessionParametersDto @@ -47,7 +47,7 @@ class RoleMiningPotentialRole(BaseModel): role_id: Optional[StrictStr] = Field(default=None, description="The roleId of a potential role.", alias="roleId") saved: Optional[StrictBool] = Field(default=None, description="The potential role's saved status.") session: Optional[RoleMiningSessionParametersDto] = None - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Id of the potential role") created_date: Optional[datetime] = Field(default=None, description="The date-time when this potential role was created.", alias="createdDate") modified_date: Optional[datetime] = Field(default=None, description="The date-time when this potential role was modified.", alias="modifiedDate") diff --git a/sailpoint/v2025/models/role_mining_potential_role_export_response.py b/sailpoint/v2025/models/role_mining_potential_role_export_response.py index e71fe34fb..5887d4a8b 100644 --- a/sailpoint/v2025/models/role_mining_potential_role_export_response.py +++ b/sailpoint/v2025/models/role_mining_potential_role_export_response.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.role_mining_potential_role_export_state import RoleMiningPotentialRoleExportState from typing import Optional, Set from typing_extensions import Self @@ -31,7 +31,7 @@ class RoleMiningPotentialRoleExportResponse(BaseModel): min_entitlement_popularity: Optional[StrictInt] = Field(default=None, description="The minimum popularity among identities in the role which an entitlement must have to be included in the report", alias="minEntitlementPopularity") include_common_access: Optional[StrictBool] = Field(default=None, description="If false, do not include entitlements that are highly popular among the entire orginization", alias="includeCommonAccess") export_id: Optional[StrictStr] = Field(default=None, description="ID used to reference this export", alias="exportId") - status: Optional[RoleMiningPotentialRoleExportState] = None + status: Optional[Union[RoleMiningPotentialRoleExportState, str]] = None __properties: ClassVar[List[str]] = ["minEntitlementPopularity", "includeCommonAccess", "exportId", "status"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/role_mining_potential_role_summary.py b/sailpoint/v2025/models/role_mining_potential_role_summary.py index 3849fa38d..44e507772 100644 --- a/sailpoint/v2025/models/role_mining_potential_role_summary.py +++ b/sailpoint/v2025/models/role_mining_potential_role_summary.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.role_mining_potential_role_provision_state import RoleMiningPotentialRoleProvisionState from sailpoint.v2025.models.role_mining_potential_role_ref import RoleMiningPotentialRoleRef from sailpoint.v2025.models.role_mining_potential_role_summary_created_by import RoleMiningPotentialRoleSummaryCreatedBy @@ -39,12 +39,12 @@ class RoleMiningPotentialRoleSummary(BaseModel): identity_count: Optional[StrictInt] = Field(default=None, description="The number of identities in a potential role.", alias="identityCount") entitlement_count: Optional[StrictInt] = Field(default=None, description="The number of entitlements in a potential role.", alias="entitlementCount") identity_group_status: Optional[StrictStr] = Field(default=None, description="The status for this identity group which can be \"REQUESTED\" or \"OBTAINED\"", alias="identityGroupStatus") - provision_state: Optional[RoleMiningPotentialRoleProvisionState] = Field(default=None, alias="provisionState") + provision_state: Optional[Union[RoleMiningPotentialRoleProvisionState, str]] = Field(default=None, alias="provisionState") role_id: Optional[StrictStr] = Field(default=None, description="ID of the provisioned role in IIQ or IDN. Null if this potential role has not been provisioned.", alias="roleId") density: Optional[StrictInt] = Field(default=None, description="The density metric (0-100) of this potential role. Higher density values indicate higher similarity amongst the identities.") freshness: Optional[StrictInt] = Field(default=None, description="The freshness metric (0-100) of this potential role. Higher freshness values indicate this potential role is more distinctive compared to existing roles.") quality: Optional[StrictInt] = Field(default=None, description="The quality metric (0-100) of this potential role. Higher quality values indicate this potential role has high density and freshness.") - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None created_by: Optional[RoleMiningPotentialRoleSummaryCreatedBy] = Field(default=None, alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="The date-time when this potential role was created.", alias="createdDate") saved: Optional[StrictBool] = Field(default=False, description="The potential role's saved status") diff --git a/sailpoint/v2025/models/role_mining_session_draft_role_dto.py b/sailpoint/v2025/models/role_mining_session_draft_role_dto.py index be8a5e3d8..ddfb5b24f 100644 --- a/sailpoint/v2025/models/role_mining_session_draft_role_dto.py +++ b/sailpoint/v2025/models/role_mining_session_draft_role_dto.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.role_mining_role_type import RoleMiningRoleType from typing import Optional, Set from typing_extensions import Self @@ -35,7 +35,7 @@ class RoleMiningSessionDraftRoleDto(BaseModel): entitlement_ids: Optional[List[StrictStr]] = Field(default=None, description="The list of entitlement ids for this role mining session.", alias="entitlementIds") excluded_entitlements: Optional[List[StrictStr]] = Field(default=None, description="The list of excluded entitlement ids.", alias="excludedEntitlements") modified: Optional[datetime] = Field(default=None, description="Last modified date") - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Id of the potential draft role") created_date: Optional[datetime] = Field(default=None, description="The date-time when this potential draft role was created.", alias="createdDate") modified_date: Optional[datetime] = Field(default=None, description="The date-time when this potential draft role was modified.", alias="modifiedDate") diff --git a/sailpoint/v2025/models/role_mining_session_dto.py b/sailpoint/v2025/models/role_mining_session_dto.py index 9fd181872..1cbaa2246 100644 --- a/sailpoint/v2025/models/role_mining_session_dto.py +++ b/sailpoint/v2025/models/role_mining_session_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.role_mining_role_type import RoleMiningRoleType from sailpoint.v2025.models.role_mining_session_scope import RoleMiningSessionScope from typing import Optional, Set @@ -35,7 +35,7 @@ class RoleMiningSessionDto(BaseModel): min_num_identities_in_potential_role: Optional[StrictInt] = Field(default=None, description="Minimum number of identities in a potential role", alias="minNumIdentitiesInPotentialRole") potential_role_count: Optional[StrictInt] = Field(default=None, description="Number of potential roles", alias="potentialRoleCount") potential_roles_ready_count: Optional[StrictInt] = Field(default=None, description="Number of potential roles ready", alias="potentialRolesReadyCount") - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None email_recipient_id: Optional[StrictStr] = Field(default=None, description="The id of the user who will receive an email about the role mining session", alias="emailRecipientId") identity_count: Optional[StrictInt] = Field(default=None, description="Number of identities in the population which meet the search criteria or identity list provided", alias="identityCount") saved: Optional[StrictBool] = Field(default=False, description="The session's saved status") diff --git a/sailpoint/v2025/models/role_mining_session_parameters_dto.py b/sailpoint/v2025/models/role_mining_session_parameters_dto.py index d7bad0365..e136c9ff4 100644 --- a/sailpoint/v2025/models/role_mining_session_parameters_dto.py +++ b/sailpoint/v2025/models/role_mining_session_parameters_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.role_mining_role_type import RoleMiningRoleType from sailpoint.v2025.models.role_mining_session_scope import RoleMiningSessionScope from sailpoint.v2025.models.role_mining_session_scoping_method import RoleMiningSessionScopingMethod @@ -37,9 +37,9 @@ class RoleMiningSessionParametersDto(BaseModel): prune_threshold: Optional[StrictInt] = Field(default=None, description="The prune threshold to be used or null to calculate prescribedPruneThreshold", alias="pruneThreshold") saved: Optional[StrictBool] = Field(default=True, description="The session's saved status") scope: Optional[RoleMiningSessionScope] = None - type: Optional[RoleMiningRoleType] = None - state: Optional[RoleMiningSessionState] = None - scoping_method: Optional[RoleMiningSessionScopingMethod] = Field(default=None, alias="scopingMethod") + type: Optional[Union[RoleMiningRoleType, str]] = None + state: Optional[Union[RoleMiningSessionState, str]] = None + scoping_method: Optional[Union[RoleMiningSessionScopingMethod, str]] = Field(default=None, alias="scopingMethod") __properties: ClassVar[List[str]] = ["id", "name", "minNumIdentitiesInPotentialRole", "pruneThreshold", "saved", "scope", "type", "state", "scopingMethod"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/role_mining_session_response.py b/sailpoint/v2025/models/role_mining_session_response.py index 3fead720c..045603b54 100644 --- a/sailpoint/v2025/models/role_mining_session_response.py +++ b/sailpoint/v2025/models/role_mining_session_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.role_mining_role_type import RoleMiningRoleType from sailpoint.v2025.models.role_mining_session_response_created_by import RoleMiningSessionResponseCreatedBy from sailpoint.v2025.models.role_mining_session_scope import RoleMiningSessionScope @@ -49,7 +49,7 @@ class RoleMiningSessionResponse(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Session Id for this role mining session") created_date: Optional[datetime] = Field(default=None, description="The date-time when this role mining session was created.", alias="createdDate") modified_date: Optional[datetime] = Field(default=None, description="The date-time when this role mining session was completed.", alias="modifiedDate") - type: Optional[RoleMiningRoleType] = None + type: Optional[Union[RoleMiningRoleType, str]] = None __properties: ClassVar[List[str]] = ["scope", "minNumIdentitiesInPotentialRole", "scopingMethod", "prescribedPruneThreshold", "pruneThreshold", "potentialRoleCount", "potentialRolesReadyCount", "status", "emailRecipientId", "createdBy", "identityCount", "saved", "name", "dataFilePath", "id", "createdDate", "modifiedDate", "type"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/role_mining_session_status.py b/sailpoint/v2025/models/role_mining_session_status.py index 691ffe78d..59c900a60 100644 --- a/sailpoint/v2025/models/role_mining_session_status.py +++ b/sailpoint/v2025/models/role_mining_session_status.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.role_mining_session_state import RoleMiningSessionState from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class RoleMiningSessionStatus(BaseModel): """ RoleMiningSessionStatus """ # noqa: E501 - state: Optional[RoleMiningSessionState] = None + state: Optional[Union[RoleMiningSessionState, str]] = None __properties: ClassVar[List[str]] = ["state"] model_config = ConfigDict( diff --git a/sailpoint/v2025/models/saved_search.py b/sailpoint/v2025/models/saved_search.py index 5147a683b..9a9f7983d 100644 --- a/sailpoint/v2025/models/saved_search.py +++ b/sailpoint/v2025/models/saved_search.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.column import Column from sailpoint.v2025.models.index import Index from sailpoint.v2025.models.saved_search_detail_filters import SavedSearchDetailFilters @@ -36,7 +36,7 @@ class SavedSearch(BaseModel): description: Optional[StrictStr] = Field(default=None, description="The description of the saved search. ") created: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") modified: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") - indices: List[Index] = Field(description="The names of the Elasticsearch indices in which to search. ") + indices: List[Union[Index, str]] = Field(description="The names of the Elasticsearch indices in which to search. ") columns: Optional[Dict[str, List[Column]]] = Field(default=None, description="The columns to be returned (specifies the order in which they will be presented) for each document type. The currently supported document types are: _accessprofile_, _accountactivity_, _account_, _aggregation_, _entitlement_, _event_, _identity_, and _role_. ") query: StrictStr = Field(description="The search query using Elasticsearch [Query String Query](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-query-string-query.html#query-string) syntax from the Query DSL. ") fields: Optional[List[StrictStr]] = Field(default=None, description="The fields to be searched against in a multi-field query. ") diff --git a/sailpoint/v2025/models/saved_search_detail.py b/sailpoint/v2025/models/saved_search_detail.py index 36dea995c..c58fbd039 100644 --- a/sailpoint/v2025/models/saved_search_detail.py +++ b/sailpoint/v2025/models/saved_search_detail.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.column import Column from sailpoint.v2025.models.index import Index from sailpoint.v2025.models.saved_search_detail_filters import SavedSearchDetailFilters @@ -33,7 +33,7 @@ class SavedSearchDetail(BaseModel): """ # noqa: E501 created: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") modified: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") - indices: List[Index] = Field(description="The names of the Elasticsearch indices in which to search. ") + indices: List[Union[Index, str]] = Field(description="The names of the Elasticsearch indices in which to search. ") columns: Optional[Dict[str, List[Column]]] = Field(default=None, description="The columns to be returned (specifies the order in which they will be presented) for each document type. The currently supported document types are: _accessprofile_, _accountactivity_, _account_, _aggregation_, _entitlement_, _event_, _identity_, and _role_. ") query: StrictStr = Field(description="The search query using Elasticsearch [Query String Query](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-query-string-query.html#query-string) syntax from the Query DSL. ") fields: Optional[List[StrictStr]] = Field(default=None, description="The fields to be searched against in a multi-field query. ") diff --git a/sailpoint/v2025/models/saved_search_detail_filters.py b/sailpoint/v2025/models/saved_search_detail_filters.py index 3aabd7c03..5385a1807 100644 --- a/sailpoint/v2025/models/saved_search_detail_filters.py +++ b/sailpoint/v2025/models/saved_search_detail_filters.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.filter_type import FilterType from sailpoint.v2025.models.range import Range from typing import Optional, Set @@ -29,7 +29,7 @@ class SavedSearchDetailFilters(BaseModel): """ SavedSearchDetailFilters """ # noqa: E501 - type: Optional[FilterType] = None + type: Optional[Union[FilterType, str]] = None range: Optional[Range] = None terms: Optional[List[StrictStr]] = Field(default=None, description="The terms to be filtered.") exclude: Optional[StrictBool] = Field(default=False, description="Indicates if the filter excludes results.") diff --git a/sailpoint/v2025/models/scope.py b/sailpoint/v2025/models/scope.py index a83682e4a..0825bd20e 100644 --- a/sailpoint/v2025/models/scope.py +++ b/sailpoint/v2025/models/scope.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.ref import Ref from sailpoint.v2025.models.scope_type import ScopeType from sailpoint.v2025.models.scope_visibility_type import ScopeVisibilityType @@ -31,8 +31,8 @@ class Scope(BaseModel): """ This defines what access the segment is giving """ # noqa: E501 - scope: Optional[ScopeType] = None - visibility: Optional[ScopeVisibilityType] = None + scope: Optional[Union[ScopeType, str]] = None + visibility: Optional[Union[ScopeVisibilityType, str]] = None scope_filter: Optional[VisibilityCriteria] = Field(default=None, alias="scopeFilter") scope_selection: Optional[List[Ref]] = Field(default=None, description="List of Identities that are assigned to the segment", alias="scopeSelection") __properties: ClassVar[List[str]] = ["scope", "visibility", "scopeFilter", "scopeSelection"] diff --git a/sailpoint/v2025/models/search.py b/sailpoint/v2025/models/search.py index 4d3b2520d..b2c9c5873 100644 --- a/sailpoint/v2025/models/search.py +++ b/sailpoint/v2025/models/search.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.aggregation_type import AggregationType from sailpoint.v2025.models.filter import Filter from sailpoint.v2025.models.index import Index @@ -36,8 +36,8 @@ class Search(BaseModel): """ Search """ # noqa: E501 - indices: Optional[List[Index]] = Field(default=None, description="The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched.") - query_type: Optional[QueryType] = Field(default=QueryType.SAILPOINT, alias="queryType") + indices: Optional[List[Union[Index, str]]] = Field(default=None, description="The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched.") + query_type: Optional[Union[QueryType, str]] = Field(default=QueryType.SAILPOINT, alias="queryType") query_version: Optional[Any] = Field(default=None, alias="queryVersion") query: Optional[Query] = None query_dsl: Optional[Dict[str, Any]] = Field(default=None, description="The search query using the Elasticsearch [Query DSL](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/query-dsl.html) syntax.", alias="queryDsl") @@ -45,7 +45,7 @@ class Search(BaseModel): type_ahead_query: Optional[TypeAheadQuery] = Field(default=None, alias="typeAheadQuery") include_nested: Optional[StrictBool] = Field(default=True, description="Indicates whether nested objects from returned search results should be included.", alias="includeNested") query_result_filter: Optional[QueryResultFilter] = Field(default=None, alias="queryResultFilter") - aggregation_type: Optional[AggregationType] = Field(default=AggregationType.DSL, alias="aggregationType") + aggregation_type: Optional[Union[AggregationType, str]] = Field(default=AggregationType.DSL, alias="aggregationType") aggregations_version: Optional[Any] = Field(default=None, alias="aggregationsVersion") aggregations_dsl: Optional[Dict[str, Any]] = Field(default=None, description="The aggregation search query using Elasticsearch [Aggregations](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/search-aggregations.html) syntax.", alias="aggregationsDsl") aggregations: Optional[SearchAggregationSpecification] = None diff --git a/sailpoint/v2025/models/search_export_report_arguments.py b/sailpoint/v2025/models/search_export_report_arguments.py index a907713b9..ddc7e7dd2 100644 --- a/sailpoint/v2025/models/search_export_report_arguments.py +++ b/sailpoint/v2025/models/search_export_report_arguments.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.index import Index from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class SearchExportReportArguments(BaseModel): """ Arguments for Search Export report (SEARCH_EXPORT) The report file generated will be a zip file containing csv files of the search results. """ # noqa: E501 - indices: Optional[List[Index]] = Field(default=None, description="The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched.") + indices: Optional[List[Union[Index, str]]] = Field(default=None, description="The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched.") query: StrictStr = Field(description="The query using the Elasticsearch [Query String Query](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-query-string-query.html#query-string) syntax from the Query DSL extended by SailPoint to support Nested queries.") columns: Optional[StrictStr] = Field(default=None, description="Comma separated string consisting of technical attribute names of fields to include in report. Use `access.spread`, `apps.spread`, `accounts.spread` to include respective identity access details. Use `accessProfiles.spread` to unclude access profile details. Use `entitlements.spread` to include entitlement details. ") sort: Optional[List[StrictStr]] = Field(default=None, description="The fields to be used to sort the search results. Use + or - to specify the sort direction.") diff --git a/sailpoint/v2025/models/sim_integration_details_all_of_before_provisioning_rule.py b/sailpoint/v2025/models/sim_integration_details_all_of_before_provisioning_rule.py index b9c7e223f..5c89002c0 100644 --- a/sailpoint/v2025/models/sim_integration_details_all_of_before_provisioning_rule.py +++ b/sailpoint/v2025/models/sim_integration_details_all_of_before_provisioning_rule.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class SimIntegrationDetailsAllOfBeforeProvisioningRule(BaseModel): """ Before provisioning rule of integration """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the rule") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the rule") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v2025/models/sod_exempt_criteria.py b/sailpoint/v2025/models/sod_exempt_criteria.py index 5fb3b2184..74e6cf51c 100644 --- a/sailpoint/v2025/models/sod_exempt_criteria.py +++ b/sailpoint/v2025/models/sod_exempt_criteria.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class SodExemptCriteria(BaseModel): Details of the Entitlement criteria """ # noqa: E501 existing: Optional[StrictBool] = Field(default=False, description="If the entitlement already belonged to the user or not.") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Entitlement ID") name: Optional[StrictStr] = Field(default=None, description="Entitlement name") __properties: ClassVar[List[str]] = ["existing", "type", "id", "name"] diff --git a/sailpoint/v2025/models/source_account_selections.py b/sailpoint/v2025/models/source_account_selections.py index 2ea1be063..5bf2fe162 100644 --- a/sailpoint/v2025/models/source_account_selections.py +++ b/sailpoint/v2025/models/source_account_selections.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.account_info_ref import AccountInfoRef from sailpoint.v2025.models.dto_type import DtoType from typing import Optional, Set @@ -29,7 +29,7 @@ class SourceAccountSelections(BaseModel): """ SourceAccountSelections """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="The source id") name: Optional[StrictStr] = Field(default=None, description="The source name") accounts: Optional[List[AccountInfoRef]] = Field(default=None, description="The accounts information for a particular source in the requested item") diff --git a/sailpoint/v2025/models/subscription_put_request.py b/sailpoint/v2025/models/subscription_put_request.py index 0e81a20fe..3a2f1a468 100644 --- a/sailpoint/v2025/models/subscription_put_request.py +++ b/sailpoint/v2025/models/subscription_put_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.event_bridge_config import EventBridgeConfig from sailpoint.v2025.models.http_config import HttpConfig from sailpoint.v2025.models.subscription_type import SubscriptionType @@ -32,7 +32,7 @@ class SubscriptionPutRequest(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(default=None, description="Subscription name.") description: Optional[StrictStr] = Field(default=None, description="Subscription description.") - type: Optional[SubscriptionType] = None + type: Optional[Union[SubscriptionType, str]] = None response_deadline: Optional[StrictStr] = Field(default='PT1H', description="Deadline for completing REQUEST_RESPONSE trigger invocation, represented in ISO-8601 duration format.", alias="responseDeadline") http_config: Optional[HttpConfig] = Field(default=None, alias="httpConfig") event_bridge_config: Optional[EventBridgeConfig] = Field(default=None, alias="eventBridgeConfig") diff --git a/sailpoint/v2025/models/work_items.py b/sailpoint/v2025/models/work_items.py index b60585a6e..f62bdb1a5 100644 --- a/sailpoint/v2025/models/work_items.py +++ b/sailpoint/v2025/models/work_items.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2025.models.approval_item_details import ApprovalItemDetails from sailpoint.v2025.models.remediation_item_details import RemediationItemDetails from sailpoint.v2025.models.work_item_state_manual_work_items import WorkItemStateManualWorkItems @@ -41,8 +41,8 @@ class WorkItems(BaseModel): created: Optional[datetime] = Field(default=None, description="Time when the work item was created") modified: Optional[datetime] = Field(default=None, description="Time when the work item was last updated") description: Optional[StrictStr] = Field(default=None, description="The description of the work item") - state: Optional[WorkItemStateManualWorkItems] = None - type: Optional[WorkItemTypeManualWorkItems] = None + state: Optional[Union[WorkItemStateManualWorkItems, str]] = None + type: Optional[Union[WorkItemTypeManualWorkItems, str]] = None remediation_items: Optional[List[RemediationItemDetails]] = Field(default=None, description="A list of remediation items", alias="remediationItems") approval_items: Optional[List[ApprovalItemDetails]] = Field(default=None, description="A list of items that need to be approved", alias="approvalItems") name: Optional[StrictStr] = Field(default=None, description="The work item name") diff --git a/sailpoint/v2025/test/test_account_usage.py b/sailpoint/v2025/test/test_account_usage.py index f04d31329..32bedc6bd 100644 --- a/sailpoint/v2025/test/test_account_usage.py +++ b/sailpoint/v2025/test/test_account_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> AccountUsage: model = AccountUsage() if include_optional: return AccountUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10 ) else: diff --git a/sailpoint/v2025/test/test_non_employee_request_without_approval_item.py b/sailpoint/v2025/test/test_non_employee_request_without_approval_item.py index 2b4ada2a2..ece9f9261 100644 --- a/sailpoint/v2025/test/test_non_employee_request_without_approval_item.py +++ b/sailpoint/v2025/test/test_non_employee_request_without_approval_item.py @@ -50,8 +50,8 @@ def make_instance(self, include_optional) -> NonEmployeeRequestWithoutApprovalIt approval_status = 'APPROVED', comment = 'approved', completion_date = '2020-03-24T11:11:41.139-05:00', - start_date = 'Tue Mar 24 00:00:00 UTC 2020', - end_date = 'Thu Mar 25 00:00:00 UTC 2021', + start_date = 'Mon Mar 23 20:00:00 EDT 2020', + end_date = 'Wed Mar 24 20:00:00 EDT 2021', modified = '2020-03-24T11:11:41.139-05:00', created = '2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v2025/test/test_source_usage.py b/sailpoint/v2025/test/test_source_usage.py index f6fceb431..7a6b87998 100644 --- a/sailpoint/v2025/test/test_source_usage.py +++ b/sailpoint/v2025/test/test_source_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> SourceUsage: model = SourceUsage() if include_optional: return SourceUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10.45 ) else: diff --git a/sailpoint/v2026/models/error_message_dto.py b/sailpoint/v2026/models/error_message_dto.py index dcb73255a..7c65d282a 100644 --- a/sailpoint/v2026/models/error_message_dto.py +++ b/sailpoint/v2026/models/error_message_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v2026.models.locale_origin import LocaleOrigin from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class ErrorMessageDto(BaseModel): ErrorMessageDto """ # noqa: E501 locale: Optional[StrictStr] = Field(default=None, description="The locale for the message text, a BCP 47 language tag.") - locale_origin: Optional[LocaleOrigin] = Field(default=None, alias="localeOrigin") + locale_origin: Optional[Union[LocaleOrigin, str]] = Field(default=None, alias="localeOrigin") text: Optional[StrictStr] = Field(default=None, description="Actual text of the error message in the indicated locale.") __properties: ClassVar[List[str]] = ["locale", "localeOrigin", "text"] diff --git a/sailpoint/v3/docs/Models/AccountUsage.md b/sailpoint/v3/docs/Models/AccountUsage.md index 211d1a3d1..a1615a57b 100644 --- a/sailpoint/v3/docs/Models/AccountUsage.md +++ b/sailpoint/v3/docs/Models/AccountUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v3.models.account_usage import AccountUsage account_usage = AccountUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10 ) diff --git a/sailpoint/v3/docs/Models/NonEmployeeRequestWithoutApprovalItem.md b/sailpoint/v3/docs/Models/NonEmployeeRequestWithoutApprovalItem.md index 049a9aafe..a80904ad9 100644 --- a/sailpoint/v3/docs/Models/NonEmployeeRequestWithoutApprovalItem.md +++ b/sailpoint/v3/docs/Models/NonEmployeeRequestWithoutApprovalItem.md @@ -56,8 +56,8 @@ data={description=Auditing}, approval_status='APPROVED', comment='approved', completion_date='2020-03-24T11:11:41.139-05:00', -start_date='Tue Mar 24 00:00:00 UTC 2020', -end_date='Thu Mar 25 00:00:00 UTC 2021', +start_date='Mon Mar 23 20:00:00 EDT 2020', +end_date='Wed Mar 24 20:00:00 EDT 2021', modified='2020-03-24T11:11:41.139-05:00', created='2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v3/docs/Models/SourceUsage.md b/sailpoint/v3/docs/Models/SourceUsage.md index 4d3443864..159a7ebe0 100644 --- a/sailpoint/v3/docs/Models/SourceUsage.md +++ b/sailpoint/v3/docs/Models/SourceUsage.md @@ -26,7 +26,7 @@ Name | Type | Description | Notes from sailpoint.v3.models.source_usage import SourceUsage source_usage = SourceUsage( -var_date='Fri Apr 21 00:00:00 UTC 2023', +var_date='Thu Apr 20 20:00:00 EDT 2023', count=10.45 ) diff --git a/sailpoint/v3/models/access_request.py b/sailpoint/v3/models/access_request.py index 0e64cdb19..39be1f979 100644 --- a/sailpoint/v3/models/access_request.py +++ b/sailpoint/v3/models/access_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from sailpoint.v3.models.access_request_item import AccessRequestItem from sailpoint.v3.models.access_request_type import AccessRequestType @@ -32,7 +32,7 @@ class AccessRequest(BaseModel): AccessRequest """ # noqa: E501 requested_for: List[StrictStr] = Field(description="A list of Identity IDs for whom the Access is requested. If it's a Revoke request, there can only be one Identity ID.", alias="requestedFor") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requested_items: Annotated[List[AccessRequestItem], Field(min_length=1)] = Field(alias="requestedItems") client_metadata: Optional[Dict[str, StrictStr]] = Field(default=None, description="Arbitrary key-value pairs. They will never be processed by the IdentityNow system but will be returned on associated APIs such as /account-activities.", alias="clientMetadata") requested_for_with_requested_items: Optional[List[RequestedForDtoRef]] = Field(default=None, description="Additional submit data structure with requestedFor containing requestedItems allowing distinction for each request item and Identity. * Can only be used when 'requestedFor' and 'requestedItems' are not separately provided * Adds ability to specify which account the user wants the access on, in case they have multiple accounts on a source * Allows the ability to request items with different remove dates * Also allows different combinations of request items and identities in the same request * Only for use in GRANT_ACCESS type requests ", alias="requestedForWithRequestedItems") diff --git a/sailpoint/v3/models/access_review_item.py b/sailpoint/v3/models/access_review_item.py index c311e57d1..75d4435df 100644 --- a/sailpoint/v3/models/access_review_item.py +++ b/sailpoint/v3/models/access_review_item.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.access_summary import AccessSummary from sailpoint.v3.models.certification_decision import CertificationDecision from sailpoint.v3.models.certification_identity_summary import CertificationIdentitySummary @@ -35,7 +35,7 @@ class AccessReviewItem(BaseModel): id: Optional[StrictStr] = Field(default=None, description="The review item's id") completed: Optional[StrictBool] = Field(default=None, description="Whether the review item is complete") new_access: Optional[StrictBool] = Field(default=None, description="Indicates whether the review item is for new access to a source", alias="newAccess") - decision: Optional[CertificationDecision] = None + decision: Optional[Union[CertificationDecision, str]] = None comments: Optional[StrictStr] = Field(default=None, description="Comments for this review item") __properties: ClassVar[List[str]] = ["accessSummary", "identitySummary", "id", "completed", "newAccess", "decision", "comments"] diff --git a/sailpoint/v3/models/access_summary_access.py b/sailpoint/v3/models/access_summary_access.py index cc4c3b900..ced5b6fb1 100644 --- a/sailpoint/v3/models/access_summary_access.py +++ b/sailpoint/v3/models/access_summary_access.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class AccessSummaryAccess(BaseModel): """ AccessSummaryAccess """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="The ID of the item being certified") name: Optional[StrictStr] = Field(default=None, description="The name of the item being certified") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v3/models/account_activity.py b/sailpoint/v3/models/account_activity.py index ee3f284ed..cc3808a3a 100644 --- a/sailpoint/v3/models/account_activity.py +++ b/sailpoint/v3/models/account_activity.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.account_activity_item import AccountActivityItem from sailpoint.v3.models.completion_status import CompletionStatus from sailpoint.v3.models.execution_status import ExecutionStatus @@ -37,14 +37,14 @@ class AccountActivity(BaseModel): created: Optional[datetime] = Field(default=None, description="When the activity was first created") modified: Optional[datetime] = Field(default=None, description="When the activity was last modified") completed: Optional[datetime] = Field(default=None, description="When the activity was completed") - completion_status: Optional[CompletionStatus] = Field(default=None, alias="completionStatus") + completion_status: Optional[Union[CompletionStatus, str]] = Field(default=None, alias="completionStatus") type: Optional[StrictStr] = Field(default=None, description="The type of action the activity performed. Please see the following list of types. This list may grow over time. - CloudAutomated - IdentityAttributeUpdate - appRequest - LifecycleStateChange - AccountStateUpdate - AccountAttributeUpdate - CloudPasswordRequest - Attribute Synchronization Refresh - Certification - Identity Refresh - Lifecycle Change Refresh [Learn more here](https://documentation.sailpoint.com/saas/help/search/searchable-fields.html#searching-account-activity-data). ") requester_identity_summary: Optional[IdentitySummary] = Field(default=None, alias="requesterIdentitySummary") target_identity_summary: Optional[IdentitySummary] = Field(default=None, alias="targetIdentitySummary") errors: Optional[List[StrictStr]] = Field(default=None, description="A list of error messages, if any, that were encountered.") warnings: Optional[List[StrictStr]] = Field(default=None, description="A list of warning messages, if any, that were encountered.") items: Optional[List[AccountActivityItem]] = Field(default=None, description="Individual actions performed as part of this account activity") - execution_status: Optional[ExecutionStatus] = Field(default=None, alias="executionStatus") + execution_status: Optional[Union[ExecutionStatus, str]] = Field(default=None, alias="executionStatus") client_metadata: Optional[Dict[str, StrictStr]] = Field(default=None, description="Arbitrary key-value pairs, if any were included in the corresponding access request", alias="clientMetadata") __properties: ClassVar[List[str]] = ["id", "name", "created", "modified", "completed", "completionStatus", "type", "requesterIdentitySummary", "targetIdentitySummary", "errors", "warnings", "items", "executionStatus", "clientMetadata"] diff --git a/sailpoint/v3/models/account_activity_item.py b/sailpoint/v3/models/account_activity_item.py index e5413cbb1..6161433a1 100644 --- a/sailpoint/v3/models/account_activity_item.py +++ b/sailpoint/v3/models/account_activity_item.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.account_activity_approval_status import AccountActivityApprovalStatus from sailpoint.v3.models.account_activity_item_operation import AccountActivityItemOperation from sailpoint.v3.models.account_request_info import AccountRequestInfo @@ -37,12 +37,12 @@ class AccountActivityItem(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Item id") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of item") requested: Optional[datetime] = Field(default=None, description="Date and time item was requested") - approval_status: Optional[AccountActivityApprovalStatus] = Field(default=None, alias="approvalStatus") - provisioning_status: Optional[ProvisioningState] = Field(default=None, alias="provisioningStatus") + approval_status: Optional[Union[AccountActivityApprovalStatus, str]] = Field(default=None, alias="approvalStatus") + provisioning_status: Optional[Union[ProvisioningState, str]] = Field(default=None, alias="provisioningStatus") requester_comment: Optional[Comment] = Field(default=None, alias="requesterComment") reviewer_identity_summary: Optional[IdentitySummary] = Field(default=None, alias="reviewerIdentitySummary") reviewer_comment: Optional[Comment] = Field(default=None, alias="reviewerComment") - operation: Optional[AccountActivityItemOperation] = None + operation: Optional[Union[AccountActivityItemOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Attribute to which account activity applies") value: Optional[StrictStr] = Field(default=None, description="Value of attribute") native_identity: Optional[StrictStr] = Field(default=None, description="Native identity in the target system to which the account activity applies", alias="nativeIdentity") diff --git a/sailpoint/v3/models/account_all_of_owner_identity.py b/sailpoint/v3/models/account_all_of_owner_identity.py index c99de8b5d..8c5aadbd1 100644 --- a/sailpoint/v3/models/account_all_of_owner_identity.py +++ b/sailpoint/v3/models/account_all_of_owner_identity.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class AccountAllOfOwnerIdentity(BaseModel): """ AccountAllOfOwnerIdentity """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v3/models/account_request_info.py b/sailpoint/v3/models/account_request_info.py index 98673d25a..f825793a5 100644 --- a/sailpoint/v3/models/account_request_info.py +++ b/sailpoint/v3/models/account_request_info.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.requestable_object_type import RequestableObjectType from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class AccountRequestInfo(BaseModel): """ # noqa: E501 requested_object_id: Optional[StrictStr] = Field(default=None, description="Id of requested object", alias="requestedObjectId") requested_object_name: Optional[StrictStr] = Field(default=None, description="Human-readable name of requested object", alias="requestedObjectName") - requested_object_type: Optional[RequestableObjectType] = Field(default=None, alias="requestedObjectType") + requested_object_type: Optional[Union[RequestableObjectType, str]] = Field(default=None, alias="requestedObjectType") __properties: ClassVar[List[str]] = ["requestedObjectId", "requestedObjectName", "requestedObjectType"] model_config = ConfigDict( diff --git a/sailpoint/v3/models/approval_forward_history.py b/sailpoint/v3/models/approval_forward_history.py index b27716da6..17486eeb5 100644 --- a/sailpoint/v3/models/approval_forward_history.py +++ b/sailpoint/v3/models/approval_forward_history.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.reassignment_type import ReassignmentType from typing import Optional, Set from typing_extensions import Self @@ -34,7 +34,7 @@ class ApprovalForwardHistory(BaseModel): comment: Optional[StrictStr] = Field(default=None, description="Comment made while forwarding.") modified: Optional[datetime] = Field(default=None, description="Time at which approval was forwarded.") forwarder_name: Optional[StrictStr] = Field(default=None, description="Display name of forwarder who forwarded the approval.", alias="forwarderName") - reassignment_type: Optional[ReassignmentType] = Field(default=None, alias="reassignmentType") + reassignment_type: Optional[Union[ReassignmentType, str]] = Field(default=None, alias="reassignmentType") __properties: ClassVar[List[str]] = ["oldApproverName", "newApproverName", "comment", "modified", "forwarderName", "reassignmentType"] model_config = ConfigDict( diff --git a/sailpoint/v3/models/approval_status_dto.py b/sailpoint/v3/models/approval_status_dto.py index b4fb80866..aa873c174 100644 --- a/sailpoint/v3/models/approval_status_dto.py +++ b/sailpoint/v3/models/approval_status_dto.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.approval_scheme import ApprovalScheme from sailpoint.v3.models.approval_status_dto_current_owner import ApprovalStatusDtoCurrentOwner from sailpoint.v3.models.approval_status_dto_original_owner import ApprovalStatusDtoOriginalOwner @@ -38,8 +38,8 @@ class ApprovalStatusDto(BaseModel): original_owner: Optional[ApprovalStatusDtoOriginalOwner] = Field(default=None, alias="originalOwner") current_owner: Optional[ApprovalStatusDtoCurrentOwner] = Field(default=None, alias="currentOwner") modified: Optional[datetime] = Field(default=None, description="Time at which item was modified.") - status: Optional[ManualWorkItemState] = None - scheme: Optional[ApprovalScheme] = None + status: Optional[Union[ManualWorkItemState, str]] = None + scheme: Optional[Union[ApprovalScheme, str]] = None error_messages: Optional[List[ErrorMessageDto]] = Field(default=None, description="If the request failed, includes any error messages that were generated.", alias="errorMessages") comment: Optional[StrictStr] = Field(default=None, description="Comment, if any, provided by the approver.") remove_date: Optional[datetime] = Field(default=None, description="The date the role or access profile or entitlement is no longer assigned to the specified identity.", alias="removeDate") diff --git a/sailpoint/v3/models/attribute_definition.py b/sailpoint/v3/models/attribute_definition.py index 4a51d6f1a..ca6397528 100644 --- a/sailpoint/v3/models/attribute_definition.py +++ b/sailpoint/v3/models/attribute_definition.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.attribute_definition_schema import AttributeDefinitionSchema from sailpoint.v3.models.attribute_definition_type import AttributeDefinitionType from typing import Optional, Set @@ -31,7 +31,7 @@ class AttributeDefinition(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(default=None, description="The name of the attribute.") native_name: Optional[StrictStr] = Field(default=None, description="Attribute name in the native system.", alias="nativeName") - type: Optional[AttributeDefinitionType] = None + type: Optional[Union[AttributeDefinitionType, str]] = None var_schema: Optional[AttributeDefinitionSchema] = Field(default=None, alias="schema") description: Optional[StrictStr] = Field(default=None, description="A human-readable description of the attribute.") is_multi: Optional[StrictBool] = Field(default=False, description="Flag indicating whether or not the attribute is multi-valued.", alias="isMulti") diff --git a/sailpoint/v3/models/base_reference_dto.py b/sailpoint/v3/models/base_reference_dto.py index 287e229a3..8b4b33f96 100644 --- a/sailpoint/v3/models/base_reference_dto.py +++ b/sailpoint/v3/models/base_reference_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class BaseReferenceDto(BaseModel): """ BaseReferenceDto """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v3/models/bucket_aggregation.py b/sailpoint/v3/models/bucket_aggregation.py index 5d267d0ca..6dfb1aff5 100644 --- a/sailpoint/v3/models/bucket_aggregation.py +++ b/sailpoint/v3/models/bucket_aggregation.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.bucket_type import BucketType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class BucketAggregation(BaseModel): The bucket to group the results of the aggregation query by. """ # noqa: E501 name: StrictStr = Field(description="The name of the bucket aggregate to be included in the result.") - type: Optional[BucketType] = BucketType.TERMS + type: Optional[Union[BucketType, str]] = BucketType.TERMS var_field: StrictStr = Field(description="The field to bucket on. Prefix the field name with '@' to reference a nested object.", alias="field") size: Optional[StrictInt] = Field(default=None, description="Maximum number of buckets to include.") min_doc_count: Optional[StrictInt] = Field(default=None, description="Minimum number of documents a bucket should have.", alias="minDocCount") diff --git a/sailpoint/v3/models/campaign_filter_details_criteria_list_inner.py b/sailpoint/v3/models/campaign_filter_details_criteria_list_inner.py index 3e6d9cd5d..1ab1013cd 100644 --- a/sailpoint/v3/models/campaign_filter_details_criteria_list_inner.py +++ b/sailpoint/v3/models/campaign_filter_details_criteria_list_inner.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.criteria_type import CriteriaType from sailpoint.v3.models.operation import Operation from typing import Optional, Set @@ -30,7 +30,7 @@ class CampaignFilterDetailsCriteriaListInner(BaseModel): CampaignFilterDetailsCriteriaListInner """ # noqa: E501 type: CriteriaType - operation: Optional[Operation] = None + operation: Optional[Union[Operation, str]] = None var_property: Optional[StrictStr] = Field(description="Specified key from the type of criteria.", alias="property") value: Optional[StrictStr] = Field(description="Value for the specified key from the type of criteria.") negate_result: Optional[StrictBool] = Field(default=False, description="If true, the filter will negate the result of the criteria.", alias="negateResult") diff --git a/sailpoint/v3/models/campaign_report.py b/sailpoint/v3/models/campaign_report.py index bacb1f25e..3ae9d8598 100644 --- a/sailpoint/v3/models/campaign_report.py +++ b/sailpoint/v3/models/campaign_report.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.report_type import ReportType from typing import Optional, Set from typing_extensions import Self @@ -33,7 +33,7 @@ class CampaignReport(BaseModel): id: Optional[StrictStr] = Field(default=None, description="SOD policy violation report result ID.") name: Optional[StrictStr] = Field(default=None, description="Human-readable name of the SOD policy violation report result.") status: Optional[StrictStr] = Field(default=None, description="Status of a SOD policy violation report.") - report_type: ReportType = Field(alias="reportType") + report_type: Union[ReportType, str] = Field(alias="reportType") last_run_at: Optional[datetime] = Field(default=None, description="The most recent date and time this report was run", alias="lastRunAt") __properties: ClassVar[List[str]] = ["type", "id", "name", "status", "reportType", "lastRunAt"] diff --git a/sailpoint/v3/models/certification.py b/sailpoint/v3/models/certification.py index 1b854c6f8..eca1912dc 100644 --- a/sailpoint/v3/models/certification.py +++ b/sailpoint/v3/models/certification.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.campaign_reference import CampaignReference from sailpoint.v3.models.certification_phase import CertificationPhase from sailpoint.v3.models.reassignment import Reassignment @@ -48,7 +48,7 @@ class Certification(BaseModel): reassignment: Optional[Reassignment] = None has_errors: Optional[StrictBool] = Field(default=None, description="Identifies if the certification has an error", alias="hasErrors") error_message: Optional[StrictStr] = Field(default=None, description="Description of the certification error", alias="errorMessage") - phase: Optional[CertificationPhase] = None + phase: Optional[Union[CertificationPhase, str]] = None __properties: ClassVar[List[str]] = ["id", "name", "campaign", "completed", "identitiesCompleted", "identitiesTotal", "created", "modified", "decisionsMade", "decisionsTotal", "due", "signed", "reviewer", "reassignment", "hasErrors", "errorMessage", "phase"] model_config = ConfigDict( diff --git a/sailpoint/v3/models/client_log_configuration.py b/sailpoint/v3/models/client_log_configuration.py index d792d4366..0add619d0 100644 --- a/sailpoint/v3/models/client_log_configuration.py +++ b/sailpoint/v3/models/client_log_configuration.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from sailpoint.v3.models.standard_level import StandardLevel from typing import Optional, Set @@ -33,8 +33,8 @@ class ClientLogConfiguration(BaseModel): client_id: Optional[StrictStr] = Field(default=None, description="Log configuration's client ID", alias="clientId") duration_minutes: Optional[Annotated[int, Field(le=1440, strict=True, ge=5)]] = Field(default=240, description="Duration in minutes for log configuration to remain in effect before resetting to defaults.", alias="durationMinutes") expiration: Optional[datetime] = Field(default=None, description="Expiration date-time of the log configuration request. Can be no greater than 24 hours from current date-time.") - root_level: StandardLevel = Field(alias="rootLevel") - log_levels: Optional[Dict[str, StandardLevel]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") + root_level: Union[StandardLevel, str] = Field(alias="rootLevel") + log_levels: Optional[Dict[str, Union[StandardLevel, str]]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") __properties: ClassVar[List[str]] = ["clientId", "durationMinutes", "expiration", "rootLevel", "logLevels"] model_config = ConfigDict( diff --git a/sailpoint/v3/models/client_log_configuration_duration_minutes.py b/sailpoint/v3/models/client_log_configuration_duration_minutes.py index 59140985e..313d24c25 100644 --- a/sailpoint/v3/models/client_log_configuration_duration_minutes.py +++ b/sailpoint/v3/models/client_log_configuration_duration_minutes.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from sailpoint.v3.models.standard_level import StandardLevel from typing import Optional, Set @@ -31,8 +31,8 @@ class ClientLogConfigurationDurationMinutes(BaseModel): """ # noqa: E501 client_id: Optional[StrictStr] = Field(default=None, description="Log configuration's client ID", alias="clientId") duration_minutes: Optional[Annotated[int, Field(le=1440, strict=True, ge=5)]] = Field(default=240, description="Duration in minutes for log configuration to remain in effect before resetting to defaults.", alias="durationMinutes") - root_level: StandardLevel = Field(alias="rootLevel") - log_levels: Optional[Dict[str, StandardLevel]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") + root_level: Union[StandardLevel, str] = Field(alias="rootLevel") + log_levels: Optional[Dict[str, Union[StandardLevel, str]]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") __properties: ClassVar[List[str]] = ["clientId", "durationMinutes", "rootLevel", "logLevels"] model_config = ConfigDict( diff --git a/sailpoint/v3/models/client_log_configuration_expiration.py b/sailpoint/v3/models/client_log_configuration_expiration.py index c8a6d6764..3f9a0f545 100644 --- a/sailpoint/v3/models/client_log_configuration_expiration.py +++ b/sailpoint/v3/models/client_log_configuration_expiration.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.standard_level import StandardLevel from typing import Optional, Set from typing_extensions import Self @@ -31,8 +31,8 @@ class ClientLogConfigurationExpiration(BaseModel): """ # noqa: E501 client_id: Optional[StrictStr] = Field(default=None, description="Log configuration's client ID", alias="clientId") expiration: Optional[datetime] = Field(default=None, description="Expiration date-time of the log configuration request. Can be no greater than 24 hours from current date-time.") - root_level: StandardLevel = Field(alias="rootLevel") - log_levels: Optional[Dict[str, StandardLevel]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") + root_level: Union[StandardLevel, str] = Field(alias="rootLevel") + log_levels: Optional[Dict[str, Union[StandardLevel, str]]] = Field(default=None, description="Mapping of identifiers to Standard Log Level values", alias="logLevels") __properties: ClassVar[List[str]] = ["clientId", "expiration", "rootLevel", "logLevels"] model_config = ConfigDict( diff --git a/sailpoint/v3/models/completed_approval.py b/sailpoint/v3/models/completed_approval.py index e16970adf..bbfd7c273 100644 --- a/sailpoint/v3/models/completed_approval.py +++ b/sailpoint/v3/models/completed_approval.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.access_item_requester import AccessItemRequester from sailpoint.v3.models.access_item_reviewed_by import AccessItemReviewedBy from sailpoint.v3.models.access_request_type import AccessRequestType @@ -48,7 +48,7 @@ class CompletedApproval(BaseModel): created: Optional[datetime] = Field(default=None, description="When the approval was created.") modified: Optional[datetime] = Field(default=None, description="When the approval was modified last time.") request_created: Optional[datetime] = Field(default=None, description="When the access-request was created.", alias="requestCreated") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requester: Optional[AccessItemRequester] = None requested_for: Optional[RequestedItemStatusRequestedFor] = Field(default=None, alias="requestedFor") reviewed_by: Optional[AccessItemReviewedBy] = Field(default=None, alias="reviewedBy") @@ -59,7 +59,7 @@ class CompletedApproval(BaseModel): previous_reviewers_comments: Optional[List[CommentDto]] = Field(default=None, description="The history of the previous reviewers comments.", alias="previousReviewersComments") forward_history: Optional[List[ApprovalForwardHistory]] = Field(default=None, description="The history of approval forward action.", alias="forwardHistory") comment_required_when_rejected: Optional[StrictBool] = Field(default=False, description="When true the rejector has to provide comments when rejecting", alias="commentRequiredWhenRejected") - state: Optional[CompletedApprovalState] = None + state: Optional[Union[CompletedApprovalState, str]] = None remove_date: Optional[datetime] = Field(default=None, description="The date the role or access profile or entitlement is no longer assigned to the specified identity.", alias="removeDate") remove_date_update_requested: Optional[StrictBool] = Field(default=False, description="If true, then the request was to change the remove date or sunset date.", alias="removeDateUpdateRequested") current_remove_date: Optional[datetime] = Field(default=None, description="The remove date or sunset date that was assigned at the time of the request.", alias="currentRemoveDate") diff --git a/sailpoint/v3/models/completed_approval_pre_approval_trigger_result.py b/sailpoint/v3/models/completed_approval_pre_approval_trigger_result.py index 75524854e..85e4a8520 100644 --- a/sailpoint/v3/models/completed_approval_pre_approval_trigger_result.py +++ b/sailpoint/v3/models/completed_approval_pre_approval_trigger_result.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.completed_approval_state import CompletedApprovalState from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class CompletedApprovalPreApprovalTriggerResult(BaseModel): If the access request submitted event trigger is configured and this access request was intercepted by it, then this is the result of the trigger's decision to either approve or deny the request. """ # noqa: E501 comment: Optional[StrictStr] = Field(default=None, description="The comment from the trigger") - decision: Optional[CompletedApprovalState] = None + decision: Optional[Union[CompletedApprovalState, str]] = None reviewer: Optional[StrictStr] = Field(default=None, description="The name of the approver") var_date: Optional[datetime] = Field(default=None, description="The date and time the trigger decided on the request", alias="date") __properties: ClassVar[List[str]] = ["comment", "decision", "reviewer", "date"] diff --git a/sailpoint/v3/models/create_o_auth_client_request.py b/sailpoint/v3/models/create_o_auth_client_request.py index 31a05e5b0..75c9b0029 100644 --- a/sailpoint/v3/models/create_o_auth_client_request.py +++ b/sailpoint/v3/models/create_o_auth_client_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.access_type import AccessType from sailpoint.v3.models.client_type import ClientType from sailpoint.v3.models.grant_type import GrantType @@ -37,9 +37,9 @@ class CreateOAuthClientRequest(BaseModel): access_token_validity_seconds: StrictInt = Field(description="The number of seconds an access token generated for this API Client is valid for", alias="accessTokenValiditySeconds") refresh_token_validity_seconds: Optional[StrictInt] = Field(default=None, description="The number of seconds a refresh token generated for this API Client is valid for", alias="refreshTokenValiditySeconds") redirect_uris: Optional[List[StrictStr]] = Field(default=None, description="A list of the approved redirect URIs. Provide one or more URIs when assigning the AUTHORIZATION_CODE grant type to a new OAuth Client.", alias="redirectUris") - grant_types: Optional[List[GrantType]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") - access_type: AccessType = Field(alias="accessType") - type: Optional[ClientType] = None + grant_types: Optional[List[Union[GrantType, str]]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") + access_type: Union[AccessType, str] = Field(alias="accessType") + type: Optional[Union[ClientType, str]] = None internal: Optional[StrictBool] = Field(default=None, description="An indicator of whether the API Client can be used for requests internal within the product.") enabled: StrictBool = Field(description="An indicator of whether the API Client is enabled for use") strong_auth_supported: Optional[StrictBool] = Field(default=None, description="An indicator of whether the API Client supports strong authentication", alias="strongAuthSupported") diff --git a/sailpoint/v3/models/create_o_auth_client_response.py b/sailpoint/v3/models/create_o_auth_client_response.py index c974f7e26..e5eec3b33 100644 --- a/sailpoint/v3/models/create_o_auth_client_response.py +++ b/sailpoint/v3/models/create_o_auth_client_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.access_type import AccessType from sailpoint.v3.models.client_type import ClientType from sailpoint.v3.models.grant_type import GrantType @@ -40,8 +40,8 @@ class CreateOAuthClientResponse(BaseModel): access_token_validity_seconds: StrictInt = Field(description="The number of seconds an access token generated for this API Client is valid for", alias="accessTokenValiditySeconds") refresh_token_validity_seconds: StrictInt = Field(description="The number of seconds a refresh token generated for this API Client is valid for", alias="refreshTokenValiditySeconds") redirect_uris: List[StrictStr] = Field(description="A list of the approved redirect URIs used with the authorization_code flow", alias="redirectUris") - grant_types: List[GrantType] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") - access_type: AccessType = Field(alias="accessType") + grant_types: List[Union[GrantType, str]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") + access_type: Union[AccessType, str] = Field(alias="accessType") type: ClientType internal: StrictBool = Field(description="An indicator of whether the API Client can be used for requests internal to IDN") enabled: StrictBool = Field(description="An indicator of whether the API Client is enabled for use") diff --git a/sailpoint/v3/models/create_saved_search_request.py b/sailpoint/v3/models/create_saved_search_request.py index e030fb013..3faf484ec 100644 --- a/sailpoint/v3/models/create_saved_search_request.py +++ b/sailpoint/v3/models/create_saved_search_request.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.column import Column from sailpoint.v3.models.index import Index from sailpoint.v3.models.saved_search_detail_filters import SavedSearchDetailFilters @@ -35,7 +35,7 @@ class CreateSavedSearchRequest(BaseModel): description: Optional[StrictStr] = Field(default=None, description="The description of the saved search. ") created: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") modified: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") - indices: List[Index] = Field(description="The names of the Elasticsearch indices in which to search. ") + indices: List[Union[Index, str]] = Field(description="The names of the Elasticsearch indices in which to search. ") columns: Optional[Dict[str, List[Column]]] = Field(default=None, description="The columns to be returned (specifies the order in which they will be presented) for each document type. The currently supported document types are: _accessprofile_, _accountactivity_, _account_, _aggregation_, _entitlement_, _event_, _identity_, and _role_. ") query: StrictStr = Field(description="The search query using Elasticsearch [Query String Query](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-query-string-query.html#query-string) syntax from the Query DSL. ") fields: Optional[List[StrictStr]] = Field(default=None, description="The fields to be searched against in a multi-field query. ") diff --git a/sailpoint/v3/models/error_message_dto.py b/sailpoint/v3/models/error_message_dto.py index e3bb4c610..e27158233 100644 --- a/sailpoint/v3/models/error_message_dto.py +++ b/sailpoint/v3/models/error_message_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.locale_origin import LocaleOrigin from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class ErrorMessageDto(BaseModel): ErrorMessageDto """ # noqa: E501 locale: Optional[StrictStr] = Field(default=None, description="The locale for the message text, a BCP 47 language tag.") - locale_origin: Optional[LocaleOrigin] = Field(default=None, alias="localeOrigin") + locale_origin: Optional[Union[LocaleOrigin, str]] = Field(default=None, alias="localeOrigin") text: Optional[StrictStr] = Field(default=None, description="Actual text of the error message in the indicated locale.") __properties: ClassVar[List[str]] = ["locale", "localeOrigin", "text"] diff --git a/sailpoint/v3/models/exception_criteria_access.py b/sailpoint/v3/models/exception_criteria_access.py index f53a628a0..135747602 100644 --- a/sailpoint/v3/models/exception_criteria_access.py +++ b/sailpoint/v3/models/exception_criteria_access.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class ExceptionCriteriaAccess(BaseModel): """ Access reference with addition of boolean existing flag to indicate whether the access was extant """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="ID of the object to which this reference applies") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the object to which this reference applies") existing: Optional[StrictBool] = Field(default=False, description="Whether the subject identity already had that access or not") diff --git a/sailpoint/v3/models/filter.py b/sailpoint/v3/models/filter.py index b14715c74..b3ca81525 100644 --- a/sailpoint/v3/models/filter.py +++ b/sailpoint/v3/models/filter.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.filter_type import FilterType from sailpoint.v3.models.range import Range from typing import Optional, Set @@ -29,7 +29,7 @@ class Filter(BaseModel): """ Filter """ # noqa: E501 - type: Optional[FilterType] = None + type: Optional[Union[FilterType, str]] = None range: Optional[Range] = None terms: Optional[List[StrictStr]] = Field(default=None, description="The terms to be filtered.") exclude: Optional[StrictBool] = Field(default=False, description="Indicates if the filter excludes results.") diff --git a/sailpoint/v3/models/filter_aggregation.py b/sailpoint/v3/models/filter_aggregation.py index 1d16517d7..42f6b0ae6 100644 --- a/sailpoint/v3/models/filter_aggregation.py +++ b/sailpoint/v3/models/filter_aggregation.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.search_filter_type import SearchFilterType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class FilterAggregation(BaseModel): An additional filter to constrain the results of the search query. """ # noqa: E501 name: StrictStr = Field(description="The name of the filter aggregate to be included in the result.") - type: Optional[SearchFilterType] = SearchFilterType.TERM + type: Optional[Union[SearchFilterType, str]] = SearchFilterType.TERM var_field: StrictStr = Field(description="The search field to apply the filter to. Prefix the field name with '@' to reference a nested object. ", alias="field") value: StrictStr = Field(description="The value to filter on.") __properties: ClassVar[List[str]] = ["name", "type", "field", "value"] diff --git a/sailpoint/v3/models/get_o_auth_client_response.py b/sailpoint/v3/models/get_o_auth_client_response.py index 24c0d0be6..e809ec091 100644 --- a/sailpoint/v3/models/get_o_auth_client_response.py +++ b/sailpoint/v3/models/get_o_auth_client_response.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.access_type import AccessType from sailpoint.v3.models.client_type import ClientType from sailpoint.v3.models.grant_type import GrantType @@ -39,8 +39,8 @@ class GetOAuthClientResponse(BaseModel): access_token_validity_seconds: StrictInt = Field(description="The number of seconds an access token generated for this API Client is valid for", alias="accessTokenValiditySeconds") refresh_token_validity_seconds: StrictInt = Field(description="The number of seconds a refresh token generated for this API Client is valid for", alias="refreshTokenValiditySeconds") redirect_uris: Optional[List[StrictStr]] = Field(description="A list of the approved redirect URIs used with the authorization_code flow", alias="redirectUris") - grant_types: List[GrantType] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") - access_type: AccessType = Field(alias="accessType") + grant_types: List[Union[GrantType, str]] = Field(description="A list of OAuth 2.0 grant types this API Client can be used with", alias="grantTypes") + access_type: Union[AccessType, str] = Field(alias="accessType") type: ClientType internal: StrictBool = Field(description="An indicator of whether the API Client can be used for requests internal to IDN") enabled: StrictBool = Field(description="An indicator of whether the API Client is enabled for use") diff --git a/sailpoint/v3/models/identity_certification_dto.py b/sailpoint/v3/models/identity_certification_dto.py index 3178546b7..8e2f6a9a1 100644 --- a/sailpoint/v3/models/identity_certification_dto.py +++ b/sailpoint/v3/models/identity_certification_dto.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.campaign_reference import CampaignReference from sailpoint.v3.models.certification_phase import CertificationPhase from sailpoint.v3.models.reassignment import Reassignment @@ -48,7 +48,7 @@ class IdentityCertificationDto(BaseModel): reassignment: Optional[Reassignment] = None has_errors: Optional[StrictBool] = Field(default=None, description="Identifies if the certification has an error", alias="hasErrors") error_message: Optional[StrictStr] = Field(default=None, description="Description of the certification error", alias="errorMessage") - phase: Optional[CertificationPhase] = None + phase: Optional[Union[CertificationPhase, str]] = None __properties: ClassVar[List[str]] = ["id", "name", "campaign", "completed", "identitiesCompleted", "identitiesTotal", "created", "modified", "decisionsMade", "decisionsTotal", "due", "signed", "reviewer", "reassignment", "hasErrors", "errorMessage", "phase"] model_config = ConfigDict( diff --git a/sailpoint/v3/models/identity_reference.py b/sailpoint/v3/models/identity_reference.py index 4fd171f97..cd915eab8 100644 --- a/sailpoint/v3/models/identity_reference.py +++ b/sailpoint/v3/models/identity_reference.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class IdentityReference(BaseModel): """ The manager for the identity. """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Identity id") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of identity.") __properties: ClassVar[List[str]] = ["type", "id", "name"] diff --git a/sailpoint/v3/models/managed_client_status.py b/sailpoint/v3/models/managed_client_status.py index 188f216e7..3f375dec1 100644 --- a/sailpoint/v3/models/managed_client_status.py +++ b/sailpoint/v3/models/managed_client_status.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.managed_client_status_code import ManagedClientStatusCode from sailpoint.v3.models.managed_client_type import ManagedClientType from typing import Optional, Set @@ -32,7 +32,7 @@ class ManagedClientStatus(BaseModel): """ # noqa: E501 body: Dict[str, Any] = Field(description="ManagedClientStatus body information") status: ManagedClientStatusCode - type: Optional[ManagedClientType] + type: Optional[Union[ManagedClientType, str]] timestamp: datetime = Field(description="timestamp on the Client Status update") __properties: ClassVar[List[str]] = ["body", "status", "type", "timestamp"] diff --git a/sailpoint/v3/models/managed_cluster.py b/sailpoint/v3/models/managed_cluster.py index 63fd65276..d71102ade 100644 --- a/sailpoint/v3/models/managed_cluster.py +++ b/sailpoint/v3/models/managed_cluster.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.client_log_configuration import ClientLogConfiguration from sailpoint.v3.models.managed_client_type import ManagedClientType from sailpoint.v3.models.managed_cluster_attributes import ManagedClusterAttributes @@ -40,13 +40,13 @@ class ManagedCluster(BaseModel): name: Optional[StrictStr] = Field(default=None, description="ManagedCluster name") pod: Optional[StrictStr] = Field(default=None, description="ManagedCluster pod") org: Optional[StrictStr] = Field(default=None, description="ManagedCluster org") - type: Optional[ManagedClusterTypes] = None + type: Optional[Union[ManagedClusterTypes, str]] = None configuration: Optional[Dict[str, Optional[StrictStr]]] = Field(default=None, description="ManagedProcess configuration map") key_pair: Optional[ManagedClusterKeyPair] = Field(default=None, alias="keyPair") attributes: Optional[ManagedClusterAttributes] = None description: Optional[StrictStr] = Field(default='q', description="ManagedCluster description") redis: Optional[ManagedClusterRedis] = None - client_type: Optional[ManagedClientType] = Field(alias="clientType") + client_type: Optional[Union[ManagedClientType, str]] = Field(alias="clientType") ccg_version: StrictStr = Field(description="CCG version used by the ManagedCluster", alias="ccgVersion") pinned_config: Optional[StrictBool] = Field(default=False, description="boolean flag indicating whether or not the cluster configuration is pinned", alias="pinnedConfig") log_configuration: Optional[ClientLogConfiguration] = Field(default=None, alias="logConfiguration") diff --git a/sailpoint/v3/models/managed_cluster_request.py b/sailpoint/v3/models/managed_cluster_request.py index 425d3fdb8..e2c8c27ba 100644 --- a/sailpoint/v3/models/managed_cluster_request.py +++ b/sailpoint/v3/models/managed_cluster_request.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.managed_cluster_types import ManagedClusterTypes from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class ManagedClusterRequest(BaseModel): Request to create Managed Cluster """ # noqa: E501 name: StrictStr = Field(description="ManagedCluster name") - type: Optional[ManagedClusterTypes] = None + type: Optional[Union[ManagedClusterTypes, str]] = None configuration: Optional[Dict[str, StrictStr]] = Field(default=None, description="ManagedProcess configuration map") description: Optional[StrictStr] = Field(default=None, description="ManagedCluster description") __properties: ClassVar[List[str]] = ["name", "type", "configuration", "description"] diff --git a/sailpoint/v3/models/manual_work_item_details.py b/sailpoint/v3/models/manual_work_item_details.py index ac3c6c8d9..09e4eedb5 100644 --- a/sailpoint/v3/models/manual_work_item_details.py +++ b/sailpoint/v3/models/manual_work_item_details.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.approval_forward_history import ApprovalForwardHistory from sailpoint.v3.models.manual_work_item_details_current_owner import ManualWorkItemDetailsCurrentOwner from sailpoint.v3.models.manual_work_item_details_original_owner import ManualWorkItemDetailsOriginalOwner @@ -36,7 +36,7 @@ class ManualWorkItemDetails(BaseModel): original_owner: Optional[ManualWorkItemDetailsOriginalOwner] = Field(default=None, alias="originalOwner") current_owner: Optional[ManualWorkItemDetailsCurrentOwner] = Field(default=None, alias="currentOwner") modified: Optional[datetime] = Field(default=None, description="Time at which item was modified.") - status: Optional[ManualWorkItemState] = None + status: Optional[Union[ManualWorkItemState, str]] = None forward_history: Optional[List[ApprovalForwardHistory]] = Field(default=None, description="The history of approval forward action.", alias="forwardHistory") __properties: ClassVar[List[str]] = ["forwarded", "originalOwner", "currentOwner", "modified", "status", "forwardHistory"] diff --git a/sailpoint/v3/models/metric_aggregation.py b/sailpoint/v3/models/metric_aggregation.py index 759b470be..16ed6f20d 100644 --- a/sailpoint/v3/models/metric_aggregation.py +++ b/sailpoint/v3/models/metric_aggregation.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.metric_type import MetricType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class MetricAggregation(BaseModel): The calculation done on the results of the query """ # noqa: E501 name: StrictStr = Field(description="The name of the metric aggregate to be included in the result. If the metric aggregation is omitted, the resulting aggregation will be a count of the documents in the search results.") - type: Optional[MetricType] = MetricType.UNIQUE_COUNT + type: Optional[Union[MetricType, str]] = MetricType.UNIQUE_COUNT var_field: StrictStr = Field(description="The field the calculation is performed on. Prefix the field name with '@' to reference a nested object. ", alias="field") __properties: ClassVar[List[str]] = ["name", "type", "field"] diff --git a/sailpoint/v3/models/non_employee_approval_item.py b/sailpoint/v3/models/non_employee_approval_item.py index 13dc3e133..1eee70500 100644 --- a/sailpoint/v3/models/non_employee_approval_item.py +++ b/sailpoint/v3/models/non_employee_approval_item.py @@ -34,7 +34,7 @@ class NonEmployeeApprovalItem(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Non-Employee approval item id") approver: Optional[NonEmployeeIdentityReferenceWithId] = None account_name: Optional[StrictStr] = Field(default=None, description="Requested identity account name", alias="accountName") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") approval_order: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Approval order", alias="approvalOrder") comment: Optional[StrictStr] = Field(default=None, description="comment of approver") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") diff --git a/sailpoint/v3/models/non_employee_approval_item_base.py b/sailpoint/v3/models/non_employee_approval_item_base.py index fe237ae37..033561130 100644 --- a/sailpoint/v3/models/non_employee_approval_item_base.py +++ b/sailpoint/v3/models/non_employee_approval_item_base.py @@ -33,7 +33,7 @@ class NonEmployeeApprovalItemBase(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Non-Employee approval item id") approver: Optional[NonEmployeeIdentityReferenceWithId] = None account_name: Optional[StrictStr] = Field(default=None, description="Requested identity account name", alias="accountName") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") approval_order: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Approval order", alias="approvalOrder") comment: Optional[StrictStr] = Field(default=None, description="comment of approver") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") diff --git a/sailpoint/v3/models/non_employee_approval_item_detail.py b/sailpoint/v3/models/non_employee_approval_item_detail.py index 3e1ec2f2d..1143a695a 100644 --- a/sailpoint/v3/models/non_employee_approval_item_detail.py +++ b/sailpoint/v3/models/non_employee_approval_item_detail.py @@ -34,7 +34,7 @@ class NonEmployeeApprovalItemDetail(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Non-Employee approval item id") approver: Optional[NonEmployeeIdentityReferenceWithId] = None account_name: Optional[StrictStr] = Field(default=None, description="Requested identity account name", alias="accountName") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") approval_order: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Approval order", alias="approvalOrder") comment: Optional[StrictStr] = Field(default=None, description="comment of approver") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") diff --git a/sailpoint/v3/models/non_employee_identity_reference_with_id.py b/sailpoint/v3/models/non_employee_identity_reference_with_id.py index c66ad27f2..558894103 100644 --- a/sailpoint/v3/models/non_employee_identity_reference_with_id.py +++ b/sailpoint/v3/models/non_employee_identity_reference_with_id.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.non_employee_identity_dto_type import NonEmployeeIdentityDtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class NonEmployeeIdentityReferenceWithId(BaseModel): """ NonEmployeeIdentityReferenceWithId """ # noqa: E501 - type: Optional[NonEmployeeIdentityDtoType] = None + type: Optional[Union[NonEmployeeIdentityDtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Identity id") __properties: ClassVar[List[str]] = ["type", "id"] diff --git a/sailpoint/v3/models/non_employee_request.py b/sailpoint/v3/models/non_employee_request.py index 0eb991fdd..5958579d7 100644 --- a/sailpoint/v3/models/non_employee_request.py +++ b/sailpoint/v3/models/non_employee_request.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.approval_status import ApprovalStatus from sailpoint.v3.models.non_employee_approval_item_base import NonEmployeeApprovalItemBase from sailpoint.v3.models.non_employee_source_lite import NonEmployeeSourceLite @@ -44,7 +44,7 @@ class NonEmployeeRequest(BaseModel): non_employee_source: Optional[NonEmployeeSourceLite] = Field(default=None, alias="nonEmployeeSource") data: Optional[Dict[str, StrictStr]] = Field(default=None, description="Additional attributes for a non-employee. Up to 10 custom attributes can be added.") approval_items: Optional[List[NonEmployeeApprovalItemBase]] = Field(default=None, description="List of approval item for the request", alias="approvalItems") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") comment: Optional[StrictStr] = Field(default=None, description="Comment of requester") completion_date: Optional[datetime] = Field(default=None, description="When the request was completely approved.", alias="completionDate") start_date: Optional[datetime] = Field(default=None, description="Non-Employee employment start date.", alias="startDate") diff --git a/sailpoint/v3/models/non_employee_request_without_approval_item.py b/sailpoint/v3/models/non_employee_request_without_approval_item.py index a6a85a8bd..c35102575 100644 --- a/sailpoint/v3/models/non_employee_request_without_approval_item.py +++ b/sailpoint/v3/models/non_employee_request_without_approval_item.py @@ -20,7 +20,7 @@ from datetime import date, datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.approval_status import ApprovalStatus from sailpoint.v3.models.non_employee_identity_reference_with_id import NonEmployeeIdentityReferenceWithId from sailpoint.v3.models.non_employee_source_lite_with_schema_attributes import NonEmployeeSourceLiteWithSchemaAttributes @@ -41,7 +41,7 @@ class NonEmployeeRequestWithoutApprovalItem(BaseModel): manager: Optional[StrictStr] = Field(default=None, description="The account ID of a valid identity to serve as this non-employee's manager.") non_employee_source: Optional[NonEmployeeSourceLiteWithSchemaAttributes] = Field(default=None, alias="nonEmployeeSource") data: Optional[Dict[str, StrictStr]] = Field(default=None, description="Additional attributes for a non-employee. Up to 10 custom attributes can be added.") - approval_status: Optional[ApprovalStatus] = Field(default=None, alias="approvalStatus") + approval_status: Optional[Union[ApprovalStatus, str]] = Field(default=None, alias="approvalStatus") comment: Optional[StrictStr] = Field(default=None, description="Comment of requester") completion_date: Optional[datetime] = Field(default=None, description="When the request was completely approved.", alias="completionDate") start_date: Optional[date] = Field(default=None, description="Non-Employee employment start date.", alias="startDate") diff --git a/sailpoint/v3/models/pending_approval.py b/sailpoint/v3/models/pending_approval.py index 161441ae9..7b061cf2e 100644 --- a/sailpoint/v3/models/pending_approval.py +++ b/sailpoint/v3/models/pending_approval.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.access_item_requested_for import AccessItemRequestedFor from sailpoint.v3.models.access_item_requester import AccessItemRequester from sailpoint.v3.models.access_request_type import AccessRequestType @@ -45,7 +45,7 @@ class PendingApproval(BaseModel): created: Optional[datetime] = Field(default=None, description="When the approval was created.") modified: Optional[datetime] = Field(default=None, description="When the approval was modified last time.") request_created: Optional[datetime] = Field(default=None, description="When the access-request was created.", alias="requestCreated") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") requester: Optional[AccessItemRequester] = None requested_for: Optional[AccessItemRequestedFor] = Field(default=None, alias="requestedFor") owner: Optional[PendingApprovalOwner] = None @@ -54,7 +54,7 @@ class PendingApproval(BaseModel): previous_reviewers_comments: Optional[List[CommentDto]] = Field(default=None, description="The history of the previous reviewers comments.", alias="previousReviewersComments") forward_history: Optional[List[ApprovalForwardHistory]] = Field(default=None, description="The history of approval forward action.", alias="forwardHistory") comment_required_when_rejected: Optional[StrictBool] = Field(default=False, description="When true the rejector has to provide comments when rejecting", alias="commentRequiredWhenRejected") - action_in_process: Optional[PendingApprovalAction] = Field(default=None, alias="actionInProcess") + action_in_process: Optional[Union[PendingApprovalAction, str]] = Field(default=None, alias="actionInProcess") remove_date: Optional[datetime] = Field(default=None, description="The date the role or access profile or entitlement is no longer assigned to the specified identity.", alias="removeDate") remove_date_update_requested: Optional[StrictBool] = Field(default=False, description="If true, then the request is to change the remove date or sunset date.", alias="removeDateUpdateRequested") current_remove_date: Optional[datetime] = Field(default=None, description="The remove date or sunset date that was assigned at the time of the request.", alias="currentRemoveDate") diff --git a/sailpoint/v3/models/provisioning_criteria_level1.py b/sailpoint/v3/models/provisioning_criteria_level1.py index c1887e701..8f4df86d8 100644 --- a/sailpoint/v3/models/provisioning_criteria_level1.py +++ b/sailpoint/v3/models/provisioning_criteria_level1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.provisioning_criteria_level2 import ProvisioningCriteriaLevel2 from sailpoint.v3.models.provisioning_criteria_operation import ProvisioningCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class ProvisioningCriteriaLevel1(BaseModel): """ Defines matching criteria for an account to be provisioned with a specific access profile. """ # noqa: E501 - operation: Optional[ProvisioningCriteriaOperation] = None + operation: Optional[Union[ProvisioningCriteriaOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error.") value: Optional[StrictStr] = Field(default=None, description="String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type.") children: Optional[List[ProvisioningCriteriaLevel2]] = Field(default=None, description="Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes.") diff --git a/sailpoint/v3/models/provisioning_criteria_level2.py b/sailpoint/v3/models/provisioning_criteria_level2.py index c532bbb4e..28beb49bf 100644 --- a/sailpoint/v3/models/provisioning_criteria_level2.py +++ b/sailpoint/v3/models/provisioning_criteria_level2.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.provisioning_criteria_level3 import ProvisioningCriteriaLevel3 from sailpoint.v3.models.provisioning_criteria_operation import ProvisioningCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class ProvisioningCriteriaLevel2(BaseModel): """ Defines matching criteria for an account to be provisioned with a specific access profile. """ # noqa: E501 - operation: Optional[ProvisioningCriteriaOperation] = None + operation: Optional[Union[ProvisioningCriteriaOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error.") value: Optional[StrictStr] = Field(default=None, description="String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type.") children: Optional[List[ProvisioningCriteriaLevel3]] = Field(default=None, description="Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes.") diff --git a/sailpoint/v3/models/provisioning_criteria_level3.py b/sailpoint/v3/models/provisioning_criteria_level3.py index 4de8c8d02..ac5c647f2 100644 --- a/sailpoint/v3/models/provisioning_criteria_level3.py +++ b/sailpoint/v3/models/provisioning_criteria_level3.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.provisioning_criteria_operation import ProvisioningCriteriaOperation from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class ProvisioningCriteriaLevel3(BaseModel): """ Defines matching criteria for an account to be provisioned with a specific access profile. """ # noqa: E501 - operation: Optional[ProvisioningCriteriaOperation] = None + operation: Optional[Union[ProvisioningCriteriaOperation, str]] = None attribute: Optional[StrictStr] = Field(default=None, description="Name of the account attribute to be tested. If **operation** is one of `EQUALS`, `NOT_EQUALS`, `CONTAINS`, or `HAS`, this field is required. Otherwise, specifying it results in an error.") value: Optional[StrictStr] = Field(default=None, description="String value to test the account attribute w/r/t the specified operation. If the operation is one of `EQUALS`, `NOT_EQUALS`, or `CONTAINS`, this field is required. Otherwise, specifying it results in an error. If the attribute is not string-typed, the API will convert it to the appropriate type.") children: Optional[StrictStr] = Field(default=None, description="Array of child criteria. This field is required if the operation is `AND` or `OR`. Otherwise, it must be left null. A maximum of three levels of criteria are supported, including leaf nodes.") diff --git a/sailpoint/v3/models/provisioning_policy.py b/sailpoint/v3/models/provisioning_policy.py index ff5a4959b..42754588c 100644 --- a/sailpoint/v3/models/provisioning_policy.py +++ b/sailpoint/v3/models/provisioning_policy.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.field_details_dto import FieldDetailsDto from sailpoint.v3.models.usage_type import UsageType from typing import Optional, Set @@ -31,7 +31,7 @@ class ProvisioningPolicy(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(description="the provisioning policy name") description: Optional[StrictStr] = Field(default=None, description="the description of the provisioning policy") - usage_type: Optional[UsageType] = Field(default=None, alias="usageType") + usage_type: Optional[Union[UsageType, str]] = Field(default=None, alias="usageType") fields: Optional[List[FieldDetailsDto]] = None __properties: ClassVar[List[str]] = ["name", "description", "usageType", "fields"] diff --git a/sailpoint/v3/models/provisioning_policy_dto.py b/sailpoint/v3/models/provisioning_policy_dto.py index 06c3b034d..106c681b6 100644 --- a/sailpoint/v3/models/provisioning_policy_dto.py +++ b/sailpoint/v3/models/provisioning_policy_dto.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.field_details_dto import FieldDetailsDto from sailpoint.v3.models.usage_type import UsageType from typing import Optional, Set @@ -31,7 +31,7 @@ class ProvisioningPolicyDto(BaseModel): """ # noqa: E501 name: Optional[StrictStr] = Field(description="the provisioning policy name") description: Optional[StrictStr] = Field(default=None, description="the description of the provisioning policy") - usage_type: Optional[UsageType] = Field(default=None, alias="usageType") + usage_type: Optional[Union[UsageType, str]] = Field(default=None, alias="usageType") fields: Optional[List[FieldDetailsDto]] = None __properties: ClassVar[List[str]] = ["name", "description", "usageType", "fields"] diff --git a/sailpoint/v3/models/requestable_object.py b/sailpoint/v3/models/requestable_object.py index f1d7c93bc..68488a135 100644 --- a/sailpoint/v3/models/requestable_object.py +++ b/sailpoint/v3/models/requestable_object.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.identity_reference_with_name_and_email import IdentityReferenceWithNameAndEmail from sailpoint.v3.models.requestable_object_type import RequestableObjectType from typing import Optional, Set @@ -35,7 +35,7 @@ class RequestableObject(BaseModel): created: Optional[datetime] = Field(default=None, description="The time when the requestable object was created") modified: Optional[datetime] = Field(default=None, description="The time when the requestable object was last modified") description: Optional[StrictStr] = Field(default=None, description="Description of the requestable object.") - type: Optional[RequestableObjectType] = None + type: Optional[Union[RequestableObjectType, str]] = None request_status: Optional[Any] = Field(default=None, alias="requestStatus") identity_request_id: Optional[StrictStr] = Field(default=None, description="If *requestStatus* is *PENDING*, indicates the id of the associated account activity.", alias="identityRequestId") owner_ref: Optional[IdentityReferenceWithNameAndEmail] = Field(default=None, alias="ownerRef") diff --git a/sailpoint/v3/models/requested_account_ref.py b/sailpoint/v3/models/requested_account_ref.py index 38fbbfab9..80386f32f 100644 --- a/sailpoint/v3/models/requested_account_ref.py +++ b/sailpoint/v3/models/requested_account_ref.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class RequestedAccountRef(BaseModel): RequestedAccountRef """ # noqa: E501 name: Optional[StrictStr] = Field(default=None, description="Display name of the account for the user") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None account_uuid: Optional[StrictStr] = Field(default=None, description="The uuid for the account", alias="accountUuid") account_id: Optional[StrictStr] = Field(default=None, description="The native identity for the account", alias="accountId") source_name: Optional[StrictStr] = Field(default=None, description="Display name of the source for the account", alias="sourceName") diff --git a/sailpoint/v3/models/requested_item_status.py b/sailpoint/v3/models/requested_item_status.py index 428152ef9..beca10153 100644 --- a/sailpoint/v3/models/requested_item_status.py +++ b/sailpoint/v3/models/requested_item_status.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.access_item_requester import AccessItemRequester from sailpoint.v3.models.access_request_phases import AccessRequestPhases from sailpoint.v3.models.access_request_type import AccessRequestType @@ -47,12 +47,12 @@ class RequestedItemStatus(BaseModel): type: Optional[StrictStr] = Field(default=None, description="Type of requested object.") cancelled_request_details: Optional[RequestedItemStatusCancelledRequestDetails] = Field(default=None, alias="cancelledRequestDetails") error_messages: Optional[List[List[ErrorMessageDto]]] = Field(default=None, description="List of list of localized error messages, if any, encountered during the approval/provisioning process.", alias="errorMessages") - state: Optional[RequestedItemStatusRequestState] = None + state: Optional[Union[RequestedItemStatusRequestState, str]] = None approval_details: Optional[List[ApprovalStatusDto]] = Field(default=None, description="Approval details for each item.", alias="approvalDetails") approval_ids: Optional[List[StrictStr]] = Field(default=None, description="List of approval IDs associated with the request.", alias="approvalIds") manual_work_item_details: Optional[List[ManualWorkItemDetails]] = Field(default=None, description="Manual work items created for provisioning the item.", alias="manualWorkItemDetails") account_activity_item_id: Optional[StrictStr] = Field(default=None, description="Id of associated account activity item.", alias="accountActivityItemId") - request_type: Optional[AccessRequestType] = Field(default=None, alias="requestType") + request_type: Optional[Union[AccessRequestType, str]] = Field(default=None, alias="requestType") modified: Optional[datetime] = Field(default=None, description="When the request was last modified.") created: Optional[datetime] = Field(default=None, description="When the request was created.") requester: Optional[AccessItemRequester] = None diff --git a/sailpoint/v3/models/reviewable_entitlement_account.py b/sailpoint/v3/models/reviewable_entitlement_account.py index 0eaa009b6..9baba380e 100644 --- a/sailpoint/v3/models/reviewable_entitlement_account.py +++ b/sailpoint/v3/models/reviewable_entitlement_account.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.activity_insights import ActivityInsights from sailpoint.v3.models.dto_type import DtoType from sailpoint.v3.models.reviewable_entitlement_account_owner import ReviewableEntitlementAccountOwner @@ -34,7 +34,7 @@ class ReviewableEntitlementAccount(BaseModel): native_identity: Optional[StrictStr] = Field(default=None, description="The native identity for this account", alias="nativeIdentity") disabled: Optional[StrictBool] = Field(default=False, description="Indicates whether this account is currently disabled") locked: Optional[StrictBool] = Field(default=False, description="Indicates whether this account is currently locked") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="The id associated with the account") name: Optional[StrictStr] = Field(default=None, description="The account name") created: Optional[datetime] = Field(default=None, description="When the account was created") diff --git a/sailpoint/v3/models/role_criteria_level1.py b/sailpoint/v3/models/role_criteria_level1.py index 280c9ecf5..9039c2721 100644 --- a/sailpoint/v3/models/role_criteria_level1.py +++ b/sailpoint/v3/models/role_criteria_level1.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.role_criteria_key import RoleCriteriaKey from sailpoint.v3.models.role_criteria_level2 import RoleCriteriaLevel2 from sailpoint.v3.models.role_criteria_operation import RoleCriteriaOperation @@ -30,7 +30,7 @@ class RoleCriteriaLevel1(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[RoleCriteriaOperation] = None + operation: Optional[Union[RoleCriteriaOperation, str]] = None key: Optional[RoleCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute, Account attribute, or Entitlement specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, NOT_EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH, this field is required. Otherwise, specifying it is an error.", alias="stringValue") children: Optional[List[Optional[RoleCriteriaLevel2]]] = Field(default=None, description="Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa.") diff --git a/sailpoint/v3/models/role_criteria_level2.py b/sailpoint/v3/models/role_criteria_level2.py index 81f86c832..b16b6d1c0 100644 --- a/sailpoint/v3/models/role_criteria_level2.py +++ b/sailpoint/v3/models/role_criteria_level2.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.role_criteria_key import RoleCriteriaKey from sailpoint.v3.models.role_criteria_level3 import RoleCriteriaLevel3 from sailpoint.v3.models.role_criteria_operation import RoleCriteriaOperation @@ -30,7 +30,7 @@ class RoleCriteriaLevel2(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[RoleCriteriaOperation] = None + operation: Optional[Union[RoleCriteriaOperation, str]] = None key: Optional[RoleCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute, Account attribute, or Entitlement specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, NOT_EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH, this field is required. Otherwise, specifying it is an error.", alias="stringValue") children: Optional[List[RoleCriteriaLevel3]] = Field(default=None, description="Array of child criteria. Required if the operation is AND or OR, otherwise it must be left null. A maximum of three levels of criteria are supported, including leaf nodes. Additionally, AND nodes can only be children or OR nodes and vice-versa.") diff --git a/sailpoint/v3/models/role_criteria_level3.py b/sailpoint/v3/models/role_criteria_level3.py index 7da2b2ab9..2ccea829c 100644 --- a/sailpoint/v3/models/role_criteria_level3.py +++ b/sailpoint/v3/models/role_criteria_level3.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.role_criteria_key import RoleCriteriaKey from sailpoint.v3.models.role_criteria_operation import RoleCriteriaOperation from typing import Optional, Set @@ -29,7 +29,7 @@ class RoleCriteriaLevel3(BaseModel): """ Defines STANDARD type Role membership """ # noqa: E501 - operation: Optional[RoleCriteriaOperation] = None + operation: Optional[Union[RoleCriteriaOperation, str]] = None key: Optional[RoleCriteriaKey] = None string_value: Optional[StrictStr] = Field(default=None, description="String value to test the Identity attribute, Account attribute, or Entitlement specified in the key w/r/t the specified operation. If this criteria is a leaf node, that is, if the operation is one of EQUALS, NOT_EQUALS, CONTAINS, STARTS_WITH, or ENDS_WITH, this field is required. Otherwise, specifying it is an error.", alias="stringValue") __properties: ClassVar[List[str]] = ["operation", "key", "stringValue"] diff --git a/sailpoint/v3/models/role_identity.py b/sailpoint/v3/models/role_identity.py index ee127ac05..29f2ffaf4 100644 --- a/sailpoint/v3/models/role_identity.py +++ b/sailpoint/v3/models/role_identity.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.role_assignment_source_type import RoleAssignmentSourceType from typing import Optional, Set from typing_extensions import Self @@ -32,7 +32,7 @@ class RoleIdentity(BaseModel): alias_name: Optional[StrictStr] = Field(default=None, description="The alias / username of the Identity", alias="aliasName") name: Optional[StrictStr] = Field(default=None, description="The human-readable display name of the Identity") email: Optional[StrictStr] = Field(default=None, description="Email address of the Identity") - role_assignment_source: Optional[RoleAssignmentSourceType] = Field(default=None, alias="roleAssignmentSource") + role_assignment_source: Optional[Union[RoleAssignmentSourceType, str]] = Field(default=None, alias="roleAssignmentSource") __properties: ClassVar[List[str]] = ["id", "aliasName", "name", "email", "roleAssignmentSource"] model_config = ConfigDict( diff --git a/sailpoint/v3/models/role_membership_identity.py b/sailpoint/v3/models/role_membership_identity.py index 200cb9911..fe2665ab0 100644 --- a/sailpoint/v3/models/role_membership_identity.py +++ b/sailpoint/v3/models/role_membership_identity.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class RoleMembershipIdentity(BaseModel): """ A reference to an Identity in an IDENTITY_LIST role membership criteria. """ # noqa: E501 - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Identity id") name: Optional[StrictStr] = Field(default=None, description="Human-readable display name of the Identity.") alias_name: Optional[StrictStr] = Field(default=None, description="User name of the Identity", alias="aliasName") diff --git a/sailpoint/v3/models/role_membership_selector.py b/sailpoint/v3/models/role_membership_selector.py index b1c3ed9b0..520d6f245 100644 --- a/sailpoint/v3/models/role_membership_selector.py +++ b/sailpoint/v3/models/role_membership_selector.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.role_criteria_level1 import RoleCriteriaLevel1 from sailpoint.v3.models.role_membership_identity import RoleMembershipIdentity from sailpoint.v3.models.role_membership_selector_type import RoleMembershipSelectorType @@ -30,7 +30,7 @@ class RoleMembershipSelector(BaseModel): """ When present, specifies that the Role is to be granted to Identities which either satisfy specific criteria or which are members of a given list of Identities. """ # noqa: E501 - type: Optional[RoleMembershipSelectorType] = None + type: Optional[Union[RoleMembershipSelectorType, str]] = None criteria: Optional[RoleCriteriaLevel1] = None identities: Optional[List[RoleMembershipIdentity]] = Field(default=None, description="Defines role membership as being exclusive to the specified Identities, when type is IDENTITY_LIST.") __properties: ClassVar[List[str]] = ["type", "criteria", "identities"] diff --git a/sailpoint/v3/models/saved_search.py b/sailpoint/v3/models/saved_search.py index c8c8a8870..fd3c5fddb 100644 --- a/sailpoint/v3/models/saved_search.py +++ b/sailpoint/v3/models/saved_search.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.column import Column from sailpoint.v3.models.index import Index from sailpoint.v3.models.saved_search_detail_filters import SavedSearchDetailFilters @@ -36,7 +36,7 @@ class SavedSearch(BaseModel): description: Optional[StrictStr] = Field(default=None, description="The description of the saved search. ") created: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") modified: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") - indices: List[Index] = Field(description="The names of the Elasticsearch indices in which to search. ") + indices: List[Union[Index, str]] = Field(description="The names of the Elasticsearch indices in which to search. ") columns: Optional[Dict[str, List[Column]]] = Field(default=None, description="The columns to be returned (specifies the order in which they will be presented) for each document type. The currently supported document types are: _accessprofile_, _accountactivity_, _account_, _aggregation_, _entitlement_, _event_, _identity_, and _role_. ") query: StrictStr = Field(description="The search query using Elasticsearch [Query String Query](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-query-string-query.html#query-string) syntax from the Query DSL. ") fields: Optional[List[StrictStr]] = Field(default=None, description="The fields to be searched against in a multi-field query. ") diff --git a/sailpoint/v3/models/saved_search_detail.py b/sailpoint/v3/models/saved_search_detail.py index e7b3aa26a..962528b00 100644 --- a/sailpoint/v3/models/saved_search_detail.py +++ b/sailpoint/v3/models/saved_search_detail.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.column import Column from sailpoint.v3.models.index import Index from sailpoint.v3.models.saved_search_detail_filters import SavedSearchDetailFilters @@ -33,7 +33,7 @@ class SavedSearchDetail(BaseModel): """ # noqa: E501 created: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") modified: Optional[datetime] = Field(default=None, description="A date-time in ISO-8601 format") - indices: List[Index] = Field(description="The names of the Elasticsearch indices in which to search. ") + indices: List[Union[Index, str]] = Field(description="The names of the Elasticsearch indices in which to search. ") columns: Optional[Dict[str, List[Column]]] = Field(default=None, description="The columns to be returned (specifies the order in which they will be presented) for each document type. The currently supported document types are: _accessprofile_, _accountactivity_, _account_, _aggregation_, _entitlement_, _event_, _identity_, and _role_. ") query: StrictStr = Field(description="The search query using Elasticsearch [Query String Query](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-query-string-query.html#query-string) syntax from the Query DSL. ") fields: Optional[List[StrictStr]] = Field(default=None, description="The fields to be searched against in a multi-field query. ") diff --git a/sailpoint/v3/models/saved_search_detail_filters.py b/sailpoint/v3/models/saved_search_detail_filters.py index 2594f1af6..c2df26357 100644 --- a/sailpoint/v3/models/saved_search_detail_filters.py +++ b/sailpoint/v3/models/saved_search_detail_filters.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.filter_type import FilterType from sailpoint.v3.models.range import Range from typing import Optional, Set @@ -29,7 +29,7 @@ class SavedSearchDetailFilters(BaseModel): """ SavedSearchDetailFilters """ # noqa: E501 - type: Optional[FilterType] = None + type: Optional[Union[FilterType, str]] = None range: Optional[Range] = None terms: Optional[List[StrictStr]] = Field(default=None, description="The terms to be filtered.") exclude: Optional[StrictBool] = Field(default=False, description="Indicates if the filter excludes results.") diff --git a/sailpoint/v3/models/search.py b/sailpoint/v3/models/search.py index b6fd03ba1..a3415c79e 100644 --- a/sailpoint/v3/models/search.py +++ b/sailpoint/v3/models/search.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.aggregation_type import AggregationType from sailpoint.v3.models.filter import Filter from sailpoint.v3.models.index import Index @@ -36,8 +36,8 @@ class Search(BaseModel): """ Search """ # noqa: E501 - indices: Optional[List[Index]] = Field(default=None, description="The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched.") - query_type: Optional[QueryType] = Field(default=QueryType.SAILPOINT, alias="queryType") + indices: Optional[List[Union[Index, str]]] = Field(default=None, description="The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched.") + query_type: Optional[Union[QueryType, str]] = Field(default=QueryType.SAILPOINT, alias="queryType") query_version: Optional[Any] = Field(default=None, alias="queryVersion") query: Optional[Query] = None query_dsl: Optional[Dict[str, Any]] = Field(default=None, description="The search query using the Elasticsearch [Query DSL](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/query-dsl.html) syntax.", alias="queryDsl") @@ -45,7 +45,7 @@ class Search(BaseModel): type_ahead_query: Optional[TypeAheadQuery] = Field(default=None, alias="typeAheadQuery") include_nested: Optional[StrictBool] = Field(default=True, description="Indicates whether nested objects from returned search results should be included.", alias="includeNested") query_result_filter: Optional[QueryResultFilter] = Field(default=None, alias="queryResultFilter") - aggregation_type: Optional[AggregationType] = Field(default=AggregationType.DSL, alias="aggregationType") + aggregation_type: Optional[Union[AggregationType, str]] = Field(default=AggregationType.DSL, alias="aggregationType") aggregations_version: Optional[Any] = Field(default=None, alias="aggregationsVersion") aggregations_dsl: Optional[Dict[str, Any]] = Field(default=None, description="The aggregation search query using Elasticsearch [Aggregations](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/search-aggregations.html) syntax.", alias="aggregationsDsl") aggregations: Optional[SearchAggregationSpecification] = None diff --git a/sailpoint/v3/models/search_export_report_arguments.py b/sailpoint/v3/models/search_export_report_arguments.py index 6438029b4..944c07e4a 100644 --- a/sailpoint/v3/models/search_export_report_arguments.py +++ b/sailpoint/v3/models/search_export_report_arguments.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.index import Index from typing import Optional, Set from typing_extensions import Self @@ -28,7 +28,7 @@ class SearchExportReportArguments(BaseModel): """ Arguments for Search Export report (SEARCH_EXPORT) The report file generated will be a zip file containing csv files of the search results. """ # noqa: E501 - indices: Optional[List[Index]] = Field(default=None, description="The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched.") + indices: Optional[List[Union[Index, str]]] = Field(default=None, description="The names of the Elasticsearch indices in which to search. If none are provided, then all indices will be searched.") query: StrictStr = Field(description="The query using the Elasticsearch [Query String Query](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/query-dsl-query-string-query.html#query-string) syntax from the Query DSL extended by SailPoint to support Nested queries.") columns: Optional[StrictStr] = Field(default=None, description="Comma separated string consisting of technical attribute names of fields to include in report. Use `access.spread`, `apps.spread`, `accounts.spread` to include respective identity access details. Use `accessProfiles.spread` to unclude access profile details. Use `entitlements.spread` to include entitlement details. ") sort: Optional[List[StrictStr]] = Field(default=None, description="The fields to be used to sort the search results. Use + or - to specify the sort direction.") diff --git a/sailpoint/v3/models/sod_exempt_criteria.py b/sailpoint/v3/models/sod_exempt_criteria.py index 78eaecffb..b69520956 100644 --- a/sailpoint/v3/models/sod_exempt_criteria.py +++ b/sailpoint/v3/models/sod_exempt_criteria.py @@ -19,7 +19,7 @@ import warnings from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.dto_type import DtoType from typing import Optional, Set from typing_extensions import Self @@ -29,7 +29,7 @@ class SodExemptCriteria(BaseModel): Details of the Entitlement criteria """ # noqa: E501 existing: Optional[StrictBool] = Field(default=False, description="If the entitlement already belonged to the user or not.") - type: Optional[DtoType] = None + type: Optional[Union[DtoType, str]] = None id: Optional[StrictStr] = Field(default=None, description="Entitlement ID") name: Optional[StrictStr] = Field(default=None, description="Entitlement name") __properties: ClassVar[List[str]] = ["existing", "type", "id", "name"] diff --git a/sailpoint/v3/models/work_items.py b/sailpoint/v3/models/work_items.py index 042140c54..065a0d51b 100644 --- a/sailpoint/v3/models/work_items.py +++ b/sailpoint/v3/models/work_items.py @@ -20,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List, Optional, Union from sailpoint.v3.models.approval_item_details import ApprovalItemDetails from sailpoint.v3.models.remediation_item_details import RemediationItemDetails from sailpoint.v3.models.work_item_state_manual_work_items import WorkItemStateManualWorkItems @@ -41,8 +41,8 @@ class WorkItems(BaseModel): created: Optional[datetime] = Field(default=None, description="Time when the work item was created") modified: Optional[datetime] = Field(default=None, description="Time when the work item was last updated") description: Optional[StrictStr] = Field(default=None, description="The description of the work item") - state: Optional[WorkItemStateManualWorkItems] = None - type: Optional[WorkItemTypeManualWorkItems] = None + state: Optional[Union[WorkItemStateManualWorkItems, str]] = None + type: Optional[Union[WorkItemTypeManualWorkItems, str]] = None remediation_items: Optional[List[RemediationItemDetails]] = Field(default=None, description="A list of remediation items", alias="remediationItems") approval_items: Optional[List[ApprovalItemDetails]] = Field(default=None, description="A list of items that need to be approved", alias="approvalItems") name: Optional[StrictStr] = Field(default=None, description="The work item name") diff --git a/sailpoint/v3/test/test_account_usage.py b/sailpoint/v3/test/test_account_usage.py index cd8ce5991..f7f07a27f 100644 --- a/sailpoint/v3/test/test_account_usage.py +++ b/sailpoint/v3/test/test_account_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> AccountUsage: model = AccountUsage() if include_optional: return AccountUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10 ) else: diff --git a/sailpoint/v3/test/test_non_employee_request_without_approval_item.py b/sailpoint/v3/test/test_non_employee_request_without_approval_item.py index 7fe7afc14..3b69ed401 100644 --- a/sailpoint/v3/test/test_non_employee_request_without_approval_item.py +++ b/sailpoint/v3/test/test_non_employee_request_without_approval_item.py @@ -50,8 +50,8 @@ def make_instance(self, include_optional) -> NonEmployeeRequestWithoutApprovalIt approval_status = 'APPROVED', comment = 'approved', completion_date = '2020-03-24T11:11:41.139-05:00', - start_date = 'Tue Mar 24 00:00:00 UTC 2020', - end_date = 'Thu Mar 25 00:00:00 UTC 2021', + start_date = 'Mon Mar 23 20:00:00 EDT 2020', + end_date = 'Wed Mar 24 20:00:00 EDT 2021', modified = '2020-03-24T11:11:41.139-05:00', created = '2020-03-24T11:11:41.139-05:00' ) diff --git a/sailpoint/v3/test/test_source_usage.py b/sailpoint/v3/test/test_source_usage.py index e1dcaa569..ecf5f3112 100644 --- a/sailpoint/v3/test/test_source_usage.py +++ b/sailpoint/v3/test/test_source_usage.py @@ -35,7 +35,7 @@ def make_instance(self, include_optional) -> SourceUsage: model = SourceUsage() if include_optional: return SourceUsage( - var_date = 'Fri Apr 21 00:00:00 UTC 2023', + var_date = 'Thu Apr 20 20:00:00 EDT 2023', count = 10.45 ) else: diff --git a/sdk-resources/lenient-enum-postprocess.js b/sdk-resources/lenient-enum-postprocess.js new file mode 100644 index 000000000..28bd90121 --- /dev/null +++ b/sdk-resources/lenient-enum-postprocess.js @@ -0,0 +1,135 @@ +/** + * Post-process generated model files to use Union[EnumType, str] for enum refs, + * so that unknown enum values from the API are accepted as plain strings + * (lenient enum validation). + * + * Usage: node lenient-enum-postprocess.js + * Example: node lenient-enum-postprocess.js ./sailpoint/v2025 + */ + +const fs = require("fs").promises; +const path = require("path"); + +const ENUM_CLASS_RE = /^\s*class\s+(\w+)\s*\([^)]*Enum\)/m; +const MODELS_SUBDIR = "models"; + +function extractEnumClassNames(content) { + const names = new Set(); + let m; + const re = new RegExp(ENUM_CLASS_RE.source, "gm"); + while ((m = re.exec(content)) !== null) { + names.add(m[1]); + } + return names; +} + +function isEnumFile(content) { + return ENUM_CLASS_RE.test(content); +} + +function applyLenientEnumToContent(content, enumNames) { + if (enumNames.size === 0) return { content, changed: false }; + let text = content; + let changed = false; + + for (const name of enumNames) { + // Optional[EnumType] -> Optional[Union[EnumType, str]] + const optRe = new RegExp(`Optional\\[${name}\\]`, "g"); + if (optRe.test(text)) { + text = text.replace(optRe, `Optional[Union[${name}, str]]`); + changed = true; + } + + // List[EnumType] -> List[Union[EnumType, str]] + const listRe = new RegExp(`List\\[${name}\\]`, "g"); + if (listRe.test(text)) { + text = text.replace(listRe, `List[Union[${name}, str]]`); + changed = true; + } + + // , EnumType] -> , Union[EnumType, str]] (e.g. Dict[str, E], Annotated[E, ...]) + const commaRe = new RegExp(`, ${name}\\]`, "g"); + if (commaRe.test(text)) { + text = text.replace(commaRe, `, Union[${name}, str]]`); + changed = true; + } + + // : EnumType = -> : Union[EnumType, str] = (required field type annotation) + const annotRe = new RegExp(`: ${name} =`, "g"); + if (annotRe.test(text)) { + text = text.replace(annotRe, `: Union[${name}, str] =`); + changed = true; + } + } + + if (changed) { + // Ensure Union is in a typing import line + if (!/\bUnion\b/.test(text) || !/from typing import [^\n]*\bUnion\b/.test(text)) { + const typingImportRe = /from typing import ([\w, ]+)/; + const firstMatch = text.match(typingImportRe); + if (firstMatch && !firstMatch[1].includes("Union")) { + text = text.replace(typingImportRe, (match, imports) => + `from typing import ${imports.trim().replace(/\s*,?\s*$/, "")}, Union` + ); + } + } + } + + return { content: text, changed }; +} + +async function main() { + const sdkPath = process.argv[2]; + if (!sdkPath) { + console.error("Usage: node lenient-enum-postprocess.js "); + process.exit(1); + } + + const modelsDir = path.join(path.resolve(sdkPath), MODELS_SUBDIR); + let stat; + try { + stat = await fs.stat(modelsDir); + } catch (e) { + console.error(`Models directory not found: ${modelsDir}`); + process.exit(1); + } + if (!stat.isDirectory()) { + console.error(`Not a directory: ${modelsDir}`); + process.exit(1); + } + + const files = await fs.readdir(modelsDir); + const pyFiles = files.filter((f) => f.endsWith(".py") && f !== "__init__.py"); + + const enumNames = new Set(); + const enumFiles = new Set(); + + for (const file of pyFiles) { + const filePath = path.join(modelsDir, file); + const content = await fs.readFile(filePath, "utf-8"); + const names = extractEnumClassNames(content); + if (names.size > 0) { + enumFiles.add(file); + names.forEach((n) => enumNames.add(n)); + } + } + + let fixCount = 0; + for (const file of pyFiles) { + if (enumFiles.has(file)) continue; + const filePath = path.join(modelsDir, file); + const content = await fs.readFile(filePath, "utf-8"); + const { content: newContent, changed } = applyLenientEnumToContent(content, enumNames); + if (changed) { + await fs.writeFile(filePath, newContent); + fixCount += 1; + } + } + + console.log(`Lenient enums: updated ${fixCount} model files (${enumNames.size} enum types).`); +} + +main().catch((err) => { + console.error(err); + process.exit(1); +}); diff --git a/sdk-resources/postscript.js b/sdk-resources/postscript.js index 5c55a361e..7d9380dce 100644 --- a/sdk-resources/postscript.js +++ b/sdk-resources/postscript.js @@ -152,14 +152,29 @@ const fixFiles = async function (myArray) { console.log(`Fixed ${fixCheck} files`); }; +const { spawnSync } = require('child_process'); + +const runLenientEnumPostprocess = (sdkPath) => { + const scriptPath = path.join(__dirname, 'lenient-enum-postprocess.js'); + const result = spawnSync(process.execPath, [scriptPath, sdkPath], { + stdio: 'inherit', + cwd: path.resolve(__dirname, '..') + }); + if (result.status !== 0) { + throw new Error(`lenient-enum-postprocess.js exited with code ${result.status}`); + } +}; + const main = async () => { let myArray = []; + const sdkPath = process.argv[2]; - await processDirectory(path.join(process.argv[2], '/docs')); - await renameFileToIndices(path.join(process.argv[2], '/docs/Models/Index.md')); - await getAllFiles(process.argv[2], myArray); + await processDirectory(path.join(sdkPath, '/docs')); + await renameFileToIndices(path.join(sdkPath, '/docs/Models/Index.md')); + await getAllFiles(sdkPath, myArray); await fixFiles(myArray); - await moveFiles(process.argv[2], path.join(process.argv[2], '/docs/Models'), "Index.md"); + await moveFiles(sdkPath, path.join(sdkPath, '/docs/Models'), "Index.md"); + runLenientEnumPostprocess(path.resolve(sdkPath)); }; main().catch((error) => { diff --git a/validation_test.py b/validation_test.py index 464bd1ca1..89e2a6721 100644 --- a/validation_test.py +++ b/validation_test.py @@ -89,5 +89,64 @@ def test_list_identities_with_v2026_endpoint(self): self.assertIsNotNone(tasks.data) self.assertEqual(200, tasks.status_code) + +class TestLenientEnumsV2025(unittest.TestCase): + """ + Validate that enum refs use Union[EnumType, str] so unknown values from the API + are accepted as plain strings (lenient enum validation). + Uses RequestedItemStatus and RequestedItemStatusRequestState as the main example. + """ + + def test_requested_item_status_accepts_known_state_enum(self): + """Known state value is coerced to RequestedItemStatusRequestState enum member.""" + from sailpoint.v2025.models.requested_item_status import RequestedItemStatus + from sailpoint.v2025.models.requested_item_status_request_state import RequestedItemStatusRequestState + + obj = RequestedItemStatus.model_validate({"state": "EXECUTING"}) + self.assertIsNotNone(obj.state) + self.assertEqual(obj.state, RequestedItemStatusRequestState.EXECUTING) + + def test_requested_item_status_accepts_unknown_state_as_str(self): + """Unknown state value is accepted as plain str (lenient enum).""" + from sailpoint.v2025.models.requested_item_status import RequestedItemStatus + + unknown_state = "FUTURE_STATE_NOT_IN_SPEC" + obj = RequestedItemStatus.model_validate({"state": unknown_state}) + self.assertIsNotNone(obj.state) + self.assertEqual(obj.state, unknown_state) + self.assertIsInstance(obj.state, str) + + def test_requested_item_status_accepts_known_request_type_enum(self): + """Known request_type value is coerced to AccessRequestType enum member.""" + from sailpoint.v2025.models.requested_item_status import RequestedItemStatus + from sailpoint.v2025.models.access_request_type import AccessRequestType + + obj = RequestedItemStatus.model_validate({"requestType": "GRANT_ACCESS"}) + self.assertIsNotNone(obj.request_type) + self.assertEqual(obj.request_type, AccessRequestType.GRANT_ACCESS) + + def test_requested_item_status_accepts_unknown_request_type_as_str(self): + """Unknown request_type value is accepted as plain str (lenient enum).""" + from sailpoint.v2025.models.requested_item_status import RequestedItemStatus + + unknown_type = "FUTURE_REQUEST_TYPE" + obj = RequestedItemStatus.model_validate({"requestType": unknown_type}) + self.assertIsNotNone(obj.request_type) + self.assertEqual(obj.request_type, unknown_type) + self.assertIsInstance(obj.request_type, str) + + def test_requested_item_status_unknown_state_round_trips_in_dict(self): + """Unknown state serializes and deserializes correctly (e.g. for API responses).""" + from sailpoint.v2025.models.requested_item_status import RequestedItemStatus + + unknown_state = "PENDING_NEW_BACKEND" + obj = RequestedItemStatus.model_validate({"state": unknown_state}) + d = obj.model_dump(by_alias=True) + self.assertIn("state", d) + self.assertEqual(d["state"], unknown_state) + obj2 = RequestedItemStatus.model_validate(d) + self.assertEqual(obj2.state, unknown_state) + + if __name__ == '__main__': unittest.main()