./lib/strongdm.rb in strongdm-4.1.0 vs ./lib/strongdm.rb in strongdm-4.2.0

- old
+ new

@@ -27,11 +27,11 @@ class Client DEFAULT_MAX_RETRIES = 3 DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds API_VERSION = "2021-08-23" - USER_AGENT = "strongdm-sdk-ruby/4.1.0" + USER_AGENT = "strongdm-sdk-ruby/4.2.0" private_constant :DEFAULT_MAX_RETRIES, :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :API_VERSION, :USER_AGENT # Creates a new strongDM API client. def initialize(api_access_key, api_secret_key, host: "api.strongdm.com:443", insecure: false, retry_rate_limit_errors: true) raise TypeError, "client access key must be a string" unless api_access_key.kind_of?(String) @@ -66,10 +66,14 @@ @activities = Activities.new(@channel, self) @control_panel = ControlPanel.new(@channel, self) @nodes = Nodes.new(@channel, self) @nodes_history = NodesHistory.new(@channel, self) @organization_history = OrganizationHistory.new(@channel, self) + @peering_group_nodes = PeeringGroupNodes.new(@channel, self) + @peering_group_peers = PeeringGroupPeers.new(@channel, self) + @peering_group_resources = PeeringGroupResources.new(@channel, self) + @peering_groups = PeeringGroups.new(@channel, self) @queries = Queries.new(@channel, self) @remote_identities = RemoteIdentities.new(@channel, self) @remote_identities_history = RemoteIdentitiesHistory.new(@channel, self) @remote_identity_groups = RemoteIdentityGroups.new(@channel, self) @remote_identity_groups_history = RemoteIdentityGroupsHistory.new(@channel, self) @@ -234,10 +238,26 @@ attr_reader :nodes_history # OrganizationHistory records all changes to the state of an Organization. # # See {OrganizationHistory}. attr_reader :organization_history + # PeeringGroupNodes provides the building blocks necessary to obtain attach a node to a peering group. + # + # See {PeeringGroupNodes}. + attr_reader :peering_group_nodes + # PeeringGroupPeers provides the building blocks necessary to link two peering groups. + # + # See {PeeringGroupPeers}. + attr_reader :peering_group_peers + # PeeringGroupResources provides the building blocks necessary to obtain attach a resource to a peering group. + # + # See {PeeringGroupResources}. + attr_reader :peering_group_resources + # PeeringGroups provides the building blocks necessary to obtain explicit network topology and routing. + # + # See {PeeringGroups}. + attr_reader :peering_groups # A Query is a record of a single client request to a resource, such as a SQL query. # Long-running SSH, RDP, or Kubernetes interactive sessions also count as queries. # The Queries service is read-only. # # See {Queries}. @@ -322,10 +342,14 @@ @activities = Activities.new(@channel, self) @control_panel = ControlPanel.new(@channel, self) @nodes = Nodes.new(@channel, self) @nodes_history = NodesHistory.new(@channel, self) @organization_history = OrganizationHistory.new(@channel, self) + @peering_group_nodes = PeeringGroupNodes.new(@channel, self) + @peering_group_peers = PeeringGroupPeers.new(@channel, self) + @peering_group_resources = PeeringGroupResources.new(@channel, self) + @peering_groups = PeeringGroups.new(@channel, self) @queries = Queries.new(@channel, self) @remote_identities = RemoteIdentities.new(@channel, self) @remote_identities_history = RemoteIdentitiesHistory.new(@channel, self) @remote_identity_groups = RemoteIdentityGroups.new(@channel, self) @remote_identity_groups_history = RemoteIdentityGroupsHistory.new(@channel, self) @@ -348,10 +372,14 @@ @account_grants = SnapshotAccountGrants.new(client.account_grants) @account_permissions = SnapshotAccountPermissions.new(client.account_permissions) @account_resources = SnapshotAccountResources.new(client.account_resources) @accounts = SnapshotAccounts.new(client.accounts) @nodes = SnapshotNodes.new(client.nodes) + @peering_group_nodes = SnapshotPeeringGroupNodes.new(client.peering_group_nodes) + @peering_group_peers = SnapshotPeeringGroupPeers.new(client.peering_group_peers) + @peering_group_resources = SnapshotPeeringGroupResources.new(client.peering_group_resources) + @peering_groups = SnapshotPeeringGroups.new(client.peering_groups) @remote_identities = SnapshotRemoteIdentities.new(client.remote_identities) @remote_identity_groups = SnapshotRemoteIdentityGroups.new(client.remote_identity_groups) @resources = SnapshotResources.new(client.resources) @role_resources = SnapshotRoleResources.new(client.role_resources) @roles = SnapshotRoles.new(client.roles) @@ -386,9 +414,25 @@ # - **Gateways** are the entry points into network. They listen for connection from the strongDM client, and provide access to databases and servers. # - **Relays** are used to extend the strongDM network into segmented subnets. They provide access to databases and servers but do not listen for incoming connections. # # See {SnapshotNodes}. attr_reader :nodes + # PeeringGroupNodes provides the building blocks necessary to obtain attach a node to a peering group. + # + # See {SnapshotPeeringGroupNodes}. + attr_reader :peering_group_nodes + # PeeringGroupPeers provides the building blocks necessary to link two peering groups. + # + # See {SnapshotPeeringGroupPeers}. + attr_reader :peering_group_peers + # PeeringGroupResources provides the building blocks necessary to obtain attach a resource to a peering group. + # + # See {SnapshotPeeringGroupResources}. + attr_reader :peering_group_resources + # PeeringGroups provides the building blocks necessary to obtain explicit network topology and routing. + # + # See {SnapshotPeeringGroups}. + attr_reader :peering_groups # RemoteIdentities assign a resource directly to an account, giving the account the permission to connect to that resource. # # See {SnapshotRemoteIdentities}. attr_reader :remote_identities # A RemoteIdentityGroup is a named grouping of Remote Identities for Accounts.