## MedplumInfraConfig interface [​](/content/docs/sdk/core.medpluminfraconfig#medpluminfraconfig-interface/index.html)

**Signature:**

```typescript
export interface MedplumInfraConfig
```

## Properties [​](/content/docs/sdk/core.medpluminfraconfig#properties/index.html)

| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [accountNumber](/content/docs/sdk/core.medpluminfraconfig.accountnumber) |  | string |  |
| [additionalContainers?](/content/docs/sdk/core.medpluminfraconfig.additionalcontainers) |  | { name: string; image: string; cpu?: number; memory?: number; essential?: boolean; command?: string"; []; environment?: { [key: string]: string; }; }[] | _(Optional)_ |
| [apiDomainName](/content/docs/sdk/core.medpluminfraconfig.apidomainname) |  | string |  |
| [apiInternetFacing?](/content/docs/sdk/core.medpluminfraconfig.apiinternetfacing) |  | boolean | _(Optional)_ |
| [apiPort](/content/docs/sdk/core.medpluminfraconfig.apiport) |  | number |  |
| [apiSslCertArn](/content/docs/sdk/core.medpluminfraconfig.apisslcertarn) |  | string |  |
| [apiWafIpSetArn?](/content/docs/sdk/core.medpluminfraconfig.apiwafipsetarn) |  | string | _(Optional)_ |
| [appApiProxy?](/content/docs/sdk/core.medpluminfraconfig.appapiproxy) |  | boolean | _(Optional)_ |
| [appDomainName](/content/docs/sdk/core.medpluminfraconfig.appdomainname) |  | string |  |
| [appLoggingBucket?](/content/docs/sdk/core.medpluminfraconfig.apploggingbucket) |  | string | _(Optional)_ |
| [appLoggingPrefix?](/content/docs/sdk/core.medpluminfraconfig.apploggingprefix) |  | string | _(Optional)_ |
| [appSslCertArn](/content/docs/sdk/core.medpluminfraconfig.appsslcertarn) |  | string |  |
| [appWafIpSetArn?](/content/docs/sdk/core.medpluminfraconfig.appwafipsetarn) |  | string | _(Optional)_ |
| [backgroundJobsRedis?](/content/docs/sdk/core.medpluminfraconfig.backgroundjobsredis) |  | { nodeType?: string; securityGroupId?: string; engine?: string; engineVersion?: string; } | _(Optional)_ |
| [baseUrl](/content/docs/sdk/core.medpluminfraconfig.baseurl) |  | string |  |
| [cacheEngine?](/content/docs/sdk/core.medpluminfraconfig.cacheengine) |  | string | _(Optional)_ |
| [cacheEngineVersion?](/content/docs/sdk/core.medpluminfraconfig.cacheengineversion) |  | string | _(Optional)_ |
| [cacheNodeType?](/content/docs/sdk/core.medpluminfraconfig.cachenodetype) |  | string | _(Optional)_ |
| [cacheRedis?](/content/docs/sdk/core.medpluminfraconfig.cacheredis) |  | { nodeType?: string; securityGroupId?: string; engine?: string; engineVersion?: string; } | _(Optional)_ |
| [cacheSecurityGroupId?](/content/docs/sdk/core.medpluminfraconfig.cachesecuritygroupid) |  | string | _(Optional)_ |
| [clamscanEnabled](/content/docs/sdk/core.medpluminfraconfig.clamscanenabled) |  | boolean |  |
| [clamscanLoggingBucket](/content/docs/sdk/core.medpluminfraconfig.clamscanloggingbucket) |  | string |  |
| [clamscanLoggingPrefix](/content/docs/sdk/core.medpluminfraconfig.clamscanloggingprefix) |  | string |  |
| [cloudTrailAlarms?](/content/docs/sdk/core.medpluminfraconfig.cloudtrailalarms) |  | { logGroupName: string; logGroupCreate?: boolean; snsTopicArn?: string; snsTopicName?: string; } | _(Optional)_ |
| [containerInsightsV2?](/content/docs/sdk/core.medpluminfraconfig.containerinsightsv2) |  | 'enabled' | 'disabled' | 'enhanced' | _(Optional)_ |
| [containerRegistryCredentialsSecretArn?](/content/docs/sdk/core.medpluminfraconfig.containerregistrycredentialssecretarn) |  | string | _(Optional)_ |
| [desiredServerCount](/content/docs/sdk/core.medpluminfraconfig.desiredservercount) |  | number |  |
| [domainName](/content/docs/sdk/core.medpluminfraconfig.domainname) |  | string |  |
| [environment?](/content/docs/sdk/core.medpluminfraconfig.environment) |  | [StringMap](/content/docs/sdk/core.stringmap) | _(Optional)_ |
| [fargateAutoScaling?](/content/docs/sdk/core.medpluminfraconfig.fargateautoscaling) |  | { minCapacity: number; maxCapacity: number; targetUtilizationPercent: number; scaleInCooldown: number; scaleOutCooldown: number; } | _(Optional)_ |
| [fireLens?](/content/docs/sdk/core.medpluminfraconfig.firelens) |  | { enabled: true; logDriverConfig?: { options?: { [key: string]: string; }; secretOptions?: { [key: string]: string; }; }; logRouterConfig: { type: 'fluentbit' | 'fluentd'; options?: Record<string, unknown>; }; environment?: { [key: string]: string; }; } | _(Optional)_ |
| [guardDutyMalwareProtectionEnabled?](/content/docs/sdk/core.medpluminfraconfig.guarddutymalwareprotectionenabled) |  | boolean | _(Optional)_ |
| [hostedZoneName?](/content/docs/sdk/core.medpluminfraconfig.hostedzonename) |  | string | _(Optional)_ |
| [loadBalancerAlgorithm?](/content/docs/sdk/core.medpluminfraconfig.loadbalanceralgorithm) |  | 'round_robin' | 'least_outstanding_requests' | 'weighted_random' | _(Optional)_ |
| [loadBalancerLoggingBucket?](/content/docs/sdk/core.medpluminfraconfig.loadbalancerloggingbucket) |  | string | _(Optional)_ |
| [loadBalancerLoggingPrefix?](/content/docs/sdk/core.medpluminfraconfig.loadbalancerloggingprefix) |  | string | _(Optional)_ |
| [loadBalancerSecurityGroupId?](/content/docs/sdk/core.medpluminfraconfig.loadbalancersecuritygroupid) |  | string | _(Optional)_ |
| [maxAzs](/content/docs/sdk/core.medpluminfraconfig.maxazs) |  | number |  |
| [mtlsDomainName?](/content/docs/sdk/core.medpluminfraconfig.mtlsdomainname) |  | string | _(Optional)_ |
| [mtlsInternetFacing?](/content/docs/sdk/core.medpluminfraconfig.mtlsinternetfacing) |  | boolean | _(Optional)_ |
| [mtlsSslCertArn?](/content/docs/sdk/core.medpluminfraconfig.mtlssslcertarn) |  | string | _(Optional)_ |
| [mtlsWafIpSetArn?](/content/docs/sdk/core.medpluminfraconfig.mtlswafipsetarn) |  | string | _(Optional)_ |
| [name](/content/docs/sdk/core.medpluminfraconfig.name) |  | string |  |
| [pubSubRedis?](/content/docs/sdk/core.medpluminfraconfig.pubsubredis) |  | { nodeType?: string; securityGroupId?: string; engine?: string; engineVersion?: string; } | _(Optional)_ |
| [rateLimitRedis?](/content/docs/sdk/core.medpluminfraconfig.ratelimitredis) |  | { nodeType?: string; securityGroupId?: string; engine?: string; engineVersion?: string; } | _(Optional)_ |
| [rdsAutoMinorVersionUpgrade?](/content/docs/sdk/core.medpluminfraconfig.rdsautominorversionupgrade) |  | boolean | _(Optional)_ |
| [rdsClusterParameters?](/content/docs/sdk/core.medpluminfraconfig.rdsclusterparameters) |  | [StringMap](/content/docs/sdk/core.stringmap) | _(Optional)_ |
| [rdsForceRetain?](/content/docs/sdk/core.medpluminfraconfig.rdsforceretain) |  | boolean | _(Optional)_ |
| [rdsIdsMajorVersionSuffix?](/content/docs/sdk/core.medpluminfraconfig.rdsidsmajorversionsuffix) |  | boolean | _(Optional)_ |
| [rdsInstances](/content/docs/sdk/core.medpluminfraconfig.rdsinstances) |  | number |  |
| [rdsInstanceType](/content/docs/sdk/core.medpluminfraconfig.rdsinstancetype) |  | string |  |
| [rdsInstanceVersion?](/content/docs/sdk/core.medpluminfraconfig.rdsinstanceversion) |  | string | _(Optional)_ |
| [rdsPersistentParameterGroups?](/content/docs/sdk/core.medpluminfraconfig.rdspersistentparametergroups) |  | boolean | _(Optional)_ |
| [rdsProxyEnabled?](/content/docs/sdk/core.medpluminfraconfig.rdsproxyenabled) |  | boolean | _(Optional)_ |
| [rdsReaderInstanceType?](/content/docs/sdk/core.medpluminfraconfig.rdsreaderinstancetype) |  | string | _(Optional)_ |
| [rdsSecretsArn?](/content/docs/sdk/core.medpluminfraconfig.rdssecretsarn) |  | string | _(Optional)_ |
| [region](/content/docs/sdk/core.medpluminfraconfig.region) |  | string |  |
| [serverCpu](/content/docs/sdk/core.medpluminfraconfig.servercpu) |  | number |  |
| [serverImage](/content/docs/sdk/core.medpluminfraconfig.serverimage) |  | string |  |
| [serverMemory](/content/docs/sdk/core.medpluminfraconfig.servermemory) |  | number |  |
| [signingKeyId](/content/docs/sdk/core.medpluminfraconfig.signingkeyid) |  | string |  |
| [skipDns?](/content/docs/sdk/core.medpluminfraconfig.skipdns) |  | boolean | _(Optional)_ |
| [stackName](/content/docs/sdk/core.medpluminfraconfig.stackname) |  | string |  |
| [storageBucketName](/content/docs/sdk/core.medpluminfraconfig.storagebucketname) |  | string |  |
| [storageDomainName](/content/docs/sdk/core.medpluminfraconfig.storagedomainname) |  | string |  |
| [storageLoggingBucket?](/content/docs/sdk/core.medpluminfraconfig.storageloggingbucket) |  | string | _(Optional)_ |
| [storageLoggingPrefix?](/content/docs/sdk/core.medpluminfraconfig.storageloggingprefix) |  | string | _(Optional)_ |
| [storagePublicKey](/content/docs/sdk/core.medpluminfraconfig.storagepublickey) |  | string |  |
| [storageSslCertArn](/content/docs/sdk/core.medpluminfraconfig.storagesslcertarn) |  | string |  |
| [storageWafIpSetArn?](/content/docs/sdk/core.medpluminfraconfig.storagewafipsetarn) |  | string | _(Optional)_ |
| [vpcId](/content/docs/sdk/core.medpluminfraconfig.vpcid) |  | string |  |
| [wafLogGroupCreate?](/content/docs/sdk/core.medpluminfraconfig.wafloggroupcreate) |  | boolean | _(Optional)_ |
| [wafLogGroupName?](/content/docs/sdk/core.medpluminfraconfig.wafloggroupname) |  | string | _(Optional)_ |
| [workers?](/content/docs/sdk/core.medpluminfraconfig.workers) |  | { enabled?: string[]; bullmq?: Record<string, unknown>; } | _(Optional)_ |
| [workerServices?](/content/docs/sdk/core.medpluminfraconfig.workerservices) |  | { id: string; serverImage?: string; serverMemory?: number; serverCpu?: number; desiredCount: number; environment?: [StringMap](/content/docs/sdk/core.stringmap); workers?: { enabled?: string[]; bullmq?: Record<string, unknown>; }; fargateAutoScaling?: { minCapacity: number; maxCapacity: number; targetUtilizationPercent: number; scaleInCooldown: number; scaleOutCooldown: number; }; additionalContainers?: { name: string; image: string; cpu?: number; memory?: number; essential?: boolean; command?: string[]; environment?: { [key: string]: string; }; }[]; }[] | _(Optional)_ |
