permit-golang

module
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 25, 2023 License: MIT

README

Go API client for openapi

Authorization as a service

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: 2.0.0
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/permitContext

Put the package under your project folder and add the following in import:

import openapi "github.com/GIT_USER_ID/GIT_REPO_ID"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set permitContext value sw.ContextServerIndex of type int.

ctx := permitContext.WithValue(permitContext.Background(), openapi.ContextServerIndex, 1)
Templated Server URL

Templated server URL is formatted using default variables from configuration or from permitContext value sw.ContextServerVariables of type map[string]string.

ctx := permitContext.WithValue(permitContext.Background(), openapi.ContextServerVariables, map[string]string{
	"basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identified by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices and sw.ContextOperationServerVariables permitContext maps.

ctx := permitContext.WithValue(permitContext.Background(), openapi.ContextOperationServerIndices, map[string]int{
	"{classname}Service.{nickname}": 2,
})
ctx = permitContext.WithValue(permitContext.Background(), openapi.ContextOperationServerVariables, map[string]map[string]string{
	"{classname}Service.{nickname}": {
		"port": "8443",
	},
})

Documentation for API Endpoints

All URIs are relative to http://localhost

Class Method HTTP request Description
APIKeysApi CreateApiKey Post /v2/api-key Create Api Key
APIKeysApi DeleteApiKey Delete /v2/api-key/{api_key_id} Delete Api Key
APIKeysApi GetApiKey Get /v2/api-key/{api_key_id} Get Api Key
APIKeysApi GetApiKeyScope Get /v2/api-key/scope Get Api Key Scope
APIKeysApi GetEnvironmentApiKey Get /v2/api-key/{proj_id}/{env_id} Get Environment Api Key
APIKeysApi ListApiKeys Get /v2/api-key List Api Keys
AuthenticationApi DevLogin Post /v2/auth/devlogin (DEV MODE) Login
AuthenticationApi ElementsLoginAs Post /v2/auth/elements_login_as Elements Login As
AuthenticationApi Login Post /v2/auth/login Login
AuthenticationApi LoginElements Get /v2/auth/login_elements Login Elements
AuthenticationApi LogoutGet Get /v2/auth/logout Logout Get
AuthenticationApi LogoutPost Post /v2/auth/logout Logout Post
AuthenticationApi Me Get /v2/auth/me Me
AuthenticationApi SwitchOrganization Post /v2/auth/switch_org/{org_id} Switch Organization
ConditionSetRulesApi AssignSetPermissions Post /v2/facts/{proj_id}/{env_id}/set_rules Assign Set Permissions
ConditionSetRulesApi ListSetPermissions Get /v2/facts/{proj_id}/{env_id}/set_rules List Set Permissions
ConditionSetRulesApi UnassignSetPermissions Delete /v2/facts/{proj_id}/{env_id}/set_rules Unassign Set Permissions
ConditionSetsApi CreateConditionSet Post /v2/schema/{proj_id}/{env_id}/condition_sets Create Condition Set
ConditionSetsApi DeleteConditionSet Delete /v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id} Delete Condition Set
ConditionSetsApi GetConditionSet Get /v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id} Get Condition Set
ConditionSetsApi ListConditionSets Get /v2/schema/{proj_id}/{env_id}/condition_sets List Condition Sets
ConditionSetsApi UpdateConditionSet Patch /v2/schema/{proj_id}/{env_id}/condition_sets/{condition_set_id} Update Condition Set
DecisionLogsApi ListPdpDecisionLogs Get /v2/pdps/{proj_id}/{env_id}/decision-logs/{pdp_id} List PDP Decisions
DecisionLogsIngressApi InsertOpaDecisionLogs Post /v2/decision-logs/ingress OPA Decision Logs Ingress
DefaultApi Dummy Get /v2/stress/dummy Dummy
DefaultApi DummyDb Get /v2/stress/db/dummy Dummy Db
DefaultApi GetOrganizationV2StressDbOrganizationGet Get /v2/stress/db/organization Get Organization
DefaultApi GetOrganizationWithAuthn Get /v2/stress/db/organization_auth Get Organization With Authn
DefaultApi GetOrganizationWithAuthz Get /v2/stress/db/organization_authz Get Organization With Authz
ElementsConfigsApi CreateElementsConfig Post /v2/elements/{proj_id}/{env_id}/config Create Elements Config
ElementsConfigsApi DeleteElementsConfig Delete /v2/elements/{proj_id}/{env_id}/{elements_config_id} Delete Elements Config
ElementsConfigsApi GetElementsConfig Get /v2/elements/{proj_id}/{env_id}/config/{elements_config_id} Get Elements Config
ElementsConfigsApi GetEnvConfig Get /v2/elements/{proj_id}/{env_id} Get Env Config
ElementsConfigsApi ListElementsConfigs Get /v2/elements/{proj_id}/{env_id}/config List Elements Configs
ElementsConfigsApi UpdateElementsConfig Patch /v2/elements/{proj_id}/{env_id}/config/{elements_config_id} Update Elements Config
ElementsConfigsApi UpdateElementsEnv Patch /v2/elements/{proj_id}/{env_id} Update Elements Env
ElementsDataApi ElementsAssignRoleToUser Post /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/users/{user_id}/roles Assign role to userCreate
ElementsDataApi ElementsCreateUser Post /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/users Create userCreate
ElementsDataApi ElementsDeleteUser Delete /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/users/{user_id} Delete userCreate
ElementsDataApi ElementsListRoles Get /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/roles List roles
ElementsDataApi ElementsListUsers Get /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/users List users
ElementsDataApi ElementsUnassignRoleFromUser Delete /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/users/{user_id}/roles Unassign role from userCreate
ElementsDataApi SetConfigActive Post /v2/elements/{proj_id}/{env_id}/config/{elements_config_id}/data/active Set Config Active
EnvironmentsApi CreateEnvironment Post /v2/projects/{proj_id}/envs Create Environment
EnvironmentsApi DeleteEnvironment Delete /v2/projects/{proj_id}/envs/{env_id} Delete Environment
EnvironmentsApi GetEnvironment Get /v2/projects/{proj_id}/envs/{env_id} Get Environment
EnvironmentsApi ListEnvironments Get /v2/projects/{proj_id}/envs List Environments
EnvironmentsApi StatsEnvironments Get /v2/projects/{proj_id}/envs/{env_id}/stats Stats Environments
EnvironmentsApi UpdateEnvironment Patch /v2/projects/{proj_id}/envs/{env_id} Update Environment
InstructionsApi ListLanguageInstructions Get /v2/{proj_id}/{env_id}/get_instructions List Language Instructions
MembersApi DeleteOrganizationMember Delete /v2/members/{member_id} Delete Organization Member
MembersApi GetAuthenticatedMember Get /v2/members/me Get the authenticated account member
MembersApi GetOrganizationMember Get /v2/members/{member_id} Get Organization Member
MembersApi ListOrganizationMembers Get /v2/members List Organization Members
MembersApi UpdateOrganizationMember Patch /v2/members/{member_id} Update Organization Member
OPALDataApi GetAllData Get /v2/internal/opal_data/{org_id}/{proj_id}/{env_id} Get All Data
OPALDataApi GetDataForRole Get /v2/internal/opal_data/{org_id}/{proj_id}/{env_id}/roles/{role_id} Get Data For Role
OPALDataApi GetDataForSetRule Get /v2/internal/opal_data/{org_id}/{proj_id}/{env_id}/condition_set_rules/{user_set_id}/{resource_set_id} Get Data For Set Rule
OPALDataApi GetDataForUser Get /v2/internal/opal_data/{org_id}/{proj_id}/{env_id}/users/{user_id} Get Data For User
OrganizationsApi CancelInvite Delete /v2/orgs/{org_id}/invites/{invite_id} Cancel Invite
OrganizationsApi CreateOrganization Post /v2/orgs Create Organization
OrganizationsApi DeleteOrganization Delete /v2/orgs/{org_id} Delete Organization
OrganizationsApi GetActiveOrganization Get /v2/orgs/active/org Get Active Organization
OrganizationsApi GetOrganization Get /v2/orgs/{org_id} Get Organization
OrganizationsApi InviteMembersToOrganization Post /v2/orgs/{org_id}/invites Invite Members To Organization
OrganizationsApi ListOrganizationInvites Get /v2/orgs/{org_id}/invites List Organization Invites
OrganizationsApi ListOrganizations Get /v2/orgs List Organizations
OrganizationsApi UpdateOrganization Patch /v2/orgs/{org_id} Update Organization
PolicyApi GetOpalDataSources Get /v2/opal/data/config Get Opal Data Sources
PolicyApi GetOpalDataSourcesOpalDataConfigGet Get /opal/data/config Get Opal Data Sources
PolicyDecisionPointsApi GetAuthenticatingPdpConfigValues Post /v2/pdps/me/config Get connected PDP configuration and push state
PolicyDecisionPointsApi GetAuthenticatingPdpConfigValuesLegacy Get /v2/pdps/me/config Get connected PDP configuration
PolicyDecisionPointsApi GetPdpConfigValues Get /v2/pdps/{proj_id}/{env_id}/configs/{pdp_id}/values Get PDP configuration
PolicyDecisionPointsApi ListPdpConfigs Get /v2/pdps/{proj_id}/{env_id}/configs List PDP configurations
PolicyDecisionPointsApi RotatePdpApiKey Post /v2/pdps/{proj_id}/{env_id}/configs/{pdp_id}/rotate-api-key Rotate PDP API Key
PolicyGitRepositoriesApi ActivatePolicyRepo Put /v2/projects/{proj_id}/repos/{repo_id}/activate Activate Policy Repo
PolicyGitRepositoriesApi CreatePolicyRepo Post /v2/projects/{proj_id}/repos Create Policy Repo
PolicyGitRepositoriesApi DeletePolicyRepo Delete /v2/projects/{proj_id}/repos/{repo_id} Delete Policy Repo
PolicyGitRepositoriesApi DisableActivePolicyRepo Put /v2/projects/{proj_id}/repos/disable Disable Active Policy Repo
PolicyGitRepositoriesApi GetActivePolicyRepo Get /v2/projects/{proj_id}/repos/active Get Active Policy Repo
PolicyGitRepositoriesApi GetPolicyRepo Get /v2/projects/{proj_id}/repos/{repo_id} Get Policy Repo
PolicyGitRepositoriesApi ListPolicyRepos Get /v2/projects/{proj_id}/repos List Policy Repos
ProjectsApi CreateProject Post /v2/projects Create Project
ProjectsApi DeleteProject Delete /v2/projects/{proj_id} Delete Project
ProjectsApi GetProject Get /v2/projects/{proj_id} Get Project
ProjectsApi ListProjects Get /v2/projects List Projects
ProjectsApi UpdateProject Patch /v2/projects/{proj_id} Update Project
ResourceActionsApi CreateResourceAction Post /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/actions Create Resource Action
ResourceActionsApi DeleteResourceAction Delete /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/actions/{action_id} Delete Resource Action
ResourceActionsApi GetResourceAction Get /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/actions/{action_id} Get Resource Action
ResourceActionsApi ListResourceActions Get /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/actions List Resource Actions
ResourceActionsApi UpdateResourceAction Patch /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/actions/{action_id} Update Resource Action
ResourceAttributesApi CreateResourceAttribute Post /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/attributes Create Resource Attribute
ResourceAttributesApi DeleteResourceAttribute Delete /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/attributes/{attribute_id} Delete Resource Attribute
ResourceAttributesApi GetResourceAttribute Get /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/attributes/{attribute_id} Get Resource Attribute
ResourceAttributesApi ListResourceAttributes Get /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/attributes List Resource Attributes
ResourceAttributesApi UpdateResourceAttribute Patch /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/attributes/{attribute_id} Update Resource Attribute
ResourceInstancesApi CreateResourceInstance Post /v2/facts/{proj_id}/{env_id}/resource_instances Create Resource Instance
ResourceInstancesApi DeleteResourceInstance Delete /v2/facts/{proj_id}/{env_id}/resource_instances/{instance_id} Delete Resource Instance
ResourceInstancesApi GetResourceInstance Get /v2/facts/{proj_id}/{env_id}/resource_instances/{instance_id} Get Resource Instance
ResourceInstancesApi ListResourceInstances Get /v2/facts/{proj_id}/{env_id}/resource_instances List Resource Instances
ResourceInstancesApi UpdateResourceInstance Patch /v2/facts/{proj_id}/{env_id}/resource_instances/{instance_id} Update Resource Instance
ResourceRolesApi AddParentResourceRole Put /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/parents/{parent_role_id} Add Parent Role
ResourceRolesApi AssignPermissionsToResourceRole Post /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/permissions Assign Permissions to Role
ResourceRolesApi CreateResourceRole Post /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles Create Resource Role
ResourceRolesApi DeleteResourceRole Delete /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id} Delete Resource Role
ResourceRolesApi GetResourceRole Get /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id} Get Resource Role
ResourceRolesApi ListResourceRoles Get /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles List Resource Roles
ResourceRolesApi RemoveParentResourceRole Delete /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/parents/{parent_role_id} Remove Parent Role
ResourceRolesApi RemovePermissionsFromResourceRole Delete /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id}/permissions Remove Permissions from Role
ResourceRolesApi UpdateResourceRole Patch /v2/schema/{proj_id}/{env_id}/resources/{resource_id}/roles/{role_id} Update Resource Role
ResourcesApi CreateResource Post /v2/schema/{proj_id}/{env_id}/resources Create Resource
ResourcesApi DeleteResource Delete /v2/schema/{proj_id}/{env_id}/resources/{resource_id} Delete Resource
ResourcesApi GetResource Get /v2/schema/{proj_id}/{env_id}/resources/{resource_id} Get Resource
ResourcesApi ListResources Get /v2/schema/{proj_id}/{env_id}/resources List Resources
ResourcesApi ReplaceResource Put /v2/schema/{proj_id}/{env_id}/resources/{resource_id} Replace Resource
ResourcesApi UpdateResource Patch /v2/schema/{proj_id}/{env_id}/resources/{resource_id} Update Resource
RoleAssignmentsApi AssignRole Post /v2/facts/{proj_id}/{env_id}/role_assignments Assign Role
RoleAssignmentsApi ListRoleAssignments Get /v2/facts/{proj_id}/{env_id}/role_assignments List Role Assignments
RoleAssignmentsApi UnassignRole Delete /v2/facts/{proj_id}/{env_id}/role_assignments Unassign Role
RolesApi AddParentRole Put /v2/schema/{proj_id}/{env_id}/roles/{role_id}/parents/{parent_role_id} Add Parent Role
RolesApi AssignPermissionsToRole Post /v2/schema/{proj_id}/{env_id}/roles/{role_id}/permissions Assign Permissions To Role
RolesApi CreateRole Post /v2/schema/{proj_id}/{env_id}/roles Create Role
RolesApi DeleteRole Delete /v2/schema/{proj_id}/{env_id}/roles/{role_id} Delete Role
RolesApi GetRole Get /v2/schema/{proj_id}/{env_id}/roles/{role_id} Get Role
RolesApi ListRoles Get /v2/schema/{proj_id}/{env_id}/roles List Roles
RolesApi RemoveParentRole Delete /v2/schema/{proj_id}/{env_id}/roles/{role_id}/parents/{parent_role_id} Remove Parent Role
RolesApi RemovePermissionsFromRole Delete /v2/schema/{proj_id}/{env_id}/roles/{role_id}/permissions Remove Permissions From Role
RolesApi UpdateRole Patch /v2/schema/{proj_id}/{env_id}/roles/{role_id} Update Role
TenantsApi CreateTenant Post /v2/facts/{proj_id}/{env_id}/tenants Create Tenant
TenantsApi DeleteTenant Delete /v2/facts/{proj_id}/{env_id}/tenants/{tenant_id} Delete Tenant
TenantsApi DeleteTenantUser Delete /v2/facts/{proj_id}/{env_id}/tenants/{tenant_id}/users/{user_id} Delete Tenant User
TenantsApi GetTenant Get /v2/facts/{proj_id}/{env_id}/tenants/{tenant_id} Get Tenant
TenantsApi ListTenantUsers Get /v2/facts/{proj_id}/{env_id}/tenants/{tenant_id}/users List Tenant Users
TenantsApi ListTenants Get /v2/facts/{proj_id}/{env_id}/tenants List Tenants
TenantsApi UpdateTenant Patch /v2/facts/{proj_id}/{env_id}/tenants/{tenant_id} Update Tenant
UserAttributesApi CreateUserAttribute Post /v2/schema/{proj_id}/{env_id}/users/attributes Create User Attribute
UserAttributesApi DeleteUserAttribute Delete /v2/schema/{proj_id}/{env_id}/users/attributes/{attribute_id} Delete User Attribute
UserAttributesApi GetUserAttribute Get /v2/schema/{proj_id}/{env_id}/users/attributes/{attribute_id} Get User Attribute
UserAttributesApi ListUserAttributes Get /v2/schema/{proj_id}/{env_id}/users/attributes List User Attributes
UserAttributesApi UpdateUserAttribute Patch /v2/schema/{proj_id}/{env_id}/users/attributes/{attribute_id} Update User Attribute
UsersApi AssignRoleToUser Post /v2/facts/{proj_id}/{env_id}/users/{user_id}/roles Assign Role To User
UsersApi CreateUser Post /v2/facts/{proj_id}/{env_id}/users Create User
UsersApi DeleteUser Delete /v2/facts/{proj_id}/{env_id}/users/{user_id} Delete User
UsersApi GetUser Get /v2/facts/{proj_id}/{env_id}/users/{user_id} Get User
UsersApi ListUsers Get /v2/facts/{proj_id}/{env_id}/users List Users
UsersApi ReplaceUser Put /v2/facts/{proj_id}/{env_id}/users/{user_id} Replace User
UsersApi UnassignRoleFromUser Delete /v2/facts/{proj_id}/{env_id}/users/{user_id}/roles Unassign Role From User
UsersApi UpdateUser Patch /v2/facts/{proj_id}/{env_id}/users/{user_id} Update User

Documentation For Models

Documentation For Authorization

HTTPBearer
  • Type: HTTP Bearer token authentication

Example

auth := permitContext.WithValue(permitContext.Background(), sw.ContextAccessToken, "BEARER_TOKEN_STRING")
r, err := client.Service.Operation(auth, args)

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime

Author

Directories

Path Synopsis
pkg
api

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL