export interface StagingConfig {
  accountId: string;
  region: string;
  serviceName: string;
}

export interface StagingResources {
  clusterName: string;
  blueTargetGroupArn: string;
  greenTargetGroupArn: string;
  httpListenerArn: string;
  vpcId: string;
  vpcAvailabilityZones: string[];
  securityGroupId: string;
  codeDeployApplicationName: string;
  codeDeployDeploymentGroupName: string;
}

export interface ProductionConfig {
  accountId: string;
  region: string;
  serviceName: string;
}

export interface ProductionResources {
  clusterName: string;
  blueTargetGroupArn: string;
  greenTargetGroupArn: string;
  httpListenerArn: string;
  vpcId: string;
  vpcAvailabilityZones: string[];
  securityGroupId: string;
  codeDeployApplicationName: string;
  codeDeployDeploymentGroupName: string;
}

export const stagingConfig: StagingConfig = {
  accountId: '590183763515', // suno staging account
  region: 'us-east-2',
  serviceName: 'StudioApiFargateService',
};

export const productionConfig: ProductionConfig = {
  accountId: '734185074900', // suno production account - update with actual prod account ID
  region: 'us-east-2',
  serviceName: 'StudioApiFargateService',
};

// code pipeline is in dev account, but the resources are in staging account, so we need to manually update these values after staging stack is deployed
export const stagingResources: StagingResources = {
  clusterName: 'BackendInfraStack-StudioApiCluster34FACBC9-dsKBq2RMixN7', 
  blueTargetGroupArn: 'arn:aws:elasticloadbalancing:us-east-2:590183763515:targetgroup/Backen-BlueT-AY57NSKQ59FN/23e20b7d9f366bd3', 
  greenTargetGroupArn: 'arn:aws:elasticloadbalancing:us-east-2:590183763515:targetgroup/Backen-Green-DRQPBW2BB9TU/ad15a20ad3787534', 
  httpListenerArn: 'arn:aws:elasticloadbalancing:us-east-2:590183763515:listener/app/Backen-LoadB-VZanMpXZyktI/04e948bc0f27008a/543293f02e3736bb', 
  vpcId: 'vpc-0067bffd53cab7197', 
  vpcAvailabilityZones: ['us-east-2a', 'us-east-2b', 'us-east-2c'], 
  securityGroupId: 'sg-0cff5f211ae510839', 
  codeDeployApplicationName: 'BackendInfraStack-StudioApiFargateServiceStudioApiCodeDeployApp19AA9DBD-PSOM4kDCnsWS', 
  codeDeployDeploymentGroupName: 'BackendInfraStack-StudioApiFargateServiceMyCodeDeployDeploymentGroupA9AE57E6-1GTQHAK78AYOC', 
}; 

// code pipeline is in dev account, but the resources are in production account, so we need to manually update these values after production stack is deployed
export const productionResources: ProductionResources = {
  clusterName: 'BackendInfraStack-StudioApiCluster34FACBC9-CTvol2KS9huM', 
  blueTargetGroupArn: 'arn:aws:elasticloadbalancing:us-east-2:734185074900:targetgroup/Backen-BlueT-HH4QDUL8QNN7/036a95e22ee3c54d', 
  greenTargetGroupArn: 'arn:aws:elasticloadbalancing:us-east-2:734185074900:targetgroup/Backen-Green-FKFEVK2N1KAR/f45a945e71670297',
  httpListenerArn: 'arn:aws:elasticloadbalancing:us-east-2:734185074900:listener/app/Backen-LoadB-eTXMYTpUMhYN/12e012a56f728866/8d4b7d94a2c9ff45',
  vpcId: 'vpc-071f804e8d60a0999', 
  vpcAvailabilityZones: ['us-east-2a', 'us-east-2b', 'us-east-2c'], 
  securityGroupId: 'sg-0799ea2bfb4c50cef', 
  codeDeployApplicationName: 'BackendInfraStack-StudioApiFargateServiceStudioApiCodeDeployApp19AA9DBD-6l2P4HJ01yXh', 
  codeDeployDeploymentGroupName: 'BackendInfraStack-StudioApiFargateServiceMyCodeDeployDeploymentGroupA9AE57E6-ABJ23XWJCEMJ', 
}; 