// Fixture with packages imported, but nothing else
import { Construct, Node } from 'constructs';
import { Aspects, CfnOutput, Stack, Duration, Resource, SecretValue } from '@aws-cdk/core';
import * as ec2 from '@aws-cdk/aws-ec2';
import * as appscaling from '@aws-cdk/aws-applicationautoscaling';
import * as cloudwatch from '@aws-cdk/aws-cloudwatch';
import * as iam from '@aws-cdk/aws-iam';


interface UtilizationScalingProps {
  readonly targetUtilizationPercent: number;
}

class ScalableAttribute {
  public scaleOnSchedule(id: string, action: appscaling.ScalingSchedule) {
    Array.isArray(id);
    Array.isArray(action);
  }
  public scaleOnUtilization(props: UtilizationScalingProps) {
    Array.isArray(props);
  }
  public scaleOnMetric(id: string, props: appscaling.BasicStepScalingPolicyProps) {
    Array.isArray(id);
    Array.isArray(props);
  }
}

interface Caps {
  readonly minCapacity: number;
  readonly maxCapacity: number;
}

class SomeScalableResource {
  public autoScaleCapacity(caps: Caps) {
    return new ScalableAttribute();
  }
}

class Fixture extends Stack {
  constructor(scope: Construct, id: string) {
    super(scope, id);

    /// here
  }
}