Skip to content

Commit 53e85be

Browse files
committed
15.2.0
1 parent 6a6fbe2 commit 53e85be

File tree

6 files changed

+274
-30
lines changed

6 files changed

+274
-30
lines changed

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
setup(
2424
name='strongdm',
2525
packages=['strongdm'],
26-
version='15.1.0',
26+
version='15.2.0',
2727
license='apache-2.0',
2828
description='strongDM SDK for the Python programming language.',
2929
long_description=long_description,
@@ -32,7 +32,7 @@
3232
author_email='[email protected]',
3333
url='https://github.com/strongdm/strongdm-sdk-python',
3434
download_url=
35-
'https://github.com/strongdm/strongdm-sdk-python/archive/v15.1.0.tar.gz',
35+
'https://github.com/strongdm/strongdm-sdk-python/archive/v15.2.0.tar.gz',
3636
keywords=[
3737
'strongDM', 'sdm', 'api', 'automation', 'security', 'audit',
3838
'database', 'server', 'ssh', 'rdp'

strongdm.egg-info/PKG-INFO

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
Metadata-Version: 2.1
22
Name: strongdm
3-
Version: 15.1.0
3+
Version: 15.2.0
44
Summary: strongDM SDK for the Python programming language.
55
Home-page: https://github.com/strongdm/strongdm-sdk-python
66
Author: strongDM Team
77
Author-email: [email protected]
88
License: apache-2.0
9-
Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v15.1.0.tar.gz
9+
Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v15.2.0.tar.gz
1010
Keywords: strongDM,sdm,api,automation,security,audit,database,server,ssh,rdp
1111
Platform: UNKNOWN
1212
Classifier: Development Status :: 4 - Beta

strongdm/client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
DEFAULT_RETRY_FACTOR = 1.6
3535
DEFAULT_RETRY_JITTER = 0.2
3636
API_VERSION = '2025-04-14'
37-
USER_AGENT = 'strongdm-sdk-python/15.1.0'
37+
USER_AGENT = 'strongdm-sdk-python/15.2.0'
3838

3939

4040
class Client:

strongdm/models.py

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16324,6 +16324,132 @@ def from_dict(cls, d):
1632416324
)
1632516325

1632616326

16327+
class LogCategoryConfig:
16328+
__slots__ = [
16329+
'remote_discard_replays',
16330+
'remote_encoder',
16331+
]
16332+
16333+
def __init__(
16334+
self,
16335+
remote_discard_replays=None,
16336+
remote_encoder=None,
16337+
):
16338+
self.remote_discard_replays = remote_discard_replays if remote_discard_replays is not None else False
16339+
'''
16340+
Indicates if the Organization should exclude replay data from remote logging for the log category.
16341+
'''
16342+
self.remote_encoder = remote_encoder if remote_encoder is not None else ''
16343+
'''
16344+
The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
16345+
'''
16346+
16347+
def __repr__(self):
16348+
return '<sdm.LogCategoryConfig ' + \
16349+
'remote_discard_replays: ' + repr(self.remote_discard_replays) + ' ' +\
16350+
'remote_encoder: ' + repr(self.remote_encoder) + ' ' +\
16351+
'>'
16352+
16353+
def to_dict(self):
16354+
return {
16355+
'remote_discard_replays': self.remote_discard_replays,
16356+
'remote_encoder': self.remote_encoder,
16357+
}
16358+
16359+
@classmethod
16360+
def from_dict(cls, d):
16361+
return cls(
16362+
remote_discard_replays=d.get('remote_discard_replays'),
16363+
remote_encoder=d.get('remote_encoder'),
16364+
)
16365+
16366+
16367+
class LogConfig:
16368+
__slots__ = [
16369+
'categories',
16370+
'local_encoder',
16371+
'local_format',
16372+
'local_socket_path',
16373+
'local_storage',
16374+
'local_tcp_address',
16375+
'public_key',
16376+
]
16377+
16378+
def __init__(
16379+
self,
16380+
categories=None,
16381+
local_encoder=None,
16382+
local_format=None,
16383+
local_socket_path=None,
16384+
local_storage=None,
16385+
local_tcp_address=None,
16386+
public_key=None,
16387+
):
16388+
self.categories = categories if categories is not None else _porcelain_zero_value_log_category_config_map(
16389+
)
16390+
'''
16391+
The Organization's log category configuration settings.
16392+
'''
16393+
self.local_encoder = local_encoder if local_encoder is not None else ''
16394+
'''
16395+
The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
16396+
'''
16397+
self.local_format = local_format if local_format is not None else ''
16398+
'''
16399+
The Organization's local log format, one of the LogLocalFormat constants.
16400+
'''
16401+
self.local_socket_path = local_socket_path if local_socket_path is not None else ''
16402+
'''
16403+
The Organization's local log socket path.
16404+
'''
16405+
self.local_storage = local_storage if local_storage is not None else ''
16406+
'''
16407+
The Organization's local log storage, one of the LogLocalStorage constants.
16408+
'''
16409+
self.local_tcp_address = local_tcp_address if local_tcp_address is not None else ''
16410+
'''
16411+
The Organization's local log TCP address.
16412+
'''
16413+
self.public_key = public_key if public_key is not None else ''
16414+
'''
16415+
The Organization's public key in PEM format for encrypting logs.
16416+
'''
16417+
16418+
def __repr__(self):
16419+
return '<sdm.LogConfig ' + \
16420+
'categories: ' + repr(self.categories) + ' ' +\
16421+
'local_encoder: ' + repr(self.local_encoder) + ' ' +\
16422+
'local_format: ' + repr(self.local_format) + ' ' +\
16423+
'local_socket_path: ' + repr(self.local_socket_path) + ' ' +\
16424+
'local_storage: ' + repr(self.local_storage) + ' ' +\
16425+
'local_tcp_address: ' + repr(self.local_tcp_address) + ' ' +\
16426+
'public_key: ' + repr(self.public_key) + ' ' +\
16427+
'>'
16428+
16429+
def to_dict(self):
16430+
return {
16431+
'categories': self.categories,
16432+
'local_encoder': self.local_encoder,
16433+
'local_format': self.local_format,
16434+
'local_socket_path': self.local_socket_path,
16435+
'local_storage': self.local_storage,
16436+
'local_tcp_address': self.local_tcp_address,
16437+
'public_key': self.public_key,
16438+
}
16439+
16440+
@classmethod
16441+
def from_dict(cls, d):
16442+
return cls(
16443+
categories=d.get('categories'),
16444+
local_encoder=d.get('local_encoder'),
16445+
local_format=d.get('local_format'),
16446+
local_socket_path=d.get('local_socket_path'),
16447+
local_storage=d.get('local_storage'),
16448+
local_tcp_address=d.get('local_tcp_address'),
16449+
public_key=d.get('public_key'),
16450+
)
16451+
16452+
1632716453
class MTLSMysql:
1632816454
'''
1632916455
MTLSMysql is currently unstable, and its API may change, or it may be removed,
@@ -20288,6 +20414,7 @@ class Organization:
2028820414
'idle_timeout',
2028920415
'idle_timeout_enabled',
2029020416
'kind',
20417+
'log_config',
2029120418
'log_local_encoder',
2029220419
'log_local_format',
2029320420
'log_local_storage',
@@ -20322,6 +20449,7 @@ def __init__(
2032220449
idle_timeout=None,
2032320450
idle_timeout_enabled=None,
2032420451
kind=None,
20452+
log_config=None,
2032520453
log_local_encoder=None,
2032620454
log_local_format=None,
2032720455
log_local_storage=None,
@@ -20363,6 +20491,7 @@ def __init__(
2036320491
self.discard_replays = discard_replays if discard_replays is not None else False
2036420492
'''
2036520493
Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
20494+
Deprecated: use categories specific log_config.categories[].remote_discard_replays instead
2036620495
'''
2036720496
self.enforce_single_session = enforce_single_session if enforce_single_session is not None else False
2036820497
'''
@@ -20380,29 +20509,39 @@ def __init__(
2038020509
'''
2038120510
The Organization's type, one of the OrgKind constants.
2038220511
'''
20512+
self.log_config = log_config if log_config is not None else None
20513+
'''
20514+
The Organization's logging settings
20515+
'''
2038320516
self.log_local_encoder = log_local_encoder if log_local_encoder is not None else ''
2038420517
'''
2038520518
The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
20519+
Deprecated: use log_config.local_encoder instead
2038620520
'''
2038720521
self.log_local_format = log_local_format if log_local_format is not None else ''
2038820522
'''
2038920523
The Organization's local log format, one of the LogLocalFormat constants.
20524+
Deprecated: use log_config.local_format instead
2039020525
'''
2039120526
self.log_local_storage = log_local_storage if log_local_storage is not None else ''
2039220527
'''
2039320528
The Organization's local log storage, one of the LogLocalStorage constants.
20529+
Deprecated: use log_config.local_storage instead
2039420530
'''
2039520531
self.log_remote_encoder = log_remote_encoder if log_remote_encoder is not None else ''
2039620532
'''
2039720533
The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
20534+
Deprecated: use categories specific log_config.categories[].remote_encoder instead
2039820535
'''
2039920536
self.log_socket_path = log_socket_path if log_socket_path is not None else ''
2040020537
'''
2040120538
The Organization's socket path for Socket local log storage.
20539+
Deprecated: use log_config.local_socket_path instead
2040220540
'''
2040320541
self.log_tcp_address = log_tcp_address if log_tcp_address is not None else ''
2040420542
'''
2040520543
The Organization's TCP address for TCP or Syslog local log storage.
20544+
Deprecated: use log_config.local_tcp_address instead
2040620545
'''
2040720546
self.loopback_range = loopback_range if loopback_range is not None else ''
2040820547
'''
@@ -20423,6 +20562,7 @@ def __init__(
2042320562
self.public_key_pem = public_key_pem if public_key_pem is not None else ''
2042420563
'''
2042520564
The Organization's public key PEM for encrypting remote logs.
20565+
Deprecated: use log_config.public_key instead
2042620566
'''
2042720567
self.require_secret_store = require_secret_store if require_secret_store is not None else False
2042820568
'''
@@ -20476,6 +20616,7 @@ def __repr__(self):
2047620616
'idle_timeout: ' + repr(self.idle_timeout) + ' ' +\
2047720617
'idle_timeout_enabled: ' + repr(self.idle_timeout_enabled) + ' ' +\
2047820618
'kind: ' + repr(self.kind) + ' ' +\
20619+
'log_config: ' + repr(self.log_config) + ' ' +\
2047920620
'log_local_encoder: ' + repr(self.log_local_encoder) + ' ' +\
2048020621
'log_local_format: ' + repr(self.log_local_format) + ' ' +\
2048120622
'log_local_storage: ' + repr(self.log_local_storage) + ' ' +\
@@ -20510,6 +20651,7 @@ def to_dict(self):
2051020651
'idle_timeout': self.idle_timeout,
2051120652
'idle_timeout_enabled': self.idle_timeout_enabled,
2051220653
'kind': self.kind,
20654+
'log_config': self.log_config,
2051320655
'log_local_encoder': self.log_local_encoder,
2051420656
'log_local_format': self.log_local_format,
2051520657
'log_local_storage': self.log_local_storage,
@@ -20547,6 +20689,7 @@ def from_dict(cls, d):
2054720689
idle_timeout=d.get('idle_timeout'),
2054820690
idle_timeout_enabled=d.get('idle_timeout_enabled'),
2054920691
kind=d.get('kind'),
20692+
log_config=d.get('log_config'),
2055020693
log_local_encoder=d.get('log_local_encoder'),
2055120694
log_local_format=d.get('log_local_format'),
2055220695
log_local_storage=d.get('log_local_storage'),
@@ -32172,3 +32315,7 @@ def _porcelain_zero_value_access_rules():
3217232315

3217332316
def _porcelain_zero_value_access_rule():
3217432317
return {}
32318+
32319+
32320+
def _porcelain_zero_value_log_category_config_map():
32321+
return {}

0 commit comments

Comments
 (0)