diff --git a/docs/api-ref.md b/docs/api-ref.md index 9c0cc38f6..69889c0c2 100644 --- a/docs/api-ref.md +++ b/docs/api-ref.md @@ -1594,9 +1594,6 @@ See [ProjectItem class](#projectitem-class) # call method to update project updated_project = server.projects.update(my_project) - - - ```

@@ -1624,8 +1621,6 @@ Name | Description `project_id` | The ID of the project to delete. - - **Exceptions** Error | Description @@ -1645,6 +1640,425 @@ Error | Description ``` +#### projects.populate_permissions +```py +projects.populate_permissions(item) +``` + +Queries the project permissions, parses and stores the returned the permissions. + +REST API: [Query Project Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_permissions.htm#query_project_permissions){:target="_blank"} + +**Parameters** + +Name | Description +:--- | :--- +`item` | A project object. + + +**Example** + +```py +# import tableauserverclient as TSC +# server = TSC.Server('https://MY-SERVER') +# sign in, etc. + + all_project_items, pagination_item = server.projects.get() + project_item = all_project_items[0] + server.projects.populate_permissions(project_item) +``` + + +#### projects.update_permission +```py +projects.update_permission(item, rules) +``` + +Add or update project permissions. + +REST API: [Add Project Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_permissions.htm#add_project_permissions){:target="_blank"} + +**Parameters** + +Name | Description +:--- | :--- +`item` | A project object. +`rules` | A list of PermissionsRule objects. + +**Example** + +```py +# import tableauserverclient as TSC +# server = TSC.Server('https://MY-SERVER') +# sign in, etc. + + all_project_items, pagination_item = server.projects.get() + project_item = all_project_items[0] + + project_capabilities = { + TSC.Permission.Capability.Read: TSC.Permission.Mode.Allow + } + + project_rules = TSC.PermissionsRule( + grantee=project_item, + capabilities=project_capabilities + ) + + server.projects.update_permission(project_item, [project_rules]) +``` + + +#### projects.delete_permission +```py +projects.delete_permission(item, rules) +``` + +Delete project permissions. + +REST API: [Delete Project Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_permissions.htm#delete_project_permission){:target="_blank"} + +**Parameters** + +Name | Description +:--- | :--- +`item` | A project object. +`rules` | A list of PermissionsRule objects or a single PermissionsRule object. + +**Example** + +```py +# import tableauserverclient as TSC +# server = TSC.Server('https://MY-SERVER') +# sign in, etc. + + all_project_items, pagination_item = server.projects.get() + project_item = all_project_items[0] + + project_capabilities = { + TSC.Permission.Capability.Read: TSC.Permission.Mode.Allow + } + + project_rules = TSC.PermissionsRule( + grantee=project_item, + capabilities=project_capabilities + ) + + server.projects.delete_permission(project_item) +``` + + +#### projects.populate_workbook_default_permissions +```py +projects.populate_workbook_default_permissions(item) +``` + +Queries the default workbook permissions, parses and stores the returned the permissions. + +REST API: [Query Default Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_permissions.htm#query_default_permissions){:target="_blank"} + +**Parameters** + +Name | Description +:--- | :--- +`item` | A project object. + +**Example** + +```py +# import tableauserverclient as TSC +# server = TSC.Server('https://MY-SERVER') +# sign in, etc. + + all_project_items, pagination_item = server.projects.get() + project_item = all_project_items[0] + server.projects.populate_workbook_default_permissions(project_item) +``` + +#### projects.populate_datasource_default_permissions +```py +projects.populate_datasource_default_permissions(item) +``` + +Queries the default datasource permissions, parses and stores the returned the permissions. + +REST API: [Query Default Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_permissions.htm#query_default_permissions){:target="_blank"} + +**Parameters** + +Name | Description +:--- | :--- +`item` | A project object. + +**Example** + +```py +# import tableauserverclient as TSC +# server = TSC.Server('https://MY-SERVER') +# sign in, etc. + + all_project_items, pagination_item = server.projects.get() + project_item = all_project_items[0] + server.projects.populate_datasource_default_permissions(project_item) +``` + + +#### projects.populate_flow_default_permissions +```py +projects.populate_flow_default_permissions(item) +``` + +Queries the default flow permissions, parses and stores the returned the permissions. + +REST API: [Query Default Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_permissions.htm#query_default_permissions){:target="_blank"} + + +**Parameters** + +Name | Description +:--- | :--- +`item` | A project object. + +**Example** + +```py +# import tableauserverclient as TSC +# server = TSC.Server('https://MY-SERVER') +# sign in, etc. + + all_project_items, pagination_item = server.projects.get() + project_item = all_project_items[0] + server.projects.populate_flow_default_permissions(project_item) +``` + +#### projects.update_workbook_default_permissions +```py +projects.update_workbook_default_permissions(item, rules) +``` + +Add or update default workbook permissions. + +REST API: [Add Default Workbook Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_permissions.htm#add_default_permissions){:target="_blank"} + +**Parameters** + +Name | Description +:--- | :--- +`item` | A project object. +`rules` | A list of PermissionsRule objects. + +**Example** + +```py +# import tableauserverclient as TSC +# server = TSC.Server('https://MY-SERVER') +# sign in, etc. + + all_project_items, pagination_item = server.projects.get() + project_item = all_project_items[0] + + capabilities = { + TSC.Permission.Capability.ViewComments: TSC.Permission.Mode.Allow + } + + rules = TSC.PermissionsRule( + grantee=project_item, + capabilities=capabilities + ) + + server.projects.update_workbook_default_permissions(project_item, [rules]) +``` + +#### projects.update_datasource_default_permissions +```py +projects.update_datasource_default_permissions(item, rules) +``` + +Add or update default datasource permissions. + +REST API: [Add Default Datasource Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_permissions.htm#add_default_permissions){:target="_blank"} + +**Parameters** + +Name | Description +:--- | :--- +`item` | A project object. +`rules` | A list of PermissionsRule objects. + +**Example** + +```py +# import tableauserverclient as TSC +# server = TSC.Server('https://MY-SERVER') +# sign in, etc. + + all_project_items, pagination_item = server.projects.get() + project_item = all_project_items[0] + + capabilities = { + TSC.Permission.Capability.ExportXml: TSC.Permission.Mode.Allow + } + + rules = TSC.PermissionsRule( + grantee=project_item, + capabilities=capabilities + ) + + server.projects.update_datasource_default_permissions(project_item, [rules]) +``` + + +#### projects.update_flow_default_permissions +```py +projects.update_flow_default_permissions(item, rules) +``` + +Add or update default flow permissions. + +REST API: [Add Default Flow Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_permissions.htm#add_default_permissions){:target="_blank"} + +**Parameters** + +Name | Description +:--- | :--- +`item` | A project object. +`rules` | A list of PermissionsRule objects. + +**Example** + +```py +# import tableauserverclient as TSC +# server = TSC.Server('https://MY-SERVER') +# sign in, etc. + + all_project_items, pagination_item = server.projects.get() + project_item = all_project_items[0] + + capabilities = { + TSC.Permission.Capability.Read: TSC.Permission.Mode.Allow + } + + rules = TSC.PermissionsRule( + grantee=project_item, + capabilities=capabilities + ) + + server.projects.update_flow_default_permissions(project_item, [rules]) +``` + +#### projects.delete_workbook_default_permissions +```py +projects.delete_workbook_default_permissions(item, rules) +``` + +Delete default workbook permissions. + +REST API: [Delete Default Workbook Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_permissions.htm#delete_default_permission){:target="_blank"} + +**Parameters** + +Name | Description +:--- | :--- +`item` | A project object. +`rules` | A list of PermissionsRule objects. + +**Example** + +```py +# import tableauserverclient as TSC +# server = TSC.Server('https://MY-SERVER') +# sign in, etc. + + all_project_items, pagination_item = server.projects.get() + project_item = all_project_items[0] + + capabilities = { + TSC.Permission.Capability.ViewComments: TSC.Permission.Mode.Allow + } + + rules = TSC.PermissionsRule( + grantee=project_item, + capabilities=capabilities + ) + + server.projects.delete_workbook_default_permissions(project_item, [rules]) +``` + +#### projects.delete_datasource_default_permissions +```py +projects.delete_datasource_default_permissions(item, rules) +``` + +Delete default datasource permissions. + +REST API: [Delete Default Datasource Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_permissions.htm#delete_default_permission){:target="_blank"} + +**Parameters** + +Name | Description +:--- | :--- +`item` | A project object. +`rules` | A list of PermissionsRule objects. + +**Example** + +```py +# import tableauserverclient as TSC +# server = TSC.Server('https://MY-SERVER') +# sign in, etc. + + all_project_items, pagination_item = server.projects.get() + project_item = all_project_items[0] + + capabilities = { + TSC.Permission.Capability.ExportXml: TSC.Permission.Mode.Allow + } + + rules = TSC.PermissionsRule( + grantee=project_item, + capabilities=capabilities + ) + + server.projects.delete_datasource_default_permissions(project_item, [rules]) +``` + +#### projects.delete_flow_default_permissions +```py +projects.delete_flow_default_permissions(item, rules) +``` + +Delete default flow permissions. + +REST API: [Delete Default Flow Permissions](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_permissions.htm#delete_default_permission){:target="_blank"} + +**Parameters** + +Name | Description +:--- | :--- +`item` | A project object. +`rules` | A list of PermissionsRule objects. + +**Example** + +```py +# import tableauserverclient as TSC +# server = TSC.Server('https://MY-SERVER') +# sign in, etc. + + all_project_items, pagination_item = server.projects.get() + project_item = all_project_items[0] + + capabilities = { + TSC.Permission.Capability.Read: TSC.Permission.Mode.Allow + } + + rules = TSC.PermissionsRule( + grantee=project_item, + capabilities=capabilities + ) + + server.projects.delete_flow_default_permissions(project_item, [rules]) +``` +