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.
Files changed (112) hide show
  1. {strongdm-4.8.0 → strongdm-5.0.1}/PKG-INFO +4 -2
  2. {strongdm-4.8.0 → strongdm-5.0.1}/README.md +2 -0
  3. {strongdm-4.8.0 → strongdm-5.0.1}/setup.py +2 -2
  4. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/client.py +1 -1
  5. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/constants.py +1 -1
  6. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/drivers_pb2.py +252 -164
  7. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/models.py +322 -0
  8. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/plumbing.py +127 -0
  9. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/svc.py +2 -0
  10. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm.egg-info/PKG-INFO +4 -2
  11. {strongdm-4.8.0 → strongdm-5.0.1}/setup.cfg +0 -0
  12. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/__init__.py +0 -0
  13. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/access_request_events_history_pb2.py +0 -0
  14. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/access_request_events_history_pb2_grpc.py +0 -0
  15. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/access_requests_history_pb2.py +0 -0
  16. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/access_requests_history_pb2_grpc.py +0 -0
  17. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/access_requests_pb2.py +0 -0
  18. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/access_requests_pb2_grpc.py +0 -0
  19. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_attachments_history_pb2.py +0 -0
  20. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_attachments_history_pb2_grpc.py +0 -0
  21. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_attachments_pb2.py +0 -0
  22. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_attachments_pb2_grpc.py +0 -0
  23. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_grants_history_pb2.py +0 -0
  24. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_grants_history_pb2_grpc.py +0 -0
  25. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_grants_pb2.py +0 -0
  26. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_grants_pb2_grpc.py +0 -0
  27. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_permissions_pb2.py +0 -0
  28. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_permissions_pb2_grpc.py +0 -0
  29. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_resources_history_pb2.py +0 -0
  30. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_resources_history_pb2_grpc.py +0 -0
  31. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_resources_pb2.py +0 -0
  32. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/account_resources_pb2_grpc.py +0 -0
  33. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/accounts_history_pb2.py +0 -0
  34. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/accounts_history_pb2_grpc.py +0 -0
  35. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/accounts_pb2.py +0 -0
  36. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/accounts_pb2_grpc.py +0 -0
  37. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/activities_pb2.py +0 -0
  38. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/activities_pb2_grpc.py +0 -0
  39. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/control_panel_pb2.py +0 -0
  40. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/control_panel_pb2_grpc.py +0 -0
  41. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/drivers_pb2_grpc.py +0 -0
  42. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/errors.py +0 -0
  43. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/nodes_history_pb2.py +0 -0
  44. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/nodes_history_pb2_grpc.py +0 -0
  45. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/nodes_pb2.py +0 -0
  46. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/nodes_pb2_grpc.py +0 -0
  47. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/options_pb2.py +0 -0
  48. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/options_pb2_grpc.py +0 -0
  49. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/organization_history_pb2.py +0 -0
  50. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/organization_history_pb2_grpc.py +0 -0
  51. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_group_nodes_pb2.py +0 -0
  52. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_group_nodes_pb2_grpc.py +0 -0
  53. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_group_peers_pb2.py +0 -0
  54. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_group_peers_pb2_grpc.py +0 -0
  55. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_group_resources_pb2.py +0 -0
  56. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_group_resources_pb2_grpc.py +0 -0
  57. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_groups_pb2.py +0 -0
  58. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/peering_groups_pb2_grpc.py +0 -0
  59. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/queries_pb2.py +0 -0
  60. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/queries_pb2_grpc.py +0 -0
  61. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identities_history_pb2.py +0 -0
  62. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identities_history_pb2_grpc.py +0 -0
  63. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identities_pb2.py +0 -0
  64. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identities_pb2_grpc.py +0 -0
  65. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identity_groups_history_pb2.py +0 -0
  66. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identity_groups_history_pb2_grpc.py +0 -0
  67. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identity_groups_pb2.py +0 -0
  68. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/remote_identity_groups_pb2_grpc.py +0 -0
  69. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/replays_pb2.py +0 -0
  70. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/replays_pb2_grpc.py +0 -0
  71. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/resources_history_pb2.py +0 -0
  72. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/resources_history_pb2_grpc.py +0 -0
  73. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/resources_pb2.py +0 -0
  74. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/resources_pb2_grpc.py +0 -0
  75. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/role_resources_history_pb2.py +0 -0
  76. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/role_resources_history_pb2_grpc.py +0 -0
  77. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/role_resources_pb2.py +0 -0
  78. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/role_resources_pb2_grpc.py +0 -0
  79. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/roles_history_pb2.py +0 -0
  80. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/roles_history_pb2_grpc.py +0 -0
  81. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/roles_pb2.py +0 -0
  82. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/roles_pb2_grpc.py +0 -0
  83. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/secret_store_types_pb2.py +0 -0
  84. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/secret_store_types_pb2_grpc.py +0 -0
  85. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/secret_stores_history_pb2.py +0 -0
  86. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/secret_stores_history_pb2_grpc.py +0 -0
  87. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/secret_stores_pb2.py +0 -0
  88. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/secret_stores_pb2_grpc.py +0 -0
  89. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/spec_pb2.py +0 -0
  90. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/spec_pb2_grpc.py +0 -0
  91. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/tags_pb2.py +0 -0
  92. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/tags_pb2_grpc.py +0 -0
  93. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_approvers_history_pb2.py +0 -0
  94. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_approvers_history_pb2_grpc.py +0 -0
  95. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_approvers_pb2.py +0 -0
  96. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_approvers_pb2_grpc.py +0 -0
  97. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_assignments_history_pb2.py +0 -0
  98. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_assignments_history_pb2_grpc.py +0 -0
  99. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_assignments_pb2.py +0 -0
  100. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_assignments_pb2_grpc.py +0 -0
  101. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_roles_history_pb2.py +0 -0
  102. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_roles_history_pb2_grpc.py +0 -0
  103. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_roles_pb2.py +0 -0
  104. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflow_roles_pb2_grpc.py +0 -0
  105. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflows_history_pb2.py +0 -0
  106. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflows_history_pb2_grpc.py +0 -0
  107. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflows_pb2.py +0 -0
  108. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm/workflows_pb2_grpc.py +0 -0
  109. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm.egg-info/SOURCES.txt +0 -0
  110. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm.egg-info/dependency_links.txt +0 -0
  111. {strongdm-4.8.0 → strongdm-5.0.1}/strongdm.egg-info/requires.txt +0 -0
  112. {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: 4.8.0
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/v4.8.0.tar.gz
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