./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.