in aws/iam.go [286:305]
func CreateDeviceFleetRoleIfNotExists(client IamClient, fleetName *string, roleName *string, fleetPolicy *types.Policy, bucketPolicy *types.Policy) *types.Role {
role := GetDeviceFleetRole(client, fleetName, roleName)
if role == nil {
role = CreateDeviceFleetRole(client, fleetName, roleName)
}
attachedFleetPolicy := CheckIfPolicyIsAlreadyAttachedToTheRole(client, role.RoleName, fleetPolicy.PolicyName)
if attachedFleetPolicy == nil {
log.Println("Attaching device fleet policy")
AttachAmazonSageMakerEdgeDeviceFleetPolicy(client, role, fleetPolicy.Arn)
}
attachedBucketPolicy := CheckIfPolicyIsAlreadyAttachedToTheRole(client, role.RoleName, bucketPolicy.PolicyName)
if attachedBucketPolicy == nil {
log.Println("Attaching device fleet bucket policy")
AttachAmazonSageMakerEdgeDeviceFleetPolicy(client, role, bucketPolicy.Arn)
}
return role
}