package awscdkapprunneralpha


// Properties of the App Runner Auto Scaling Configuration.
//
// Example:
//   autoScalingConfiguration := apprunner.NewAutoScalingConfiguration(this, jsii.String("AutoScalingConfiguration"), &AutoScalingConfigurationProps{
//   	AutoScalingConfigurationName: jsii.String("MyAutoScalingConfiguration"),
//   	MaxConcurrency: jsii.Number(150),
//   	MaxSize: jsii.Number(20),
//   	MinSize: jsii.Number(5),
//   })
//
//   apprunner.NewService(this, jsii.String("DemoService"), &ServiceProps{
//   	Source: apprunner.Source_FromEcrPublic(&EcrPublicProps{
//   		ImageConfiguration: &ImageConfiguration{
//   			Port: jsii.Number(8000),
//   		},
//   		ImageIdentifier: jsii.String("public.ecr.aws/aws-containers/hello-app-runner:latest"),
//   	}),
//   	AutoScalingConfiguration: AutoScalingConfiguration,
//   })
//
// Experimental.
type AutoScalingConfigurationProps struct {
	// The name for the Auto Scaling Configuration.
	// Default: - a name generated by CloudFormation.
	//
	// Experimental.
	AutoScalingConfigurationName *string `field:"optional" json:"autoScalingConfigurationName" yaml:"autoScalingConfigurationName"`
	// The maximum number of concurrent requests that an instance processes.
	//
	// If the number of concurrent requests exceeds this limit, App Runner scales the service up.
	//
	// Must be between 1 and 200.
	// Default: 100.
	//
	// Experimental.
	MaxConcurrency *float64 `field:"optional" json:"maxConcurrency" yaml:"maxConcurrency"`
	// The maximum number of instances that a service scales up to.
	//
	// At most maxSize instances actively serve traffic for your service.
	//
	// Must be between 1 and 25.
	// Default: 25.
	//
	// Experimental.
	MaxSize *float64 `field:"optional" json:"maxSize" yaml:"maxSize"`
	// The minimum number of instances that App Runner provisions for a service.
	//
	// The service always has at least minSize provisioned instances.
	//
	//
	// Must be between 1 and 25.
	// Default: 1.
	//
	// Experimental.
	MinSize *float64 `field:"optional" json:"minSize" yaml:"minSize"`
}

