e054a95fd5
---ci--- project: acdl phase: 9 milestone: v1.1 status: plan-as-execute persona: platform-engineer task: [T-9.1, T-9.2, T-9.3, T-9.4] requirements.covered: [REQ-24] ---/ci--- Wave 1: the IR-typed L1 module l1-s3. - T-9.1: modules-ir/l1/l1-s3/interface.json - the L1 interface contract (typed inputs bucket_name/region, outputs bucket_arn/bucket_name, NFR versioning; type aws:s3:bucket). Per D-P09-2 this is a contract (typed declarations), NOT an IR-schema instance. - T-9.2: modules-ir/l1/l1-s3/spike_instance.json - a concrete stack instance with values (bucket_name=acdl-spike-bucket, region=us-east-1) that validates against schemas/ir.schema.json (verified). - T-9.3: modules-ir/registry.json - the L1 registry, one entry l1-s3@1.0.0 -> interface.json (D-P09-3, co-located with modules-ir/). - T-9.4: modules-ir/l1/l1-s3/README.md - the L1 doc + the IR->Terraform mapping table the adapter performs. Spike instance validates against ir.schema.json; interface + registry valid JSON.
36 lines
872 B
JSON
36 lines
872 B
JSON
{
|
|
"name": "l1-s3",
|
|
"version": "1.0.0",
|
|
"kind": "l1",
|
|
"type": "aws:s3:bucket",
|
|
"description": "S3 bucket primitive (substrate-agnostic IR type aws:s3:bucket; the Terraform adapter translates to aws_s3_bucket).",
|
|
"inputs": {
|
|
"bucket_name": {
|
|
"type": "string",
|
|
"description": "Globally-unique S3 bucket name.",
|
|
"required": true
|
|
},
|
|
"region": {
|
|
"type": "string",
|
|
"description": "AWS region the bucket is created in.",
|
|
"required": true
|
|
}
|
|
},
|
|
"outputs": {
|
|
"bucket_arn": {
|
|
"type": "arn",
|
|
"description": "The S3 bucket ARN."
|
|
},
|
|
"bucket_name": {
|
|
"type": "string",
|
|
"description": "The bucket name (echoes the input)."
|
|
}
|
|
},
|
|
"nfrs": {
|
|
"versioning": {
|
|
"type": "boolean",
|
|
"description": "Enable S3 versioning (default true).",
|
|
"default": true
|
|
}
|
|
}
|
|
} |