strongdm 2.5.0 → 2.6.0
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.
- checksums.yaml +4 -4
- data/.git/ORIG_HEAD +1 -1
- data/.git/index +0 -0
- data/.git/logs/HEAD +3 -3
- data/.git/logs/refs/heads/master +2 -2
- data/.git/logs/refs/remotes/origin/HEAD +1 -1
- data/.git/objects/pack/{pack-c180677ba60e518124a696667c7cc0c268db3b1a.idx → pack-886c8b7b48ee02690285f26795cb132efb2f15f6.idx} +0 -0
- data/.git/objects/pack/{pack-c180677ba60e518124a696667c7cc0c268db3b1a.pack → pack-886c8b7b48ee02690285f26795cb132efb2f15f6.pack} +0 -0
- data/.git/packed-refs +3 -2
- data/.git/refs/heads/master +1 -1
- data/lib/grpc/drivers_pb.rb +14 -0
- data/lib/grpc/plumbing.rb +294 -0
- data/lib/grpc/remote_identities_pb.rb +90 -0
- data/lib/grpc/remote_identities_services_pb.rb +45 -0
- data/lib/grpc/remote_identity_groups_pb.rb +55 -0
- data/lib/grpc/remote_identity_groups_services_pb.rb +58 -0
- data/lib/models/porcelain.rb +252 -2
- data/lib/strongdm.rb +12 -1
- data/lib/svc.rb +266 -0
- data/lib/version +1 -1
- data/lib/version.rb +1 -1
- metadata +8 -4
@@ -0,0 +1,55 @@
|
|
1
|
+
# Copyright 2020 StrongDM Inc
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
#
|
15
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
16
|
+
# source: remote_identity_groups.proto
|
17
|
+
|
18
|
+
require "google/protobuf"
|
19
|
+
|
20
|
+
require "options_pb"
|
21
|
+
require "spec_pb"
|
22
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
23
|
+
add_file("remote_identity_groups.proto", :syntax => :proto3) do
|
24
|
+
add_message "v1.RemoteIdentityGroupGetRequest" do
|
25
|
+
optional :meta, :message, 1, "v1.GetRequestMetadata"
|
26
|
+
optional :id, :string, 2
|
27
|
+
end
|
28
|
+
add_message "v1.RemoteIdentityGroupGetResponse" do
|
29
|
+
optional :meta, :message, 1, "v1.GetResponseMetadata"
|
30
|
+
optional :remote_identity_group, :message, 2, "v1.RemoteIdentityGroup"
|
31
|
+
optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
|
32
|
+
end
|
33
|
+
add_message "v1.RemoteIdentityGroupListRequest" do
|
34
|
+
optional :meta, :message, 1, "v1.ListRequestMetadata"
|
35
|
+
optional :filter, :string, 2
|
36
|
+
end
|
37
|
+
add_message "v1.RemoteIdentityGroupListResponse" do
|
38
|
+
optional :meta, :message, 1, "v1.ListResponseMetadata"
|
39
|
+
repeated :remote_identity_groups, :message, 2, "v1.RemoteIdentityGroup"
|
40
|
+
optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
|
41
|
+
end
|
42
|
+
add_message "v1.RemoteIdentityGroup" do
|
43
|
+
optional :id, :string, 1
|
44
|
+
optional :name, :string, 2
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
module V1
|
50
|
+
RemoteIdentityGroupGetRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.RemoteIdentityGroupGetRequest").msgclass
|
51
|
+
RemoteIdentityGroupGetResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.RemoteIdentityGroupGetResponse").msgclass
|
52
|
+
RemoteIdentityGroupListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.RemoteIdentityGroupListRequest").msgclass
|
53
|
+
RemoteIdentityGroupListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.RemoteIdentityGroupListResponse").msgclass
|
54
|
+
RemoteIdentityGroup = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.RemoteIdentityGroup").msgclass
|
55
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
# Copyright 2020 StrongDM Inc
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
#
|
15
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
16
|
+
# Source: remote_identity_groups.proto for package 'v1'
|
17
|
+
|
18
|
+
require "grpc"
|
19
|
+
require "remote_identity_groups_pb"
|
20
|
+
|
21
|
+
module V1
|
22
|
+
module RemoteIdentityGroups
|
23
|
+
# A RemoteIdentityGroup is a named grouping of Remote Identities for Accounts.
|
24
|
+
# An Account's relationship to a RemoteIdentityGroup is defined via RemoteIdentity objects.
|
25
|
+
class Service
|
26
|
+
include GRPC::GenericService
|
27
|
+
|
28
|
+
self.marshal_class_method = :encode
|
29
|
+
self.unmarshal_class_method = :decode
|
30
|
+
self.service_name = "v1.RemoteIdentityGroups"
|
31
|
+
|
32
|
+
# // Create registers a new RemoteIdentityGroup.
|
33
|
+
# rpc Create(RemoteIdentityGroupCreateRequest) returns (RemoteIdentityGroupCreateResponse) {
|
34
|
+
# option (v1.method_options).method = "post";
|
35
|
+
# option (v1.method_options).url = "/v1/remote-identity-groups";
|
36
|
+
# }
|
37
|
+
#
|
38
|
+
# Get reads one RemoteIdentityGroup by ID.
|
39
|
+
rpc :Get, V1::RemoteIdentityGroupGetRequest, V1::RemoteIdentityGroupGetResponse
|
40
|
+
# // Update replaces all the fields of a RemoteIdentityGroup by ID.
|
41
|
+
# rpc Update(RemoteIdentityGroupUpdateRequest) returns (RemoteIdentityGroupUpdateResponse) {
|
42
|
+
# option (v1.method_options).method = "put";
|
43
|
+
# option (v1.method_options).url = "/v1/remote-identity-groups/{id}";
|
44
|
+
# }
|
45
|
+
#
|
46
|
+
# // Delete removes a RemoteIdentityGroup by ID.
|
47
|
+
# rpc Delete(RemoteIdentityGroupDeleteRequest) returns (RemoteIdentityGroupDeleteResponse) {
|
48
|
+
# option (v1.method_options).method = "delete";
|
49
|
+
# option (v1.method_options).url = "/v1/remote-identity-groups/{id}";
|
50
|
+
# }
|
51
|
+
#
|
52
|
+
# List gets a list of RemoteIdentityGroups matching a given set of criteria.
|
53
|
+
rpc :List, V1::RemoteIdentityGroupListRequest, V1::RemoteIdentityGroupListResponse
|
54
|
+
end
|
55
|
+
|
56
|
+
Stub = Service.rpc_stub_class
|
57
|
+
end
|
58
|
+
end
|
data/lib/models/porcelain.rb
CHANGED
@@ -39,6 +39,10 @@ module SDM
|
|
39
39
|
attr_accessor :name
|
40
40
|
|
41
41
|
attr_accessor :port
|
42
|
+
|
43
|
+
attr_accessor :remote_identity_group_id
|
44
|
+
|
45
|
+
attr_accessor :remote_identity_healthcheck_username
|
42
46
|
# ID of the secret store containing credentials for this resource, if any.
|
43
47
|
attr_accessor :secret_store_id
|
44
48
|
# Tags is a map of key, value pairs.
|
@@ -56,6 +60,8 @@ module SDM
|
|
56
60
|
id: nil,
|
57
61
|
name: nil,
|
58
62
|
port: nil,
|
63
|
+
remote_identity_group_id: nil,
|
64
|
+
remote_identity_healthcheck_username: nil,
|
59
65
|
secret_store_id: nil,
|
60
66
|
tags: nil
|
61
67
|
)
|
@@ -70,6 +76,8 @@ module SDM
|
|
70
76
|
@id = id == nil ? "" : id
|
71
77
|
@name = name == nil ? "" : name
|
72
78
|
@port = port == nil ? 0 : port
|
79
|
+
@remote_identity_group_id = remote_identity_group_id == nil ? "" : remote_identity_group_id
|
80
|
+
@remote_identity_healthcheck_username = remote_identity_healthcheck_username == nil ? "" : remote_identity_healthcheck_username
|
73
81
|
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
74
82
|
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
75
83
|
end
|
@@ -163,6 +171,10 @@ module SDM
|
|
163
171
|
attr_accessor :name
|
164
172
|
|
165
173
|
attr_accessor :port
|
174
|
+
|
175
|
+
attr_accessor :remote_identity_group_id
|
176
|
+
|
177
|
+
attr_accessor :remote_identity_healthcheck_username
|
166
178
|
# ID of the secret store containing credentials for this resource, if any.
|
167
179
|
attr_accessor :secret_store_id
|
168
180
|
# Tags is a map of key, value pairs.
|
@@ -179,6 +191,8 @@ module SDM
|
|
179
191
|
id: nil,
|
180
192
|
name: nil,
|
181
193
|
port: nil,
|
194
|
+
remote_identity_group_id: nil,
|
195
|
+
remote_identity_healthcheck_username: nil,
|
182
196
|
secret_store_id: nil,
|
183
197
|
tags: nil,
|
184
198
|
token: nil
|
@@ -191,6 +205,8 @@ module SDM
|
|
191
205
|
@id = id == nil ? "" : id
|
192
206
|
@name = name == nil ? "" : name
|
193
207
|
@port = port == nil ? 0 : port
|
208
|
+
@remote_identity_group_id = remote_identity_group_id == nil ? "" : remote_identity_group_id
|
209
|
+
@remote_identity_healthcheck_username = remote_identity_healthcheck_username == nil ? "" : remote_identity_healthcheck_username
|
194
210
|
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
195
211
|
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
196
212
|
@token = token == nil ? "" : token
|
@@ -619,11 +635,11 @@ module SDM
|
|
619
635
|
|
620
636
|
# AccountGrants connect a resource directly to an account, giving the account the permission to connect to that resource.
|
621
637
|
class AccountGrant
|
622
|
-
# The id of
|
638
|
+
# The account id of this AccountGrant.
|
623
639
|
attr_accessor :account_id
|
624
640
|
# Unique identifier of the AccountGrant.
|
625
641
|
attr_accessor :id
|
626
|
-
# The id of
|
642
|
+
# The resource id of this AccountGrant.
|
627
643
|
attr_accessor :resource_id
|
628
644
|
# The timestamp when the resource will be granted. Optional. Both start_at
|
629
645
|
# and end_at must be defined together, or not defined at all.
|
@@ -787,6 +803,10 @@ module SDM
|
|
787
803
|
|
788
804
|
attr_accessor :region
|
789
805
|
|
806
|
+
attr_accessor :remote_identity_group_id
|
807
|
+
|
808
|
+
attr_accessor :remote_identity_healthcheck_username
|
809
|
+
|
790
810
|
attr_accessor :role_arn
|
791
811
|
|
792
812
|
attr_accessor :role_external_id
|
@@ -809,6 +829,8 @@ module SDM
|
|
809
829
|
id: nil,
|
810
830
|
name: nil,
|
811
831
|
region: nil,
|
832
|
+
remote_identity_group_id: nil,
|
833
|
+
remote_identity_healthcheck_username: nil,
|
812
834
|
role_arn: nil,
|
813
835
|
role_external_id: nil,
|
814
836
|
secret_access_key: nil,
|
@@ -826,6 +848,8 @@ module SDM
|
|
826
848
|
@id = id == nil ? "" : id
|
827
849
|
@name = name == nil ? "" : name
|
828
850
|
@region = region == nil ? "" : region
|
851
|
+
@remote_identity_group_id = remote_identity_group_id == nil ? "" : remote_identity_group_id
|
852
|
+
@remote_identity_healthcheck_username = remote_identity_healthcheck_username == nil ? "" : remote_identity_healthcheck_username
|
829
853
|
@role_arn = role_arn == nil ? "" : role_arn
|
830
854
|
@role_external_id = role_external_id == nil ? "" : role_external_id
|
831
855
|
@secret_access_key = secret_access_key == nil ? "" : secret_access_key
|
@@ -2593,6 +2617,10 @@ module SDM
|
|
2593
2617
|
attr_accessor :id
|
2594
2618
|
# Unique human-readable name of the Resource.
|
2595
2619
|
attr_accessor :name
|
2620
|
+
|
2621
|
+
attr_accessor :remote_identity_group_id
|
2622
|
+
|
2623
|
+
attr_accessor :remote_identity_healthcheck_username
|
2596
2624
|
# ID of the secret store containing credentials for this resource, if any.
|
2597
2625
|
attr_accessor :secret_store_id
|
2598
2626
|
|
@@ -2609,6 +2637,8 @@ module SDM
|
|
2609
2637
|
healthy: nil,
|
2610
2638
|
id: nil,
|
2611
2639
|
name: nil,
|
2640
|
+
remote_identity_group_id: nil,
|
2641
|
+
remote_identity_healthcheck_username: nil,
|
2612
2642
|
secret_store_id: nil,
|
2613
2643
|
service_account_key: nil,
|
2614
2644
|
tags: nil
|
@@ -2621,6 +2651,8 @@ module SDM
|
|
2621
2651
|
@healthy = healthy == nil ? false : healthy
|
2622
2652
|
@id = id == nil ? "" : id
|
2623
2653
|
@name = name == nil ? "" : name
|
2654
|
+
@remote_identity_group_id = remote_identity_group_id == nil ? "" : remote_identity_group_id
|
2655
|
+
@remote_identity_healthcheck_username = remote_identity_healthcheck_username == nil ? "" : remote_identity_healthcheck_username
|
2624
2656
|
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
2625
2657
|
@service_account_key = service_account_key == nil ? "" : service_account_key
|
2626
2658
|
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
@@ -2988,6 +3020,10 @@ module SDM
|
|
2988
3020
|
attr_accessor :name
|
2989
3021
|
|
2990
3022
|
attr_accessor :port
|
3023
|
+
|
3024
|
+
attr_accessor :remote_identity_group_id
|
3025
|
+
|
3026
|
+
attr_accessor :remote_identity_healthcheck_username
|
2991
3027
|
# ID of the secret store containing credentials for this resource, if any.
|
2992
3028
|
attr_accessor :secret_store_id
|
2993
3029
|
# Tags is a map of key, value pairs.
|
@@ -3005,6 +3041,8 @@ module SDM
|
|
3005
3041
|
id: nil,
|
3006
3042
|
name: nil,
|
3007
3043
|
port: nil,
|
3044
|
+
remote_identity_group_id: nil,
|
3045
|
+
remote_identity_healthcheck_username: nil,
|
3008
3046
|
secret_store_id: nil,
|
3009
3047
|
tags: nil
|
3010
3048
|
)
|
@@ -3019,6 +3057,8 @@ module SDM
|
|
3019
3057
|
@id = id == nil ? "" : id
|
3020
3058
|
@name = name == nil ? "" : name
|
3021
3059
|
@port = port == nil ? 0 : port
|
3060
|
+
@remote_identity_group_id = remote_identity_group_id == nil ? "" : remote_identity_group_id
|
3061
|
+
@remote_identity_healthcheck_username = remote_identity_healthcheck_username == nil ? "" : remote_identity_healthcheck_username
|
3022
3062
|
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
3023
3063
|
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
3024
3064
|
end
|
@@ -3112,6 +3152,10 @@ module SDM
|
|
3112
3152
|
attr_accessor :name
|
3113
3153
|
|
3114
3154
|
attr_accessor :port
|
3155
|
+
|
3156
|
+
attr_accessor :remote_identity_group_id
|
3157
|
+
|
3158
|
+
attr_accessor :remote_identity_healthcheck_username
|
3115
3159
|
# ID of the secret store containing credentials for this resource, if any.
|
3116
3160
|
attr_accessor :secret_store_id
|
3117
3161
|
# Tags is a map of key, value pairs.
|
@@ -3128,6 +3172,8 @@ module SDM
|
|
3128
3172
|
id: nil,
|
3129
3173
|
name: nil,
|
3130
3174
|
port: nil,
|
3175
|
+
remote_identity_group_id: nil,
|
3176
|
+
remote_identity_healthcheck_username: nil,
|
3131
3177
|
secret_store_id: nil,
|
3132
3178
|
tags: nil,
|
3133
3179
|
token: nil
|
@@ -3140,6 +3186,8 @@ module SDM
|
|
3140
3186
|
@id = id == nil ? "" : id
|
3141
3187
|
@name = name == nil ? "" : name
|
3142
3188
|
@port = port == nil ? 0 : port
|
3189
|
+
@remote_identity_group_id = remote_identity_group_id == nil ? "" : remote_identity_group_id
|
3190
|
+
@remote_identity_healthcheck_username = remote_identity_healthcheck_username == nil ? "" : remote_identity_healthcheck_username
|
3143
3191
|
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
3144
3192
|
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
3145
3193
|
@token = token == nil ? "" : token
|
@@ -4921,6 +4969,200 @@ module SDM
|
|
4921
4969
|
end
|
4922
4970
|
end
|
4923
4971
|
|
4972
|
+
# RemoteIdentities define the username to be used for a specific account
|
4973
|
+
# when connecting to a remote resource using that group.
|
4974
|
+
class RemoteIdentity
|
4975
|
+
# The account for this remote identity.
|
4976
|
+
attr_accessor :account_id
|
4977
|
+
# Unique identifier of the RemoteIdentity.
|
4978
|
+
attr_accessor :id
|
4979
|
+
# The remote identity group.
|
4980
|
+
attr_accessor :remote_identity_group_id
|
4981
|
+
# The username to be used as the remote identity for this account.
|
4982
|
+
attr_accessor :username
|
4983
|
+
|
4984
|
+
def initialize(
|
4985
|
+
account_id: nil,
|
4986
|
+
id: nil,
|
4987
|
+
remote_identity_group_id: nil,
|
4988
|
+
username: nil
|
4989
|
+
)
|
4990
|
+
@account_id = account_id == nil ? "" : account_id
|
4991
|
+
@id = id == nil ? "" : id
|
4992
|
+
@remote_identity_group_id = remote_identity_group_id == nil ? "" : remote_identity_group_id
|
4993
|
+
@username = username == nil ? "" : username
|
4994
|
+
end
|
4995
|
+
|
4996
|
+
def to_json(options = {})
|
4997
|
+
hash = {}
|
4998
|
+
self.instance_variables.each do |var|
|
4999
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
5000
|
+
end
|
5001
|
+
hash.to_json
|
5002
|
+
end
|
5003
|
+
end
|
5004
|
+
|
5005
|
+
# RemoteIdentityCreateResponse reports how the RemoteIdentities were created in the system.
|
5006
|
+
class RemoteIdentityCreateResponse
|
5007
|
+
# Reserved for future use.
|
5008
|
+
attr_accessor :meta
|
5009
|
+
# Rate limit information.
|
5010
|
+
attr_accessor :rate_limit
|
5011
|
+
# The created RemoteIdentity.
|
5012
|
+
attr_accessor :remote_identity
|
5013
|
+
|
5014
|
+
def initialize(
|
5015
|
+
meta: nil,
|
5016
|
+
rate_limit: nil,
|
5017
|
+
remote_identity: nil
|
5018
|
+
)
|
5019
|
+
@meta = meta == nil ? nil : meta
|
5020
|
+
@rate_limit = rate_limit == nil ? nil : rate_limit
|
5021
|
+
@remote_identity = remote_identity == nil ? nil : remote_identity
|
5022
|
+
end
|
5023
|
+
|
5024
|
+
def to_json(options = {})
|
5025
|
+
hash = {}
|
5026
|
+
self.instance_variables.each do |var|
|
5027
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
5028
|
+
end
|
5029
|
+
hash.to_json
|
5030
|
+
end
|
5031
|
+
end
|
5032
|
+
|
5033
|
+
# RemoteIdentityDeleteResponse returns information about a RemoteIdentity that was deleted.
|
5034
|
+
class RemoteIdentityDeleteResponse
|
5035
|
+
# Reserved for future use.
|
5036
|
+
attr_accessor :meta
|
5037
|
+
# Rate limit information.
|
5038
|
+
attr_accessor :rate_limit
|
5039
|
+
|
5040
|
+
def initialize(
|
5041
|
+
meta: nil,
|
5042
|
+
rate_limit: nil
|
5043
|
+
)
|
5044
|
+
@meta = meta == nil ? nil : meta
|
5045
|
+
@rate_limit = rate_limit == nil ? nil : rate_limit
|
5046
|
+
end
|
5047
|
+
|
5048
|
+
def to_json(options = {})
|
5049
|
+
hash = {}
|
5050
|
+
self.instance_variables.each do |var|
|
5051
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
5052
|
+
end
|
5053
|
+
hash.to_json
|
5054
|
+
end
|
5055
|
+
end
|
5056
|
+
|
5057
|
+
# RemoteIdentityGetResponse returns a requested RemoteIdentity.
|
5058
|
+
class RemoteIdentityGetResponse
|
5059
|
+
# Reserved for future use.
|
5060
|
+
attr_accessor :meta
|
5061
|
+
# Rate limit information.
|
5062
|
+
attr_accessor :rate_limit
|
5063
|
+
# The requested RemoteIdentity.
|
5064
|
+
attr_accessor :remote_identity
|
5065
|
+
|
5066
|
+
def initialize(
|
5067
|
+
meta: nil,
|
5068
|
+
rate_limit: nil,
|
5069
|
+
remote_identity: nil
|
5070
|
+
)
|
5071
|
+
@meta = meta == nil ? nil : meta
|
5072
|
+
@rate_limit = rate_limit == nil ? nil : rate_limit
|
5073
|
+
@remote_identity = remote_identity == nil ? nil : remote_identity
|
5074
|
+
end
|
5075
|
+
|
5076
|
+
def to_json(options = {})
|
5077
|
+
hash = {}
|
5078
|
+
self.instance_variables.each do |var|
|
5079
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
5080
|
+
end
|
5081
|
+
hash.to_json
|
5082
|
+
end
|
5083
|
+
end
|
5084
|
+
|
5085
|
+
# A RemoteIdentityGroup defines a group of remote identities.
|
5086
|
+
class RemoteIdentityGroup
|
5087
|
+
# Unique identifier of the RemoteIdentityGroup.
|
5088
|
+
attr_accessor :id
|
5089
|
+
# Unique human-readable name of the RemoteIdentityGroup.
|
5090
|
+
attr_accessor :name
|
5091
|
+
|
5092
|
+
def initialize(
|
5093
|
+
id: nil,
|
5094
|
+
name: nil
|
5095
|
+
)
|
5096
|
+
@id = id == nil ? "" : id
|
5097
|
+
@name = name == nil ? "" : name
|
5098
|
+
end
|
5099
|
+
|
5100
|
+
def to_json(options = {})
|
5101
|
+
hash = {}
|
5102
|
+
self.instance_variables.each do |var|
|
5103
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
5104
|
+
end
|
5105
|
+
hash.to_json
|
5106
|
+
end
|
5107
|
+
end
|
5108
|
+
|
5109
|
+
# RemoteIdentityGroupGetResponse returns a requested RemoteIdentityGroup.
|
5110
|
+
class RemoteIdentityGroupGetResponse
|
5111
|
+
# Reserved for future use.
|
5112
|
+
attr_accessor :meta
|
5113
|
+
# Rate limit information.
|
5114
|
+
attr_accessor :rate_limit
|
5115
|
+
# The requested RemoteIdentityGroup.
|
5116
|
+
attr_accessor :remote_identity_group
|
5117
|
+
|
5118
|
+
def initialize(
|
5119
|
+
meta: nil,
|
5120
|
+
rate_limit: nil,
|
5121
|
+
remote_identity_group: nil
|
5122
|
+
)
|
5123
|
+
@meta = meta == nil ? nil : meta
|
5124
|
+
@rate_limit = rate_limit == nil ? nil : rate_limit
|
5125
|
+
@remote_identity_group = remote_identity_group == nil ? nil : remote_identity_group
|
5126
|
+
end
|
5127
|
+
|
5128
|
+
def to_json(options = {})
|
5129
|
+
hash = {}
|
5130
|
+
self.instance_variables.each do |var|
|
5131
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
5132
|
+
end
|
5133
|
+
hash.to_json
|
5134
|
+
end
|
5135
|
+
end
|
5136
|
+
|
5137
|
+
# RemoteIdentityUpdateResponse returns the fields of a RemoteIdentity after it has been updated by
|
5138
|
+
# a RemoteIdentityUpdateRequest.
|
5139
|
+
class RemoteIdentityUpdateResponse
|
5140
|
+
# Reserved for future use.
|
5141
|
+
attr_accessor :meta
|
5142
|
+
# Rate limit information.
|
5143
|
+
attr_accessor :rate_limit
|
5144
|
+
# The updated RemoteIdentity.
|
5145
|
+
attr_accessor :remote_identity
|
5146
|
+
|
5147
|
+
def initialize(
|
5148
|
+
meta: nil,
|
5149
|
+
rate_limit: nil,
|
5150
|
+
remote_identity: nil
|
5151
|
+
)
|
5152
|
+
@meta = meta == nil ? nil : meta
|
5153
|
+
@rate_limit = rate_limit == nil ? nil : rate_limit
|
5154
|
+
@remote_identity = remote_identity == nil ? nil : remote_identity
|
5155
|
+
end
|
5156
|
+
|
5157
|
+
def to_json(options = {})
|
5158
|
+
hash = {}
|
5159
|
+
self.instance_variables.each do |var|
|
5160
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
5161
|
+
end
|
5162
|
+
hash.to_json
|
5163
|
+
end
|
5164
|
+
end
|
5165
|
+
|
4924
5166
|
# ResourceCreateResponse reports how the Resources were created in the system.
|
4925
5167
|
class ResourceCreateResponse
|
4926
5168
|
# Reserved for future use.
|
@@ -5578,6 +5820,10 @@ module SDM
|
|
5578
5820
|
attr_accessor :port_forwarding
|
5579
5821
|
|
5580
5822
|
attr_accessor :port_override
|
5823
|
+
|
5824
|
+
attr_accessor :remote_identity_group_id
|
5825
|
+
|
5826
|
+
attr_accessor :remote_identity_healthcheck_username
|
5581
5827
|
# ID of the secret store containing credentials for this resource, if any.
|
5582
5828
|
attr_accessor :secret_store_id
|
5583
5829
|
# Tags is a map of key, value pairs.
|
@@ -5596,6 +5842,8 @@ module SDM
|
|
5596
5842
|
port: nil,
|
5597
5843
|
port_forwarding: nil,
|
5598
5844
|
port_override: nil,
|
5845
|
+
remote_identity_group_id: nil,
|
5846
|
+
remote_identity_healthcheck_username: nil,
|
5599
5847
|
secret_store_id: nil,
|
5600
5848
|
tags: nil,
|
5601
5849
|
username: nil
|
@@ -5610,6 +5858,8 @@ module SDM
|
|
5610
5858
|
@port = port == nil ? 0 : port
|
5611
5859
|
@port_forwarding = port_forwarding == nil ? false : port_forwarding
|
5612
5860
|
@port_override = port_override == nil ? 0 : port_override
|
5861
|
+
@remote_identity_group_id = remote_identity_group_id == nil ? "" : remote_identity_group_id
|
5862
|
+
@remote_identity_healthcheck_username = remote_identity_healthcheck_username == nil ? "" : remote_identity_healthcheck_username
|
5613
5863
|
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
5614
5864
|
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
5615
5865
|
@username = username == nil ? "" : username
|
data/lib/strongdm.rb
CHANGED
@@ -28,7 +28,7 @@ module SDM #:nodoc:
|
|
28
28
|
DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms
|
29
29
|
DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds
|
30
30
|
API_VERSION = "2021-08-23"
|
31
|
-
USER_AGENT = "strongdm-sdk-ruby/2.
|
31
|
+
USER_AGENT = "strongdm-sdk-ruby/2.6.0"
|
32
32
|
private_constant :DEFAULT_MAX_RETRIES, :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :API_VERSION, :USER_AGENT
|
33
33
|
|
34
34
|
# Creates a new strongDM API client.
|
@@ -47,6 +47,8 @@ module SDM #:nodoc:
|
|
47
47
|
@accounts = Accounts.new(host, insecure, self)
|
48
48
|
@control_panel = ControlPanel.new(host, insecure, self)
|
49
49
|
@nodes = Nodes.new(host, insecure, self)
|
50
|
+
@remote_identities = RemoteIdentities.new(host, insecure, self)
|
51
|
+
@remote_identity_groups = RemoteIdentityGroups.new(host, insecure, self)
|
50
52
|
@resources = Resources.new(host, insecure, self)
|
51
53
|
@role_attachments = RoleAttachments.new(host, insecure, self)
|
52
54
|
@role_grants = RoleGrants.new(host, insecure, self)
|
@@ -140,6 +142,15 @@ module SDM #:nodoc:
|
|
140
142
|
#
|
141
143
|
# See {Nodes}.
|
142
144
|
attr_reader :nodes
|
145
|
+
# RemoteIdentities assign a resource directly to an account, giving the account the permission to connect to that resource.
|
146
|
+
#
|
147
|
+
# See {RemoteIdentities}.
|
148
|
+
attr_reader :remote_identities
|
149
|
+
# A RemoteIdentityGroup is a named grouping of Remote Identities for Accounts.
|
150
|
+
# An Account's relationship to a RemoteIdentityGroup is defined via RemoteIdentity objects.
|
151
|
+
#
|
152
|
+
# See {RemoteIdentityGroups}.
|
153
|
+
attr_reader :remote_identity_groups
|
143
154
|
# Resources are databases, servers, clusters, websites, or clouds that strongDM
|
144
155
|
# delegates access to.
|
145
156
|
#
|