Skip to content

opalsecurity/opal-python

Repository files navigation

opal-security

The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 1.0
  • Releases
  • Generator version: 7.10.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen

For more information, please visit https://www.opal.dev/

Requirements.

Python 3.8+

Installation & Usage

pip install

We recommend installing from PyPI using pip:

pip install opal-security

You can also install via git:

pip install git+https://github.com/opalsecurity/opal-python.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/opalsecurity/opal-python.git)

Then import the package:

import opal_security as opal

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import opal_security as opal

Tests

Execute pytest to run the tests.

Getting Started

Please follow the installation procedure and then run the following:

from opal_security.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.opal.dev/v1
# See configuration.py for a list of all supported configuration parameters.
import opal_security as opal

configuration = opal.Configuration(
    host = "https://api.opal.dev/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure Bearer authorization: BearerAuth
configuration = opal.Configuration(
    access_token = os.environ["BEARER_TOKEN"]
)


# Enter a context with an instance of the API client
with opal.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = opal.AccessRulesApi(api_client)
    update_access_rule_info = opal_security.UpdateAccessRuleInfo() # UpdateAccessRuleInfo | 

    try:
        api_response = api_instance.create_access_rule(update_access_rule_info)
        print("The response of AccessRulesApi->create_access_rule:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AccessRulesApi->create_access_rule: %s\n" % e)

Example with Events API:

import time
import opal_security as opal
from pprint import pprint
# Defining the host is optional and defaults to https://api.opal.dev/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = opal.Configuration(
    host = "https://api.opal.dev/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure Bearer authorization: BearerAuth
configuration = opal.Configuration(
    access_token = 'YOUR_BEARER_TOKEN'
)


# Enter a context with an instance of the API client
with opal.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = opal.EventsApi(api_client)
    start_date_filter = "2021/11/01" # str | A start date filter for the events. (optional)
    end_date_filter = "2021-11-12" # str | An end date filter for the events. (optional)
    actor_filter = "29827fb8-f2dd-4e80-9576-28e31e9934ac" # str | An actor filter for the events. Supply the ID of the actor. (optional)
    object_filter = "29827fb8-f2dd-4e80-9576-28e31e9934ac" # str | An object filter for the events. Supply the ID of the object. (optional)
    event_type_filter = "29827fb8-f2dd-4e80-9576-28e31e9934ac" # str | An event type filter for the events. (optional)
    cursor = "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw" # str | The pagination cursor value. (optional)
    page_size = 200 # int | Number of results to return per page. Default is 200. (optional)

    try:
        api_response = api_instance.events(start_date_filter=start_date_filter, end_date_filter=end_date_filter, actor_filter=actor_filter, object_filter=object_filter, event_type_filter=event_type_filter, cursor=cursor, page_size=page_size)
        pprint(api_response.dict())
    except opal.ApiException as e:
        print("Exception when calling EventsApi->events: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://api.opal.dev/v1

Class Method HTTP request Description
AccessRulesApi create_access_rule POST /access-rules
AccessRulesApi get_access_rule GET /access-rules/{access_rule_id}
AccessRulesApi update_access_rule PUT /access-rules/{access_rule_id}
AppsApi get_app GET /apps/{app_id} Get app by ID
AppsApi get_apps GET /apps Get apps
AppsApi get_sync_errors GET /sync_errors
BundlesApi add_bundle_group POST /bundles/{bundle_id}/groups
BundlesApi add_bundle_resource POST /bundles/{bundle_id}/resources
BundlesApi create_bundle POST /bundles
BundlesApi delete_bundle DELETE /bundles/{bundle_id}
BundlesApi get_bundle GET /bundles/{bundle_id} Get bundle by ID
BundlesApi get_bundle_groups GET /bundles/{bundle_id}/groups
BundlesApi get_bundle_resources GET /bundles/{bundle_id}/resources
BundlesApi get_bundle_visibility GET /bundles/{bundle_id}/visibility
BundlesApi get_bundles GET /bundles Get bundles
BundlesApi remove_bundle_group DELETE /bundles/{bundle_id}/groups/{group_id}
BundlesApi remove_bundle_resource DELETE /bundles/{bundle_id}/resources/{resource_id}
BundlesApi set_bundle_visibility PUT /bundles/{bundle_id}/visibility
BundlesApi update_bundle PUT /bundles/{bundle_id}
ConfigurationTemplatesApi create_configuration_template POST /configuration-templates
ConfigurationTemplatesApi delete_configuration_template DELETE /configuration-templates/{configuration_template_id}
ConfigurationTemplatesApi get_configuration_templates GET /configuration-templates
ConfigurationTemplatesApi update_configuration_template PUT /configuration-templates
DelegationsApi create_delegation POST /delegations
DelegationsApi delete_delegation DELETE /delegations/{delegation_id}
DelegationsApi get_delegation GET /delegations/{delegation_id} Get delegation by ID
DelegationsApi get_delegations GET /delegations Get delegations
EventsApi events GET /events
GroupBindingsApi create_group_binding POST /group-bindings
GroupBindingsApi delete_group_binding DELETE /group-bindings/{group_binding_id}
GroupBindingsApi get_group_binding GET /group-bindings/{group_binding_id} Get group binding by ID
GroupBindingsApi get_group_bindings GET /group-bindings Get group bindings
GroupBindingsApi update_group_bindings PUT /group-bindings
GroupsApi add_group_containing_group POST /groups/{group_id}/containing-groups
GroupsApi add_group_resource POST /groups/{group_id}/resources/{resource_id}
GroupsApi add_group_user POST /groups/{group_id}/users/{user_id}
GroupsApi create_group POST /groups
GroupsApi delete_group DELETE /groups/{group_id}
GroupsApi delete_group_user DELETE /groups/{group_id}/users/{user_id}
GroupsApi get_group GET /groups/{group_id} Get group by ID
GroupsApi get_group_containing_group GET /groups/{group_id}/containing-groups/{containing_group_id} Get nested group by ID
GroupsApi get_group_containing_groups GET /groups/{group_id}/containing-groups Get nested groups
GroupsApi get_group_message_channels GET /groups/{group_id}/message-channels
GroupsApi get_group_on_call_schedules GET /groups/{group_id}/on-call-schedules
GroupsApi get_group_resources GET /groups/{group_id}/resources
GroupsApi get_group_reviewer_stages GET /groups/{group_id}/reviewer-stages
GroupsApi get_group_reviewers GET /groups/{group_id}/reviewers
GroupsApi get_group_tags GET /groups/{group_id}/tags
GroupsApi get_group_users GET /groups/{group_id}/users
GroupsApi get_group_visibility GET /groups/{group_id}/visibility
GroupsApi get_groups GET /groups Get groups
GroupsApi get_user_groups GET /groups/users/{user_id}
GroupsApi remove_group_containing_group DELETE /groups/{group_id}/containing-groups/{containing_group_id}
GroupsApi set_group_message_channels PUT /groups/{group_id}/message-channels
GroupsApi set_group_on_call_schedules PUT /groups/{group_id}/on-call-schedules
GroupsApi set_group_resources PUT /groups/{group_id}/resources
GroupsApi set_group_reviewer_stages PUT /groups/{group_id}/reviewer-stages
GroupsApi set_group_reviewers PUT /groups/{group_id}/reviewers
GroupsApi set_group_visibility PUT /groups/{group_id}/visibility
GroupsApi update_group_user PUT /groups/{group_id}/users/{user_id}
GroupsApi update_groups PUT /groups
IdpGroupMappingsApi create_idp_group_mapping POST /idp-group-mappings/{app_resource_id}/groups/{group_id}
IdpGroupMappingsApi delete_idp_group_mappings DELETE /idp-group-mappings/{app_resource_id}/groups/{group_id}
IdpGroupMappingsApi get_idp_group_mapping GET /idp-group-mappings/{app_resource_id}/groups/{group_id}
IdpGroupMappingsApi get_idp_group_mappings GET /idp-group-mappings/{app_resource_id}
IdpGroupMappingsApi update_idp_group_mappings PUT /idp-group-mappings/{app_resource_id}
MessageChannelsApi create_message_channel POST /message-channels
MessageChannelsApi get_message_channel GET /message-channels/{message_channel_id} Get message channel by ID
MessageChannelsApi get_message_channels GET /message-channels Get message channels
NonHumanIdentitiesApi get_nhis GET /non-human-identities
OnCallSchedulesApi create_on_call_schedule POST /on-call-schedules
OnCallSchedulesApi get_on_call_schedule GET /on-call-schedules/{on_call_schedule_id} Get on call schedule by ID
OnCallSchedulesApi get_on_call_schedules GET /on-call-schedules Get on call schedules
OwnersApi create_owner POST /owners
OwnersApi delete_owner DELETE /owners/{owner_id}
OwnersApi get_owner GET /owners/{owner_id} Get owner by ID
OwnersApi get_owner_from_name GET /owners/name/{owner_name}
OwnersApi get_owner_users GET /owners/{owner_id}/users
OwnersApi get_owners GET /owners Get owners
OwnersApi set_owner_users PUT /owners/{owner_id}/users
OwnersApi update_owners PUT /owners
RequestsApi approve_request POST /requests/{id}/approve
RequestsApi create_request POST /requests
RequestsApi create_request_comment POST /requests/{id}/comments
RequestsApi deny_request POST /requests/{id}/deny
RequestsApi get_request GET /requests/{id} Get request by ID
RequestsApi get_request_comments GET /requests/{id}/comments
RequestsApi get_requests GET /requests Get requests
RequestsApi get_requests_relay GET /requests/relay Get requests via Relay
ResourcesApi add_resource_nhi POST /resources/{resource_id}/non-human-identities/{non_human_identity_id}
ResourcesApi add_resource_user POST /resources/{resource_id}/users/{user_id}
ResourcesApi create_resource POST /resources
ResourcesApi delete_resource DELETE /resources/{resource_id}
ResourcesApi delete_resource_nhi DELETE /resources/{resource_id}/non-human-identities/{non_human_identity_id}
ResourcesApi delete_resource_user DELETE /resources/{resource_id}/users/{user_id}
ResourcesApi get_resource GET /resources/{resource_id} Get resource by ID
ResourcesApi get_resource_message_channels GET /resources/{resource_id}/message-channels
ResourcesApi get_resource_nhis GET /resources/{resource_id}/non-human-identities
ResourcesApi get_resource_reviewer_stages GET /resources/{resource_id}/reviewer-stages
ResourcesApi get_resource_reviewers GET /resources/{resource_id}/reviewers
ResourcesApi get_resource_scoped_role_permissions GET /resources/{resource_id}/scoped-role-permissions
ResourcesApi get_resource_tags GET /resources/{resource_id}/tags
ResourcesApi get_resource_user GET /resources/{resource_id}/users/{user_id} Get resource user
ResourcesApi get_resource_users GET /resources/{resource_id}/users Get resource users
ResourcesApi get_resource_visibility GET /resources/{resource_id}/visibility
ResourcesApi get_resources GET /resources Get resources
ResourcesApi get_user_resources GET /resources/users/{user_id}
ResourcesApi resource_user_access_status_retrieve GET /resource-user-access-status/{resource_id}/{user_id}
ResourcesApi set_resource_message_channels PUT /resources/{resource_id}/message-channels
ResourcesApi set_resource_reviewer_stages PUT /resources/{resource_id}/reviewer-stages
ResourcesApi set_resource_reviewers PUT /resources/{resource_id}/reviewers
ResourcesApi set_resource_scoped_role_permissions PUT /resources/{resource_id}/scoped-role-permissions
ResourcesApi set_resource_visibility PUT /resources/{resource_id}/visibility
ResourcesApi update_resource_user PUT /resources/{resource_id}/users/{user_id}
ResourcesApi update_resources PUT /resources
SessionsApi sessions GET /sessions
TagsApi add_group_tag POST /tags/{tag_id}/groups/{group_id}
TagsApi add_resource_tag POST /tags/{tag_id}/resources/{resource_id}
TagsApi add_user_tag POST /tags/{tag_id}/users/{user_id}
TagsApi create_tag POST /tag
TagsApi delete_tag_by_id DELETE /tag/{tag_id}
TagsApi get_tag GET /tag
TagsApi get_tag_by_id GET /tag/{tag_id} Get tag by ID
TagsApi get_tags GET /tags Get tags
TagsApi remove_group_tag DELETE /tags/{tag_id}/groups/{group_id}
TagsApi remove_resource_tag DELETE /tags/{tag_id}/resources/{resource_id}
TagsApi remove_user_tag DELETE /tags/{tag_id}/users/{user_id}
UarsApi create_uar POST /uar
UarsApi get_uar GET /uar/{uar_id}
UarsApi get_uars GET /uars
UsersApi get_remote_users GET /users/remote_users
UsersApi get_user_tags GET /users/{user_id}/tags
UsersApi get_users GET /users
UsersApi user GET /user

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

BearerAuth

  • Type: Bearer authentication

Author

hello@opal.dev

About

Opal Python SDK

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 8

Languages