Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Local AWS cloud emulator. Part of the faisca project family.
## Product Context

- FakeCloud is a local AWS emulator focused on high-fidelity behavior and AWS-compatible responses.
- Current project state: 105 AWS services, 7,505 operations, 248,557/248,557 Smithy conformance variants pass — true 100% across every implemented service, no flake margin. See [the parity matrix](website/content/docs/parity.md) for the full service-by-service breakdown of control-plane vs data-plane coverage and known limitations.
- Current project state: 105 AWS services, 7,506 operations, 248,557/248,557 Smithy conformance variants pass — true 100% across every implemented service, no flake margin. See [the parity matrix](website/content/docs/parity.md) for the full service-by-service breakdown of control-plane vs data-plane coverage and known limitations.
- The broader roadmap prioritizes services that LocalStack keeps behind paid tiers, especially ECS, ELB/ALB, CloudFront, CloudWatch Metrics, and EC2.
- Introspection SDKs (Rust, Python, TypeScript, Go, PHP, Java) are already built and maintained for the `/_fakecloud/*` endpoints.

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Works as a drop-in for LocalStack in CI, with Terraform (`endpoints` block), CDK

## Supported services

105 services, 7,505 operations, and true 100% conformance across every implemented service.
105 services, 7,506 operations, and true 100% conformance across every implemented service.

Highlights: S3, DynamoDB, SQS, SNS, EventBridge, Lambda, IAM, STS, KMS, Secrets Manager, CloudFormation, SES, Cognito, Kinesis, RDS (6 real engines), ElastiCache, ECS/ECR, EC2, Step Functions, API Gateway v1/v2, Bedrock, and 80+ more.

Expand Down
113 changes: 73 additions & 40 deletions aws-models/cloudtrail.json

Large diffs are not rendered by default.

