strongdm 2.5.0 → 2.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
#
|