
clean:
	npm run clean

build: clean
	npm run build
	npx cdk synth

update_dependencies:
	npx npm-check-updates -u

#
# Service Infra stack targets
#

# Production

synth_production_service_infra_stack:
	npx cdk synth ProductionServiceInfraStack

diff_production_service_infra_stack:
	npx cdk diff ProductionServiceInfraStack

deploy_production_service_infra_stack:
	npx cdk deploy ProductionServiceInfraStack

# Staging

synth_staging_service_infra_stack:
	npx cdk synth StagingServiceInfraStack

diff_staging_service_infra_stack:
	npx cdk diff StagingServiceInfraStack

deploy_staging_service_infra_stack:
	npx cdk deploy StagingServiceInfraStack

#
# VPC Infra stack targets
#

# Production

synth_production_vpc_infra_stack:
	npx cdk synth ProductionVPCInfraStack

diff_production_vpc_infra_stack:
	npx cdk diff ProductionVPCInfraStack

deploy_production_vpc_infra_stack:
	npx cdk deploy ProductionVPCInfraStack

# Staging

synth_staging_vpc_infra_stack:
	npx cdk synth StagingVPCInfraStack

diff_staging_vpc_infra_stack:
	npx cdk diff StagingVPCInfraStack

deploy_staging_vpc_infra_stack:
	npx cdk deploy StagingVPCInfraStack

#
# Metrics stack targets
#

# Production

synth_production_metrics_stack:
	npx cdk synth ProductionMetricsStack

diff_production_metrics_stack:
	npx cdk diff ProductionMetricsStack

deploy_production_metrics_stack:
	npx cdk deploy ProductionMetricsStack

# Staging

synth_staging_metrics_stack:
	npx cdk synth StagingMetricsStack

diff_staging_metrics_stack:
	npx cdk diff StagingMetricsStack

deploy_staging_metrics_stack:
	npx cdk deploy StagingMetricsStack

#
# Raids Redis stack targets
#

# Production

synth_production_raids_redis_stack:
	npx cdk synth ProductionRaidsRedisStack

diff_production_raids_redis_stack:
	npx cdk diff ProductionRaidsRedisStack

deploy_production_raids_redis_stack:
	npx cdk deploy ProductionRaidsRedisStack

# Staging

synth_staging_raids_redis_stack:
	npx cdk synth StagingRaidsRedisStack

diff_staging_raids_redis_stack:
	npx cdk diff StagingRaidsRedisStack

deploy_staging_raids_redis_stack:
	npx cdk deploy StagingRaidsRedisStack

#
# Memcached stack targets
#

# Production

synth_production_memcached_stack:
	npx cdk synth ProductionMemcachedStack

diff_production_memcached_stack:
	npx cdk diff ProductionMemcachedStack

deploy_production_memcached_stack:
	npx cdk deploy ProductionMemcachedStack

# Staging

synth_staging_memcached_stack:
	npx cdk synth StagingMemcachedStack

diff_staging_memcached_stack:
	npx cdk diff StagingMemcachedStack

deploy_staging_memcached_stack:
	npx cdk deploy StagingMemcachedStack