Skip to content

Commit 130fb57

Browse files
committed
15.31.0
1 parent aae2aeb commit 130fb57

File tree

8 files changed

+366
-24
lines changed

8 files changed

+366
-24
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.29.0',
26+
version='15.31.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.29.0.tar.gz',
35+
'https://github.com/strongdm/strongdm-sdk-python/archive/v15.31.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.29.0
3+
Version: 15.31.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.29.0.tar.gz
9+
Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v15.31.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/accounts_pb2.py

Lines changed: 17 additions & 11 deletions
Large diffs are not rendered by default.

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.29.0'
37+
USER_AGENT = 'strongdm-sdk-python/15.31.0'
3838

3939

4040
class Client:

strongdm/models.py

Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21659,6 +21659,185 @@ def from_dict(cls, d):
2165921659
)
2166021660

2166121661

21662+
class MysqlEngine:
21663+
'''
21664+
MysqlEngine is currently unstable, and its API may change, or it may be removed,
21665+
without a major version bump.
21666+
'''
21667+
__slots__ = [
21668+
'after_read_ttl',
21669+
'database',
21670+
'hostname',
21671+
'id',
21672+
'key_rotation_interval_days',
21673+
'name',
21674+
'password',
21675+
'policy',
21676+
'port',
21677+
'public_key',
21678+
'secret_store_id',
21679+
'secret_store_root_path',
21680+
'tags',
21681+
'tls',
21682+
'tls_skip_verify',
21683+
'ttl',
21684+
'username',
21685+
]
21686+
21687+
def __init__(
21688+
self,
21689+
after_read_ttl=None,
21690+
database=None,
21691+
hostname=None,
21692+
id=None,
21693+
key_rotation_interval_days=None,
21694+
name=None,
21695+
password=None,
21696+
policy=None,
21697+
port=None,
21698+
public_key=None,
21699+
secret_store_id=None,
21700+
secret_store_root_path=None,
21701+
tags=None,
21702+
tls=None,
21703+
tls_skip_verify=None,
21704+
ttl=None,
21705+
username=None,
21706+
):
21707+
self.after_read_ttl = after_read_ttl if after_read_ttl is not None else None
21708+
'''
21709+
The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.
21710+
'''
21711+
self.database = database if database is not None else ''
21712+
'''
21713+
Database is the database to verify credential against.
21714+
'''
21715+
self.hostname = hostname if hostname is not None else ''
21716+
'''
21717+
Hostname is the hostname or IP address of the MySQL server.
21718+
'''
21719+
self.id = id if id is not None else ''
21720+
'''
21721+
Unique identifier of the Secret Engine.
21722+
'''
21723+
self.key_rotation_interval_days = key_rotation_interval_days if key_rotation_interval_days is not None else 0
21724+
'''
21725+
An interval of public/private key rotation for secret engine in days
21726+
'''
21727+
self.name = name if name is not None else ''
21728+
'''
21729+
Unique human-readable name of the Secret Engine.
21730+
'''
21731+
self.password = password if password is not None else ''
21732+
'''
21733+
Password is the password to connect to the MySQL server.
21734+
'''
21735+
self.policy = policy if policy is not None else None
21736+
'''
21737+
Policy for password creation
21738+
'''
21739+
self.port = port if port is not None else 0
21740+
'''
21741+
Port is the port number of the MySQL server.
21742+
'''
21743+
self.public_key = public_key if public_key is not None else b''
21744+
'''
21745+
Public key linked with a secret engine
21746+
'''
21747+
self.secret_store_id = secret_store_id if secret_store_id is not None else ''
21748+
'''
21749+
Backing secret store identifier
21750+
'''
21751+
self.secret_store_root_path = secret_store_root_path if secret_store_root_path is not None else ''
21752+
'''
21753+
Backing Secret Store root path where managed secrets are going to be stored
21754+
'''
21755+
self.tags = tags if tags is not None else _porcelain_zero_value_tags()
21756+
'''
21757+
Tags is a map of key, value pairs.
21758+
'''
21759+
self.tls = tls if tls is not None else False
21760+
'''
21761+
TLS enables TLS/SSL when connecting to the MySQL server.
21762+
'''
21763+
self.tls_skip_verify = tls_skip_verify if tls_skip_verify is not None else False
21764+
'''
21765+
TLS disable certificate verification
21766+
'''
21767+
self.ttl = ttl if ttl is not None else None
21768+
'''
21769+
The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.
21770+
'''
21771+
self.username = username if username is not None else ''
21772+
'''
21773+
Username is the username to connect to the MySQL server.
21774+
'''
21775+
21776+
def __repr__(self):
21777+
return '<sdm.MysqlEngine ' + \
21778+
'after_read_ttl: ' + repr(self.after_read_ttl) + ' ' +\
21779+
'database: ' + repr(self.database) + ' ' +\
21780+
'hostname: ' + repr(self.hostname) + ' ' +\
21781+
'id: ' + repr(self.id) + ' ' +\
21782+
'key_rotation_interval_days: ' + repr(self.key_rotation_interval_days) + ' ' +\
21783+
'name: ' + repr(self.name) + ' ' +\
21784+
'password: ' + repr(self.password) + ' ' +\
21785+
'policy: ' + repr(self.policy) + ' ' +\
21786+
'port: ' + repr(self.port) + ' ' +\
21787+
'public_key: ' + repr(self.public_key) + ' ' +\
21788+
'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
21789+
'secret_store_root_path: ' + repr(self.secret_store_root_path) + ' ' +\
21790+
'tags: ' + repr(self.tags) + ' ' +\
21791+
'tls: ' + repr(self.tls) + ' ' +\
21792+
'tls_skip_verify: ' + repr(self.tls_skip_verify) + ' ' +\
21793+
'ttl: ' + repr(self.ttl) + ' ' +\
21794+
'username: ' + repr(self.username) + ' ' +\
21795+
'>'
21796+
21797+
def to_dict(self):
21798+
return {
21799+
'after_read_ttl': self.after_read_ttl,
21800+
'database': self.database,
21801+
'hostname': self.hostname,
21802+
'id': self.id,
21803+
'key_rotation_interval_days': self.key_rotation_interval_days,
21804+
'name': self.name,
21805+
'password': self.password,
21806+
'policy': self.policy,
21807+
'port': self.port,
21808+
'public_key': self.public_key,
21809+
'secret_store_id': self.secret_store_id,
21810+
'secret_store_root_path': self.secret_store_root_path,
21811+
'tags': self.tags,
21812+
'tls': self.tls,
21813+
'tls_skip_verify': self.tls_skip_verify,
21814+
'ttl': self.ttl,
21815+
'username': self.username,
21816+
}
21817+
21818+
@classmethod
21819+
def from_dict(cls, d):
21820+
return cls(
21821+
after_read_ttl=d.get('after_read_ttl'),
21822+
database=d.get('database'),
21823+
hostname=d.get('hostname'),
21824+
id=d.get('id'),
21825+
key_rotation_interval_days=d.get('key_rotation_interval_days'),
21826+
name=d.get('name'),
21827+
password=d.get('password'),
21828+
policy=d.get('policy'),
21829+
port=d.get('port'),
21830+
public_key=d.get('public_key'),
21831+
secret_store_id=d.get('secret_store_id'),
21832+
secret_store_root_path=d.get('secret_store_root_path'),
21833+
tags=d.get('tags'),
21834+
tls=d.get('tls'),
21835+
tls_skip_verify=d.get('tls_skip_verify'),
21836+
ttl=d.get('ttl'),
21837+
username=d.get('username'),
21838+
)
21839+
21840+
2166221841
class Neptune:
2166321842
__slots__ = [
2166421843
'bind_interface',
@@ -31052,6 +31231,7 @@ class Service:
3105231231
directly, or granted via roles. Services are typically automated jobs.
3105331232
'''
3105431233
__slots__ = [
31234+
'created_at',
3105531235
'id',
3105631236
'name',
3105731237
'suspended',
@@ -31060,11 +31240,16 @@ class Service:
3106031240

3106131241
def __init__(
3106231242
self,
31243+
created_at=None,
3106331244
id=None,
3106431245
name=None,
3106531246
suspended=None,
3106631247
tags=None,
3106731248
):
31249+
self.created_at = created_at if created_at is not None else None
31250+
'''
31251+
CreatedAt is the timestamp when the service was created
31252+
'''
3106831253
self.id = id if id is not None else ''
3106931254
'''
3107031255
Unique identifier of the Service.
@@ -31084,6 +31269,7 @@ def __init__(
3108431269

3108531270
def __repr__(self):
3108631271
return '<sdm.Service ' + \
31272+
'created_at: ' + repr(self.created_at) + ' ' +\
3108731273
'id: ' + repr(self.id) + ' ' +\
3108831274
'name: ' + repr(self.name) + ' ' +\
3108931275
'suspended: ' + repr(self.suspended) + ' ' +\
@@ -31092,6 +31278,7 @@ def __repr__(self):
3109231278

3109331279
def to_dict(self):
3109431280
return {
31281+
'created_at': self.created_at,
3109531282
'id': self.id,
3109631283
'name': self.name,
3109731284
'suspended': self.suspended,
@@ -31101,6 +31288,7 @@ def to_dict(self):
3110131288
@classmethod
3110231289
def from_dict(cls, d):
3110331290
return cls(
31291+
created_at=d.get('created_at'),
3110431292
id=d.get('id'),
3110531293
name=d.get('name'),
3110631294
suspended=d.get('suspended'),
@@ -32134,6 +32322,7 @@ class Token:
3213432322
'''
3213532323
__slots__ = [
3213632324
'account_type',
32325+
'created_at',
3213732326
'deadline',
3213832327
'duration',
3213932328
'id',
@@ -32147,6 +32336,7 @@ class Token:
3214732336
def __init__(
3214832337
self,
3214932338
account_type=None,
32339+
created_at=None,
3215032340
deadline=None,
3215132341
duration=None,
3215232342
id=None,
@@ -32160,6 +32350,10 @@ def __init__(
3216032350
'''
3216132351
Corresponds to the type of token, e.g. api or admin-token.
3216232352
'''
32353+
self.created_at = created_at if created_at is not None else None
32354+
'''
32355+
CreatedAt is the timestamp when the token was created
32356+
'''
3216332357
self.deadline = deadline if deadline is not None else None
3216432358
'''
3216532359
The timestamp when the Token will expire.
@@ -32196,6 +32390,7 @@ def __init__(
3219632390
def __repr__(self):
3219732391
return '<sdm.Token ' + \
3219832392
'account_type: ' + repr(self.account_type) + ' ' +\
32393+
'created_at: ' + repr(self.created_at) + ' ' +\
3219932394
'deadline: ' + repr(self.deadline) + ' ' +\
3220032395
'duration: ' + repr(self.duration) + ' ' +\
3220132396
'id: ' + repr(self.id) + ' ' +\
@@ -32209,6 +32404,7 @@ def __repr__(self):
3220932404
def to_dict(self):
3221032405
return {
3221132406
'account_type': self.account_type,
32407+
'created_at': self.created_at,
3221232408
'deadline': self.deadline,
3221332409
'duration': self.duration,
3221432410
'id': self.id,
@@ -32223,6 +32419,7 @@ def to_dict(self):
3222332419
def from_dict(cls, d):
3222432420
return cls(
3222532421
account_type=d.get('account_type'),
32422+
created_at=d.get('created_at'),
3222632423
deadline=d.get('deadline'),
3222732424
duration=d.get('duration'),
3222832425
id=d.get('id'),
@@ -32419,6 +32616,7 @@ class User:
3241932616
'''
3242032617
__slots__ = [
3242132618
'scim',
32619+
'created_at',
3242232620
'email',
3242332621
'external_id',
3242432622
'first_name',
@@ -32436,6 +32634,7 @@ class User:
3243632634
def __init__(
3243732635
self,
3243832636
scim=None,
32637+
created_at=None,
3243932638
email=None,
3244032639
external_id=None,
3244132640
first_name=None,
@@ -32453,6 +32652,10 @@ def __init__(
3245332652
'''
3245432653
SCIM contains the raw SCIM metadata for the user. This is a read-only field.
3245532654
'''
32655+
self.created_at = created_at if created_at is not None else None
32656+
'''
32657+
CreatedAt is the timestamp when the user was created
32658+
'''
3245632659
self.email = email if email is not None else ''
3245732660
'''
3245832661
The User's email address. Must be unique.
@@ -32508,6 +32711,7 @@ def __init__(
3250832711
def __repr__(self):
3250932712
return '<sdm.User ' + \
3251032713
'scim: ' + repr(self.scim) + ' ' +\
32714+
'created_at: ' + repr(self.created_at) + ' ' +\
3251132715
'email: ' + repr(self.email) + ' ' +\
3251232716
'external_id: ' + repr(self.external_id) + ' ' +\
3251332717
'first_name: ' + repr(self.first_name) + ' ' +\
@@ -32525,6 +32729,7 @@ def __repr__(self):
3252532729
def to_dict(self):
3252632730
return {
3252732731
'scim': self.scim,
32732+
'created_at': self.created_at,
3252832733
'email': self.email,
3252932734
'external_id': self.external_id,
3253032735
'first_name': self.first_name,
@@ -32543,6 +32748,7 @@ def to_dict(self):
3254332748
def from_dict(cls, d):
3254432749
return cls(
3254532750
scim=d.get('scim'),
32751+
created_at=d.get('created_at'),
3254632752
email=d.get('email'),
3254732753
external_id=d.get('external_id'),
3254832754
first_name=d.get('first_name'),

0 commit comments

Comments
 (0)