93 changes: 92 additions & 1 deletion aws-models/ec2.json
Original file line number Diff line number Diff line change
Expand Up @@ -11842,6 +11842,17 @@
"com.amazonaws.ec2#Boolean": {
"type": "boolean"
},
"com.amazonaws.ec2#BootModeOverrideValues": {
"type": "enum",
"members": {
"uefi": {
"target": "smithy.api#Unit",
"traits": {
"smithy.api#enumValue": "uefi"
}
}
}
},
"com.amazonaws.ec2#BootModeType": {
"type": "enum",
"members": {
Expand Down Expand Up @@ -18636,6 +18647,18 @@
"smithy.api#documentation": "<p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the \n request. For more information, see <a href=\"https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html\">\n Ensure Idempotency</a>.</p>",
"smithy.api#idempotencyToken": {}
}
},
"Encrypted": {
"target": "com.amazonaws.ec2#Boolean",
"traits": {
"smithy.api#documentation": "<p>Indicates whether to encrypt the volume copy. If the source volume is encrypted, the \n service always encrypts the copy regardless of this value. Set to <code>true</code> to \n encrypt a copy of an unencrypted source volume during the copy operation. If you set \n <code>Encrypted</code> to <code>true</code> but do not specify <code>KmsKeyId</code>, the \n service uses the default KMS key for EBS encryption in your account.</p>"
}
},
"KmsKeyId": {
"target": "com.amazonaws.ec2#KmsKeyId",
"traits": {
"smithy.api#documentation": "<p>The identifier of the KMS key to use for encryption of the volume copy. Specify a \n symmetric encryption KMS key. You can specify a KMS key using the key ID, key ARN, alias \n name, or alias ARN. If you set <code>Encrypted</code> to <code>true</code> but do not \n specify this parameter, the service uses the default KMS key for EBS encryption in your \n account. For cross-account volume copies, this must be a KMS key in the calling \n account.</p>"
}
}
},
"traits": {
Expand Down Expand Up @@ -21014,6 +21037,12 @@
"smithy.api#documentation": "<note>\n <p>Only supported for instances in Local Zones and for instances on Outposts that support\n local snapshots. If the source instance is not in one of these locations, omit this\n parameter.</p>\n </note>\n <p>The Amazon S3 location where the snapshots will be stored.</p>\n <ul>\n <li>\n <p>To create local snapshots in the same Local Zone or on the same Outpost as the source\n instance, specify <code>local</code>.</p>\n </li>\n <li>\n <p>To create regional snapshots in the parent Region of the Local Zone or Outpost, specify\n <code>regional</code>.</p>\n </li>\n </ul>\n <p>If the source instance is in a Local Zone and you omit this parameter, regional snapshots\n are created in the parent Region of the Local Zone.</p>\n <p>If the source instance is on an Outpost that supports local snapshots, this parameter is\n required. If you omit it, the request fails with an\n <code>InvalidParameterValue</code> error.</p>\n <p>Default: <code>regional</code> (for instances in Local Zones only)</p>"
}
},
"BootModeOverride": {
"target": "com.amazonaws.ec2#BootModeOverrideValues",
"traits": {
"smithy.api#documentation": "<p>The boot mode of the new image, which overrides the default boot mode. By default, \n if you do not specify this parameter, the new image inherits \n the <code>boot-mode</code> from the source instance.</p>\n <p>A value of <code>uefi</code> indicates that the image only supports UEFI boot mode. You can\n specify this parameter only if the <code>current-instance-boot-mode</code> of the source instance is\n <code>uefi</code>. To find the <code>boot-mode</code> or <code>current-instance-boot-mode</code> of \n an instance, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html\">DescribeInstances</a>.</p>\n <note>\n <p>The operating system contained in the AMI must be configured to support the specified\n boot mode.</p>\n </note>\n <p>For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html\">Instance launch behavior with Amazon EC2 boot modes</a> in\n the <i>Amazon EC2 User Guide</i>.</p>"
}
},
"DryRun": {
"target": "com.amazonaws.ec2#Boolean",
"traits": {
Expand Down Expand Up @@ -42548,7 +42577,7 @@
"target": "com.amazonaws.ec2#DescribeInstanceCreditSpecificationsResult"
},
"traits": {
"smithy.api#documentation": "<p>Describes the credit option for CPU usage of the specified burstable performance\n instances. The credit options are <code>standard</code> and\n <code>unlimited</code>.</p>\n <p>If you do not specify an instance ID, Amazon EC2 returns burstable performance\n instances with the <code>unlimited</code> credit option, as well as instances that were\n previously configured as T2, T3, and T3a with the <code>unlimited</code> credit option.\n For example, if you resize a T2 instance, while it is configured as\n <code>unlimited</code>, to an M4 instance, Amazon EC2 returns the M4\n instance.</p>\n <p>If you specify one or more instance IDs, Amazon EC2 returns the credit option\n (<code>standard</code> or <code>unlimited</code>) of those instances. If you specify\n an instance ID that is not valid, such as an instance that is not a burstable\n performance instance, an error is returned.</p>\n <p>Recently terminated instances might appear in the returned results. This interval is\n usually less than one hour.</p>\n <p>If an Availability Zone is experiencing a service disruption and you specify instance\n IDs in the affected zone, or do not specify any instance IDs at all, the call fails. If\n you specify only instance IDs in an unaffected zone, the call works normally.</p>\n <p>For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html\">Burstable\n performance instances</a> in the <i>Amazon EC2 User Guide</i>.</p>",
"smithy.api#documentation": "<p>Describes the credit option for CPU usage of the specified burstable performance\n instances. The credit options are <code>standard</code> and\n <code>unlimited</code>.</p>\n <p>If you do not specify an instance ID, Amazon EC2 returns burstable performance\n instances with the <code>unlimited</code> credit option, as well as instances that were\n previously configured as T2, T3, and T3a with the <code>unlimited</code> credit option.\n For example, if you resize a T2 instance, while it is configured as\n <code>unlimited</code>, to an M4 instance, Amazon EC2 returns the M4\n instance.</p>\n <p>If you specify one or more instance IDs, Amazon EC2 returns the credit option\n (<code>standard</code> or <code>unlimited</code>) of those instances. If you specify\n an instance ID that is not a burstable performance instance, Amazon EC2 returns the\n <code>standard</code> credit option.</p>\n <p>Recently terminated instances might appear in the returned results. This interval is\n usually less than one hour.</p>\n <p>If an Availability Zone is experiencing a service disruption and you specify instance\n IDs in the affected zone, or do not specify any instance IDs at all, the call fails. If\n you specify only instance IDs in an unaffected zone, the call works normally.</p>\n <p>For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html\">Burstable\n performance instances</a> in the <i>Amazon EC2 User Guide</i>.</p>",
"smithy.api#paginated": {
"inputToken": "NextToken",
"outputToken": "NextToken",
Expand Down Expand Up @@ -110794,6 +110823,14 @@
"smithy.api#documentation": "<p>The maximum number of the ENA queues for each interface.</p>",
"smithy.api#xmlName": "maximumEnaQueueCountPerInterface"
}
},
"InterfaceTypes": {
"target": "com.amazonaws.ec2#NetworkCardInterfaceTypeList",
"traits": {
"aws.protocols#ec2QueryName": "InterfaceTypeSet",
"smithy.api#documentation": "<p>The supported interface types for the network card.</p>",
"smithy.api#xmlName": "interfaceTypeSet"
}
}
},
"traits": {
Expand All @@ -110809,6 +110846,44 @@
}
}
},
"com.amazonaws.ec2#NetworkCardInterfaceType": {
"type": "enum",
"members": {
"interface": {
"target": "smithy.api#Unit",
"traits": {
"smithy.api#enumValue": "interface"
}
},
"efa": {
"target": "smithy.api#Unit",
"traits": {
"smithy.api#enumValue": "efa"
}
},
"efa_only": {
"target": "smithy.api#Unit",
"traits": {
"smithy.api#enumValue": "efa-only"
}
},
"secondary": {
"target": "smithy.api#Unit",
"traits": {
"smithy.api#enumValue": "secondary"
}
}
}
},
"com.amazonaws.ec2#NetworkCardInterfaceTypeList": {
"type": "list",
"member": {
"target": "com.amazonaws.ec2#NetworkCardInterfaceType",
"traits": {
"smithy.api#xmlName": "item"
}
}
},
"com.amazonaws.ec2#NetworkInfo": {
"type": "structure",
"members": {
Expand Down Expand Up @@ -141735,6 +141810,22 @@
"smithy.api#xmlName": "volumeInitializationRate"
}
},
"VolumeArn": {
"target": "com.amazonaws.ec2#String",
"traits": {
"aws.protocols#ec2QueryName": "VolumeArn",
"smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the volume.</p>",
"smithy.api#xmlName": "volumeArn"
}
},
"OwnerId": {
"target": "com.amazonaws.ec2#String",
"traits": {
"aws.protocols#ec2QueryName": "OwnerId",
"smithy.api#documentation": "<p>The ID of the Amazon Web Services account that owns the volume.</p>",
"smithy.api#xmlName": "ownerId"
}
},
"VolumeId": {
"target": "com.amazonaws.ec2#String",
"traits": {
Expand Down
Loading
Loading