12
12
import com .cloudera .thunderhead .service .usermanagement .UserManagementProto ;
13
13
import com .sequenceiq .cloudbreak .auth .altus .GrpcUmsClient ;
14
14
import com .sequenceiq .cloudbreak .auth .altus .model .AltusCredential ;
15
+ import com .sequenceiq .cloudbreak .auth .altus .model .CdpAccessKeyType ;
16
+ import com .sequenceiq .cloudbreak .auth .altus .model .MachineUserRequest ;
15
17
import com .sequenceiq .cloudbreak .auth .crn .RegionAwareInternalCrnGeneratorFactory ;
16
18
import com .sequenceiq .common .api .telemetry .model .AnonymizationRule ;
17
19
@@ -55,32 +57,30 @@ public AltusCredential generateMachineUserWithAccessKeyForLegacyCm(String machin
55
57
/**
56
58
* Generate databus machine user with access keys
57
59
*/
58
- public Optional <AltusCredential > generateDatabusMachineUserWithAccessKey (String machineUserName , String actorCrn , String accountId ,
59
- boolean useSharedCredential ) {
60
+ public Optional <AltusCredential > generateDatabusMachineUserWithAccessKey (MachineUserRequest machineUserRequest , boolean useSharedCredential ) {
60
61
return Optional .ofNullable (sharedAltusCredentialProvider .getSharedCredentialIfConfigured (useSharedCredential )
61
62
.orElse (umsClient .createMachineUserAndGenerateKeys (
62
- machineUserName ,
63
- actorCrn ,
64
- accountId ,
65
- roleCrnGenerator .getBuiltInDatabusRoleCrn (accountId ),
63
+ machineUserRequest . getName () ,
64
+ machineUserRequest . getActorCrn () ,
65
+ machineUserRequest . getAccountId () ,
66
+ roleCrnGenerator .getBuiltInDatabusRoleCrn (machineUserRequest . getAccountId () ),
66
67
Collections .emptyMap (),
67
- UserManagementProto . AccessKeyType . Value . ED25519 ,
68
+ mapToAccessKeyType ( machineUserRequest . getCdpAccessKeyType ()) ,
68
69
regionAwareInternalCrnGeneratorFactory )));
69
70
}
70
71
71
72
/**
72
73
* Generate monitoring machine user with access keys
73
74
*/
74
- public Optional <AltusCredential > generateMonitoringMachineUserWithAccessKey (String machineUserName , String actorCrn , String accountId ,
75
- boolean useSharedCredential ) {
75
+ public Optional <AltusCredential > generateMonitoringMachineUserWithAccessKey (MachineUserRequest machineUserRequest , boolean useSharedCredential ) {
76
76
return Optional .ofNullable (sharedAltusCredentialProvider .getSharedCredentialIfConfigured (useSharedCredential )
77
77
.orElse (umsClient .createMachineUserAndGenerateKeys (
78
- machineUserName ,
79
- actorCrn ,
80
- accountId ,
81
- roleCrnGenerator .getBuiltInDatabusRoleCrn (accountId ),
78
+ machineUserRequest . getName () ,
79
+ machineUserRequest . getActorCrn () ,
80
+ machineUserRequest . getAccountId () ,
81
+ roleCrnGenerator .getBuiltInDatabusRoleCrn (machineUserRequest . getAccountId () ),
82
82
Collections .emptyMap (),
83
- UserManagementProto . AccessKeyType . Value . ED25519 ,
83
+ mapToAccessKeyType ( machineUserRequest . getCdpAccessKeyType ()) ,
84
84
regionAwareInternalCrnGeneratorFactory )));
85
85
}
86
86
@@ -141,4 +141,17 @@ public void clearMachineUser(String machineUserName, String actorCrn, String acc
141
141
public List <UserManagementProto .MachineUser > getAllMachineUsersForAccount (String accountId ) {
142
142
return umsClient .listAllMachineUsers (accountId , true , true , regionAwareInternalCrnGeneratorFactory );
143
143
}
144
+
145
+ private UserManagementProto .AccessKeyType .Value mapToAccessKeyType (CdpAccessKeyType cdpAccessKeyType ) {
146
+ switch (cdpAccessKeyType ) {
147
+ case ED25519 :
148
+ return UserManagementProto .AccessKeyType .Value .ED25519 ;
149
+ case RSA :
150
+ return UserManagementProto .AccessKeyType .Value .RSA ;
151
+ case ECDSA :
152
+ return UserManagementProto .AccessKeyType .Value .ECDSA ;
153
+ default :
154
+ return UserManagementProto .AccessKeyType .Value .ED25519 ;
155
+ }
156
+ }
144
157
}
0 commit comments