new
This commit is contained in:
parent
344e9eeb0e
commit
6120b71aca
6 changed files with 565 additions and 18 deletions
21
profiles/README.md
Normal file
21
profiles/README.md
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# Profiles
|
||||
|
||||
Profiles define how the ABC Pattern maps onto specific IaC tools. Each profile
|
||||
introduces additional rules, conventions, and examples tailored to the target
|
||||
system.
|
||||
|
||||
Profiles use identifiers of the form:
|
||||
|
||||
```default
|
||||
ABC-PROFILE-<PROFILE>-R#
|
||||
```
|
||||
|
||||
Current profiles include:
|
||||
|
||||
* imperative, object‑oriented implementations
|
||||
* declarative module‑based implementation
|
||||
|
||||
Profiles demonstrate that ABC is not tied to any particular paradigm.
|
||||
|
||||
* [CDK TypeScript Profile](cdk-ts.md)
|
||||
* [Terraform Profile](tf.md)
|
||||
|
|
@ -112,7 +112,7 @@ Application Stack.
|
|||
|
||||
### Core Types
|
||||
|
||||
```javascript
|
||||
```typescript
|
||||
export interface InputContract {}
|
||||
export interface OutputContract {}
|
||||
|
||||
|
|
@ -123,7 +123,7 @@ export interface HasOutputs<TOutputs extends OutputContract> {
|
|||
|
||||
### Application Stack Base
|
||||
|
||||
```javascript
|
||||
```typescript
|
||||
import { Stack, StackProps } from 'aws-cdk-lib';
|
||||
import { Construct } from 'constructs';
|
||||
import { OutputContract } from './core-types';
|
||||
|
|
@ -141,7 +141,7 @@ export abstract class ABCApplicationStack<
|
|||
|
||||
### Logical Unit Base
|
||||
|
||||
```javascript
|
||||
```typescript
|
||||
import { Construct } from 'constructs';
|
||||
import { InputContract, OutputContract, HasOutputs } from './core-types';
|
||||
|
||||
|
|
@ -161,7 +161,7 @@ export abstract class ABCLogicalUnit<
|
|||
|
||||
### Resource Group Base
|
||||
|
||||
```javascript
|
||||
```typescript
|
||||
import { Construct } from 'constructs';
|
||||
import { InputContract, OutputContract, HasOutputs } from './core-types';
|
||||
|
||||
|
|
@ -191,7 +191,7 @@ src/data/storage/index.ts
|
|||
src/data/database/index.ts
|
||||
```
|
||||
|
||||
```javascript
|
||||
```typescript
|
||||
import { Construct } from 'constructs';
|
||||
import { ABCLogicalUnit } from '../abc/logical-unit';
|
||||
import { StorageGroup } from './storage';
|
||||
|
|
@ -316,7 +316,7 @@ WebApp Resource Group and CDN Resource Group follow the same pattern.
|
|||
|
||||
## Application Stack
|
||||
|
||||
```javascript
|
||||
```typescript
|
||||
import { Construct } from 'constructs';
|
||||
import { ABCApplicationStack } from './abc/application-stack';
|
||||
import { DataUnit } from './data';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue