in configTools/src/main/scala/com/gu/janus/model/models.scala [30:75]
def create(
rota: Map[Instant, (String, String)],
supportAccess: Set[Permission],
supportPeriod: Duration
): SupportACL = new SupportACL(
rota,
supportAccess,
supportPeriod
)
}
case class AwsAccount(
/** The display name for the AWS account - will appear on the Janus UI
*/
name: String,
/** This value is used for three purposes:
*
* - the configuration key used to look up the role to assume, to
* authenticate into this account
* - forms part of the permission key used to uniquely identify a
* permission (you'll see this in the URL of Janus console and
* credentials requests)
*
* and most obviously to end users...
*
* - the profile name for created Janus CLI sessions in that account
* (assuming you use the standard mechanism of populating an AWS
* profile with the provided name)
*/
authConfigKey: String
)
case class AwsAccountAccess(
awsAccount: AwsAccount,
permissions: List[Permission],
isFavourite: Boolean
)
case class Permission(
account: AwsAccount,
label: String,
description: String,
policy: Option[String],
managedPolicyArns: Option[List[String]],
shortTerm: Boolean
) {