strongdm 4.8.0__zip → 5.0.1__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {strongdm-4.8.0 → strongdm-5.0.1}/PKG-INFO +4 -2
- {strongdm-4.8.0 → strongdm-5.0.1}/README.md +2 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/setup.py +2 -2
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/client.py +1 -1
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/constants.py +1 -1
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/drivers_pb2.py +252 -164
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/models.py +322 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/plumbing.py +127 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/svc.py +2 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm.egg-info/PKG-INFO +4 -2
- {strongdm-4.8.0 → strongdm-5.0.1}/setup.cfg +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/__init__.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/access_request_events_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/access_requests_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/access_requests_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/access_requests_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/access_requests_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_attachments_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_attachments_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_attachments_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_grants_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_grants_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_grants_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_grants_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_permissions_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_permissions_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_resources_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_resources_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_resources_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_resources_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/accounts_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/accounts_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/accounts_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/accounts_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/activities_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/activities_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/control_panel_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/control_panel_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/drivers_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/errors.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/nodes_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/nodes_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/nodes_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/nodes_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/options_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/options_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/organization_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/organization_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_group_nodes_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_group_peers_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_group_resources_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_groups_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_groups_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/queries_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/queries_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identities_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identities_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identities_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identity_groups_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identity_groups_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/replays_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/replays_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/resources_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/resources_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/resources_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/resources_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/role_resources_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/role_resources_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/role_resources_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/role_resources_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/roles_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/roles_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/roles_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/roles_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/secret_store_types_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/secret_store_types_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/secret_stores_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/secret_stores_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/secret_stores_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/spec_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/spec_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/tags_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/tags_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_approvers_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_approvers_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_assignments_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_assignments_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_assignments_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_assignments_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_roles_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_roles_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_roles_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflows_history_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflows_history_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflows_pb2.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflows_pb2_grpc.py +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm.egg-info/SOURCES.txt +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm.egg-info/dependency_links.txt +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm.egg-info/requires.txt +0 -0
- {strongdm-4.8.0 → strongdm-5.0.1}/strongdm.egg-info/top_level.txt +0 -0
@@ -4616,6 +4616,167 @@ class AuroraPostgres:
|
|
4616
4616
|
)
|
4617
4617
|
|
4618
4618
|
|
4619
|
+
class AuroraPostgresIAM:
|
4620
|
+
'''
|
4621
|
+
AuroraPostgresIAM is currently unstable, and its API may change, or it may be removed,
|
4622
|
+
without a major version bump.
|
4623
|
+
'''
|
4624
|
+
__slots__ = [
|
4625
|
+
'bind_interface',
|
4626
|
+
'database',
|
4627
|
+
'egress_filter',
|
4628
|
+
'healthy',
|
4629
|
+
'hostname',
|
4630
|
+
'id',
|
4631
|
+
'name',
|
4632
|
+
'override_database',
|
4633
|
+
'port',
|
4634
|
+
'port_override',
|
4635
|
+
'region',
|
4636
|
+
'secret_store_id',
|
4637
|
+
'subdomain',
|
4638
|
+
'tags',
|
4639
|
+
'username',
|
4640
|
+
]
|
4641
|
+
|
4642
|
+
def __init__(
|
4643
|
+
self,
|
4644
|
+
bind_interface=None,
|
4645
|
+
database=None,
|
4646
|
+
egress_filter=None,
|
4647
|
+
healthy=None,
|
4648
|
+
hostname=None,
|
4649
|
+
id=None,
|
4650
|
+
name=None,
|
4651
|
+
override_database=None,
|
4652
|
+
port=None,
|
4653
|
+
port_override=None,
|
4654
|
+
region=None,
|
4655
|
+
secret_store_id=None,
|
4656
|
+
subdomain=None,
|
4657
|
+
tags=None,
|
4658
|
+
username=None,
|
4659
|
+
):
|
4660
|
+
self.bind_interface = bind_interface if bind_interface is not None else ''
|
4661
|
+
'''
|
4662
|
+
The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
|
4663
|
+
'''
|
4664
|
+
self.database = database if database is not None else ''
|
4665
|
+
'''
|
4666
|
+
The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
|
4667
|
+
'''
|
4668
|
+
self.egress_filter = egress_filter if egress_filter is not None else ''
|
4669
|
+
'''
|
4670
|
+
A filter applied to the routing logic to pin datasource to nodes.
|
4671
|
+
'''
|
4672
|
+
self.healthy = healthy if healthy is not None else False
|
4673
|
+
'''
|
4674
|
+
True if the datasource is reachable and the credentials are valid.
|
4675
|
+
'''
|
4676
|
+
self.hostname = hostname if hostname is not None else ''
|
4677
|
+
'''
|
4678
|
+
The host to dial to initiate a connection from the egress node to this resource.
|
4679
|
+
'''
|
4680
|
+
self.id = id if id is not None else ''
|
4681
|
+
'''
|
4682
|
+
Unique identifier of the Resource.
|
4683
|
+
'''
|
4684
|
+
self.name = name if name is not None else ''
|
4685
|
+
'''
|
4686
|
+
Unique human-readable name of the Resource.
|
4687
|
+
'''
|
4688
|
+
self.override_database = override_database if override_database is not None else False
|
4689
|
+
'''
|
4690
|
+
If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
|
4691
|
+
'''
|
4692
|
+
self.port = port if port is not None else 0
|
4693
|
+
'''
|
4694
|
+
The port to dial to initiate a connection from the egress node to this resource.
|
4695
|
+
'''
|
4696
|
+
self.port_override = port_override if port_override is not None else 0
|
4697
|
+
'''
|
4698
|
+
The local port used by clients to connect to this resource.
|
4699
|
+
'''
|
4700
|
+
self.region = region if region is not None else ''
|
4701
|
+
'''
|
4702
|
+
The AWS region to connect to.
|
4703
|
+
'''
|
4704
|
+
self.secret_store_id = secret_store_id if secret_store_id is not None else ''
|
4705
|
+
'''
|
4706
|
+
ID of the secret store containing credentials for this resource, if any.
|
4707
|
+
'''
|
4708
|
+
self.subdomain = subdomain if subdomain is not None else ''
|
4709
|
+
'''
|
4710
|
+
Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
|
4711
|
+
'''
|
4712
|
+
self.tags = tags if tags is not None else _porcelain_zero_value_tags()
|
4713
|
+
'''
|
4714
|
+
Tags is a map of key, value pairs.
|
4715
|
+
'''
|
4716
|
+
self.username = username if username is not None else ''
|
4717
|
+
'''
|
4718
|
+
The username to authenticate with.
|
4719
|
+
'''
|
4720
|
+
|
4721
|
+
def __repr__(self):
|
4722
|
+
return '<sdm.AuroraPostgresIAM ' + \
|
4723
|
+
'bind_interface: ' + repr(self.bind_interface) + ' ' +\
|
4724
|
+
'database: ' + repr(self.database) + ' ' +\
|
4725
|
+
'egress_filter: ' + repr(self.egress_filter) + ' ' +\
|
4726
|
+
'healthy: ' + repr(self.healthy) + ' ' +\
|
4727
|
+
'hostname: ' + repr(self.hostname) + ' ' +\
|
4728
|
+
'id: ' + repr(self.id) + ' ' +\
|
4729
|
+
'name: ' + repr(self.name) + ' ' +\
|
4730
|
+
'override_database: ' + repr(self.override_database) + ' ' +\
|
4731
|
+
'port: ' + repr(self.port) + ' ' +\
|
4732
|
+
'port_override: ' + repr(self.port_override) + ' ' +\
|
4733
|
+
'region: ' + repr(self.region) + ' ' +\
|
4734
|
+
'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
|
4735
|
+
'subdomain: ' + repr(self.subdomain) + ' ' +\
|
4736
|
+
'tags: ' + repr(self.tags) + ' ' +\
|
4737
|
+
'username: ' + repr(self.username) + ' ' +\
|
4738
|
+
'>'
|
4739
|
+
|
4740
|
+
def to_dict(self):
|
4741
|
+
return {
|
4742
|
+
'bind_interface': self.bind_interface,
|
4743
|
+
'database': self.database,
|
4744
|
+
'egress_filter': self.egress_filter,
|
4745
|
+
'healthy': self.healthy,
|
4746
|
+
'hostname': self.hostname,
|
4747
|
+
'id': self.id,
|
4748
|
+
'name': self.name,
|
4749
|
+
'override_database': self.override_database,
|
4750
|
+
'port': self.port,
|
4751
|
+
'port_override': self.port_override,
|
4752
|
+
'region': self.region,
|
4753
|
+
'secret_store_id': self.secret_store_id,
|
4754
|
+
'subdomain': self.subdomain,
|
4755
|
+
'tags': self.tags,
|
4756
|
+
'username': self.username,
|
4757
|
+
}
|
4758
|
+
|
4759
|
+
@classmethod
|
4760
|
+
def from_dict(cls, d):
|
4761
|
+
return cls(
|
4762
|
+
bind_interface=d.get('bind_interface'),
|
4763
|
+
database=d.get('database'),
|
4764
|
+
egress_filter=d.get('egress_filter'),
|
4765
|
+
healthy=d.get('healthy'),
|
4766
|
+
hostname=d.get('hostname'),
|
4767
|
+
id=d.get('id'),
|
4768
|
+
name=d.get('name'),
|
4769
|
+
override_database=d.get('override_database'),
|
4770
|
+
port=d.get('port'),
|
4771
|
+
port_override=d.get('port_override'),
|
4772
|
+
region=d.get('region'),
|
4773
|
+
secret_store_id=d.get('secret_store_id'),
|
4774
|
+
subdomain=d.get('subdomain'),
|
4775
|
+
tags=d.get('tags'),
|
4776
|
+
username=d.get('username'),
|
4777
|
+
)
|
4778
|
+
|
4779
|
+
|
4619
4780
|
class Azure:
|
4620
4781
|
__slots__ = [
|
4621
4782
|
'app_id',
|
@@ -14384,6 +14545,167 @@ class RDP:
|
|
14384
14545
|
)
|
14385
14546
|
|
14386
14547
|
|
14548
|
+
class RDSPostgresIAM:
|
14549
|
+
'''
|
14550
|
+
RDSPostgresIAM is currently unstable, and its API may change, or it may be removed,
|
14551
|
+
without a major version bump.
|
14552
|
+
'''
|
14553
|
+
__slots__ = [
|
14554
|
+
'bind_interface',
|
14555
|
+
'database',
|
14556
|
+
'egress_filter',
|
14557
|
+
'healthy',
|
14558
|
+
'hostname',
|
14559
|
+
'id',
|
14560
|
+
'name',
|
14561
|
+
'override_database',
|
14562
|
+
'port',
|
14563
|
+
'port_override',
|
14564
|
+
'region',
|
14565
|
+
'secret_store_id',
|
14566
|
+
'subdomain',
|
14567
|
+
'tags',
|
14568
|
+
'username',
|
14569
|
+
]
|
14570
|
+
|
14571
|
+
def __init__(
|
14572
|
+
self,
|
14573
|
+
bind_interface=None,
|
14574
|
+
database=None,
|
14575
|
+
egress_filter=None,
|
14576
|
+
healthy=None,
|
14577
|
+
hostname=None,
|
14578
|
+
id=None,
|
14579
|
+
name=None,
|
14580
|
+
override_database=None,
|
14581
|
+
port=None,
|
14582
|
+
port_override=None,
|
14583
|
+
region=None,
|
14584
|
+
secret_store_id=None,
|
14585
|
+
subdomain=None,
|
14586
|
+
tags=None,
|
14587
|
+
username=None,
|
14588
|
+
):
|
14589
|
+
self.bind_interface = bind_interface if bind_interface is not None else ''
|
14590
|
+
'''
|
14591
|
+
The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
|
14592
|
+
'''
|
14593
|
+
self.database = database if database is not None else ''
|
14594
|
+
'''
|
14595
|
+
The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
|
14596
|
+
'''
|
14597
|
+
self.egress_filter = egress_filter if egress_filter is not None else ''
|
14598
|
+
'''
|
14599
|
+
A filter applied to the routing logic to pin datasource to nodes.
|
14600
|
+
'''
|
14601
|
+
self.healthy = healthy if healthy is not None else False
|
14602
|
+
'''
|
14603
|
+
True if the datasource is reachable and the credentials are valid.
|
14604
|
+
'''
|
14605
|
+
self.hostname = hostname if hostname is not None else ''
|
14606
|
+
'''
|
14607
|
+
The host to dial to initiate a connection from the egress node to this resource.
|
14608
|
+
'''
|
14609
|
+
self.id = id if id is not None else ''
|
14610
|
+
'''
|
14611
|
+
Unique identifier of the Resource.
|
14612
|
+
'''
|
14613
|
+
self.name = name if name is not None else ''
|
14614
|
+
'''
|
14615
|
+
Unique human-readable name of the Resource.
|
14616
|
+
'''
|
14617
|
+
self.override_database = override_database if override_database is not None else False
|
14618
|
+
'''
|
14619
|
+
If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
|
14620
|
+
'''
|
14621
|
+
self.port = port if port is not None else 0
|
14622
|
+
'''
|
14623
|
+
The port to dial to initiate a connection from the egress node to this resource.
|
14624
|
+
'''
|
14625
|
+
self.port_override = port_override if port_override is not None else 0
|
14626
|
+
'''
|
14627
|
+
The local port used by clients to connect to this resource.
|
14628
|
+
'''
|
14629
|
+
self.region = region if region is not None else ''
|
14630
|
+
'''
|
14631
|
+
The AWS region to connect to.
|
14632
|
+
'''
|
14633
|
+
self.secret_store_id = secret_store_id if secret_store_id is not None else ''
|
14634
|
+
'''
|
14635
|
+
ID of the secret store containing credentials for this resource, if any.
|
14636
|
+
'''
|
14637
|
+
self.subdomain = subdomain if subdomain is not None else ''
|
14638
|
+
'''
|
14639
|
+
Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
|
14640
|
+
'''
|
14641
|
+
self.tags = tags if tags is not None else _porcelain_zero_value_tags()
|
14642
|
+
'''
|
14643
|
+
Tags is a map of key, value pairs.
|
14644
|
+
'''
|
14645
|
+
self.username = username if username is not None else ''
|
14646
|
+
'''
|
14647
|
+
The username to authenticate with.
|
14648
|
+
'''
|
14649
|
+
|
14650
|
+
def __repr__(self):
|
14651
|
+
return '<sdm.RDSPostgresIAM ' + \
|
14652
|
+
'bind_interface: ' + repr(self.bind_interface) + ' ' +\
|
14653
|
+
'database: ' + repr(self.database) + ' ' +\
|
14654
|
+
'egress_filter: ' + repr(self.egress_filter) + ' ' +\
|
14655
|
+
'healthy: ' + repr(self.healthy) + ' ' +\
|
14656
|
+
'hostname: ' + repr(self.hostname) + ' ' +\
|
14657
|
+
'id: ' + repr(self.id) + ' ' +\
|
14658
|
+
'name: ' + repr(self.name) + ' ' +\
|
14659
|
+
'override_database: ' + repr(self.override_database) + ' ' +\
|
14660
|
+
'port: ' + repr(self.port) + ' ' +\
|
14661
|
+
'port_override: ' + repr(self.port_override) + ' ' +\
|
14662
|
+
'region: ' + repr(self.region) + ' ' +\
|
14663
|
+
'secret_store_id: ' + repr(self.secret_store_id) + ' ' +\
|
14664
|
+
'subdomain: ' + repr(self.subdomain) + ' ' +\
|
14665
|
+
'tags: ' + repr(self.tags) + ' ' +\
|
14666
|
+
'username: ' + repr(self.username) + ' ' +\
|
14667
|
+
'>'
|
14668
|
+
|
14669
|
+
def to_dict(self):
|
14670
|
+
return {
|
14671
|
+
'bind_interface': self.bind_interface,
|
14672
|
+
'database': self.database,
|
14673
|
+
'egress_filter': self.egress_filter,
|
14674
|
+
'healthy': self.healthy,
|
14675
|
+
'hostname': self.hostname,
|
14676
|
+
'id': self.id,
|
14677
|
+
'name': self.name,
|
14678
|
+
'override_database': self.override_database,
|
14679
|
+
'port': self.port,
|
14680
|
+
'port_override': self.port_override,
|
14681
|
+
'region': self.region,
|
14682
|
+
'secret_store_id': self.secret_store_id,
|
14683
|
+
'subdomain': self.subdomain,
|
14684
|
+
'tags': self.tags,
|
14685
|
+
'username': self.username,
|
14686
|
+
}
|
14687
|
+
|
14688
|
+
@classmethod
|
14689
|
+
def from_dict(cls, d):
|
14690
|
+
return cls(
|
14691
|
+
bind_interface=d.get('bind_interface'),
|
14692
|
+
database=d.get('database'),
|
14693
|
+
egress_filter=d.get('egress_filter'),
|
14694
|
+
healthy=d.get('healthy'),
|
14695
|
+
hostname=d.get('hostname'),
|
14696
|
+
id=d.get('id'),
|
14697
|
+
name=d.get('name'),
|
14698
|
+
override_database=d.get('override_database'),
|
14699
|
+
port=d.get('port'),
|
14700
|
+
port_override=d.get('port_override'),
|
14701
|
+
region=d.get('region'),
|
14702
|
+
secret_store_id=d.get('secret_store_id'),
|
14703
|
+
subdomain=d.get('subdomain'),
|
14704
|
+
tags=d.get('tags'),
|
14705
|
+
username=d.get('username'),
|
14706
|
+
)
|
14707
|
+
|
14708
|
+
|
14387
14709
|
class RabbitMQAMQP091:
|
14388
14710
|
__slots__ = [
|
14389
14711
|
'bind_interface',
|
@@ -2319,6 +2319,64 @@ def convert_repeated_aurora_postgres_to_porcelain(plumbings):
|
|
2319
2319
|
]
|
2320
2320
|
|
2321
2321
|
|
2322
|
+
def convert_aurora_postgres_iam_to_porcelain(plumbing):
|
2323
|
+
if plumbing is None:
|
2324
|
+
return None
|
2325
|
+
porcelain = models.AuroraPostgresIAM()
|
2326
|
+
porcelain.bind_interface = (plumbing.bind_interface)
|
2327
|
+
porcelain.database = (plumbing.database)
|
2328
|
+
porcelain.egress_filter = (plumbing.egress_filter)
|
2329
|
+
porcelain.healthy = (plumbing.healthy)
|
2330
|
+
porcelain.hostname = (plumbing.hostname)
|
2331
|
+
porcelain.id = (plumbing.id)
|
2332
|
+
porcelain.name = (plumbing.name)
|
2333
|
+
porcelain.override_database = (plumbing.override_database)
|
2334
|
+
porcelain.port = (plumbing.port)
|
2335
|
+
porcelain.port_override = (plumbing.port_override)
|
2336
|
+
porcelain.region = (plumbing.region)
|
2337
|
+
porcelain.secret_store_id = (plumbing.secret_store_id)
|
2338
|
+
porcelain.subdomain = (plumbing.subdomain)
|
2339
|
+
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
2340
|
+
porcelain.username = (plumbing.username)
|
2341
|
+
return porcelain
|
2342
|
+
|
2343
|
+
|
2344
|
+
def convert_aurora_postgres_iam_to_plumbing(porcelain):
|
2345
|
+
plumbing = AuroraPostgresIAM()
|
2346
|
+
if porcelain is None:
|
2347
|
+
return plumbing
|
2348
|
+
plumbing.bind_interface = (porcelain.bind_interface)
|
2349
|
+
plumbing.database = (porcelain.database)
|
2350
|
+
plumbing.egress_filter = (porcelain.egress_filter)
|
2351
|
+
plumbing.healthy = (porcelain.healthy)
|
2352
|
+
plumbing.hostname = (porcelain.hostname)
|
2353
|
+
plumbing.id = (porcelain.id)
|
2354
|
+
plumbing.name = (porcelain.name)
|
2355
|
+
plumbing.override_database = (porcelain.override_database)
|
2356
|
+
plumbing.port = (porcelain.port)
|
2357
|
+
plumbing.port_override = (porcelain.port_override)
|
2358
|
+
plumbing.region = (porcelain.region)
|
2359
|
+
plumbing.secret_store_id = (porcelain.secret_store_id)
|
2360
|
+
plumbing.subdomain = (porcelain.subdomain)
|
2361
|
+
plumbing.tags.CopyFrom(convert_tags_to_plumbing(porcelain.tags))
|
2362
|
+
plumbing.username = (porcelain.username)
|
2363
|
+
return plumbing
|
2364
|
+
|
2365
|
+
|
2366
|
+
def convert_repeated_aurora_postgres_iam_to_plumbing(porcelains):
|
2367
|
+
return [
|
2368
|
+
convert_aurora_postgres_iam_to_plumbing(porcelain)
|
2369
|
+
for porcelain in porcelains
|
2370
|
+
]
|
2371
|
+
|
2372
|
+
|
2373
|
+
def convert_repeated_aurora_postgres_iam_to_porcelain(plumbings):
|
2374
|
+
return [
|
2375
|
+
convert_aurora_postgres_iam_to_porcelain(plumbing)
|
2376
|
+
for plumbing in plumbings
|
2377
|
+
]
|
2378
|
+
|
2379
|
+
|
2322
2380
|
def convert_azure_to_porcelain(plumbing):
|
2323
2381
|
if plumbing is None:
|
2324
2382
|
return None
|
@@ -6436,6 +6494,64 @@ def convert_repeated_rdp_to_porcelain(plumbings):
|
|
6436
6494
|
return [convert_rdp_to_porcelain(plumbing) for plumbing in plumbings]
|
6437
6495
|
|
6438
6496
|
|
6497
|
+
def convert_rds_postgres_iam_to_porcelain(plumbing):
|
6498
|
+
if plumbing is None:
|
6499
|
+
return None
|
6500
|
+
porcelain = models.RDSPostgresIAM()
|
6501
|
+
porcelain.bind_interface = (plumbing.bind_interface)
|
6502
|
+
porcelain.database = (plumbing.database)
|
6503
|
+
porcelain.egress_filter = (plumbing.egress_filter)
|
6504
|
+
porcelain.healthy = (plumbing.healthy)
|
6505
|
+
porcelain.hostname = (plumbing.hostname)
|
6506
|
+
porcelain.id = (plumbing.id)
|
6507
|
+
porcelain.name = (plumbing.name)
|
6508
|
+
porcelain.override_database = (plumbing.override_database)
|
6509
|
+
porcelain.port = (plumbing.port)
|
6510
|
+
porcelain.port_override = (plumbing.port_override)
|
6511
|
+
porcelain.region = (plumbing.region)
|
6512
|
+
porcelain.secret_store_id = (plumbing.secret_store_id)
|
6513
|
+
porcelain.subdomain = (plumbing.subdomain)
|
6514
|
+
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
6515
|
+
porcelain.username = (plumbing.username)
|
6516
|
+
return porcelain
|
6517
|
+
|
6518
|
+
|
6519
|
+
def convert_rds_postgres_iam_to_plumbing(porcelain):
|
6520
|
+
plumbing = RDSPostgresIAM()
|
6521
|
+
if porcelain is None:
|
6522
|
+
return plumbing
|
6523
|
+
plumbing.bind_interface = (porcelain.bind_interface)
|
6524
|
+
plumbing.database = (porcelain.database)
|
6525
|
+
plumbing.egress_filter = (porcelain.egress_filter)
|
6526
|
+
plumbing.healthy = (porcelain.healthy)
|
6527
|
+
plumbing.hostname = (porcelain.hostname)
|
6528
|
+
plumbing.id = (porcelain.id)
|
6529
|
+
plumbing.name = (porcelain.name)
|
6530
|
+
plumbing.override_database = (porcelain.override_database)
|
6531
|
+
plumbing.port = (porcelain.port)
|
6532
|
+
plumbing.port_override = (porcelain.port_override)
|
6533
|
+
plumbing.region = (porcelain.region)
|
6534
|
+
plumbing.secret_store_id = (porcelain.secret_store_id)
|
6535
|
+
plumbing.subdomain = (porcelain.subdomain)
|
6536
|
+
plumbing.tags.CopyFrom(convert_tags_to_plumbing(porcelain.tags))
|
6537
|
+
plumbing.username = (porcelain.username)
|
6538
|
+
return plumbing
|
6539
|
+
|
6540
|
+
|
6541
|
+
def convert_repeated_rds_postgres_iam_to_plumbing(porcelains):
|
6542
|
+
return [
|
6543
|
+
convert_rds_postgres_iam_to_plumbing(porcelain)
|
6544
|
+
for porcelain in porcelains
|
6545
|
+
]
|
6546
|
+
|
6547
|
+
|
6548
|
+
def convert_repeated_rds_postgres_iam_to_porcelain(plumbings):
|
6549
|
+
return [
|
6550
|
+
convert_rds_postgres_iam_to_porcelain(plumbing)
|
6551
|
+
for plumbing in plumbings
|
6552
|
+
]
|
6553
|
+
|
6554
|
+
|
6439
6555
|
def convert_rabbit_mqamqp_091_to_porcelain(plumbing):
|
6440
6556
|
if plumbing is None:
|
6441
6557
|
return None
|
@@ -7177,6 +7293,9 @@ def convert_resource_to_plumbing(porcelain):
|
|
7177
7293
|
if isinstance(porcelain, models.AuroraPostgres):
|
7178
7294
|
plumbing.aurora_postgres.CopyFrom(
|
7179
7295
|
convert_aurora_postgres_to_plumbing(porcelain))
|
7296
|
+
if isinstance(porcelain, models.AuroraPostgresIAM):
|
7297
|
+
plumbing.aurora_postgres_iam.CopyFrom(
|
7298
|
+
convert_aurora_postgres_iam_to_plumbing(porcelain))
|
7180
7299
|
if isinstance(porcelain, models.AWS):
|
7181
7300
|
plumbing.aws.CopyFrom(convert_aws_to_plumbing(porcelain))
|
7182
7301
|
if isinstance(porcelain, models.AWSConsole):
|
@@ -7305,6 +7424,9 @@ def convert_resource_to_plumbing(porcelain):
|
|
7305
7424
|
plumbing.raw_tcp.CopyFrom(convert_raw_tcp_to_plumbing(porcelain))
|
7306
7425
|
if isinstance(porcelain, models.RDP):
|
7307
7426
|
plumbing.rdp.CopyFrom(convert_rdp_to_plumbing(porcelain))
|
7427
|
+
if isinstance(porcelain, models.RDSPostgresIAM):
|
7428
|
+
plumbing.rds_postgres_iam.CopyFrom(
|
7429
|
+
convert_rds_postgres_iam_to_plumbing(porcelain))
|
7308
7430
|
if isinstance(porcelain, models.Redis):
|
7309
7431
|
plumbing.redis.CopyFrom(convert_redis_to_plumbing(porcelain))
|
7310
7432
|
if isinstance(porcelain, models.Redshift):
|
@@ -7380,6 +7502,9 @@ def convert_resource_to_porcelain(plumbing):
|
|
7380
7502
|
return convert_aurora_mysql_to_porcelain(plumbing.aurora_mysql)
|
7381
7503
|
if plumbing.HasField('aurora_postgres'):
|
7382
7504
|
return convert_aurora_postgres_to_porcelain(plumbing.aurora_postgres)
|
7505
|
+
if plumbing.HasField('aurora_postgres_iam'):
|
7506
|
+
return convert_aurora_postgres_iam_to_porcelain(
|
7507
|
+
plumbing.aurora_postgres_iam)
|
7383
7508
|
if plumbing.HasField('aws'):
|
7384
7509
|
return convert_aws_to_porcelain(plumbing.aws)
|
7385
7510
|
if plumbing.HasField('aws_console'):
|
@@ -7499,6 +7624,8 @@ def convert_resource_to_porcelain(plumbing):
|
|
7499
7624
|
return convert_raw_tcp_to_porcelain(plumbing.raw_tcp)
|
7500
7625
|
if plumbing.HasField('rdp'):
|
7501
7626
|
return convert_rdp_to_porcelain(plumbing.rdp)
|
7627
|
+
if plumbing.HasField('rds_postgres_iam'):
|
7628
|
+
return convert_rds_postgres_iam_to_porcelain(plumbing.rds_postgres_iam)
|
7502
7629
|
if plumbing.HasField('redis'):
|
7503
7630
|
return convert_redis_to_porcelain(plumbing.redis)
|
7504
7631
|
if plumbing.HasField('redshift'):
|
@@ -2824,6 +2824,7 @@ class Resources:
|
|
2824
2824
|
`strongdm.models.Athena`
|
2825
2825
|
`strongdm.models.AuroraMysql`
|
2826
2826
|
`strongdm.models.AuroraPostgres`
|
2827
|
+
`strongdm.models.AuroraPostgresIAM`
|
2827
2828
|
`strongdm.models.AWS`
|
2828
2829
|
`strongdm.models.AWSConsole`
|
2829
2830
|
`strongdm.models.AWSConsoleStaticKeyPair`
|
@@ -2876,6 +2877,7 @@ class Resources:
|
|
2876
2877
|
`strongdm.models.RabbitMQAMQP091`
|
2877
2878
|
`strongdm.models.RawTCP`
|
2878
2879
|
`strongdm.models.RDP`
|
2880
|
+
`strongdm.models.RDSPostgresIAM`
|
2879
2881
|
`strongdm.models.Redis`
|
2880
2882
|
`strongdm.models.Redshift`
|
2881
2883
|
`strongdm.models.SingleStore`
|
@@ -1,12 +1,12 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: strongdm
|
3
|
-
Version:
|
3
|
+
Version: 5.0.1
|
4
4
|
Summary: strongDM SDK for the Python programming language.
|
5
5
|
Home-page: https://github.com/strongdm/strongdm-sdk-python
|
6
6
|
Author: strongDM Team
|
7
7
|
Author-email: sdk-feedback@strongdm.com
|
8
8
|
License: apache-2.0
|
9
|
-
Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/
|
9
|
+
Download-URL: https://github.com/strongdm/strongdm-sdk-python/archive/v5.0.1.tar.gz
|
10
10
|
Description: # strongDM SDK for Python
|
11
11
|
|
12
12
|
This is the official [strongDM](https://www.strongdm.com/) SDK for the Python
|
@@ -70,6 +70,8 @@ Description: # strongDM SDK for Python
|
|
70
70
|
2. [Managing Accounts](https://github.com/strongdm/strongdm-sdk-python-examples/tree/master/2_managing_accounts)
|
71
71
|
3. [Managing Roles](https://github.com/strongdm/strongdm-sdk-python-examples/tree/master/3_managing_roles)
|
72
72
|
4. [Managing Gateways](https://github.com/strongdm/strongdm-sdk-python-examples/tree/master/4_managing_gateways)
|
73
|
+
5. [Auditing](https://github.com/strongdm/strongdm-sdk-python-examples/tree/master/5_auditing)
|
74
|
+
6. [Managing Access Workflows](https://github.com/strongdm/strongdm-sdk-python-examples/tree/master/6_managing_workflows)
|
73
75
|
|
74
76
|
## License
|
75
77
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|