@intentius/chant-lexicon-aws 0.0.15 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/integrity.json +5 -6
- package/dist/manifest.json +1 -1
- package/dist/meta.json +277 -15
- package/dist/types/index.d.ts +259 -17
- package/package.json +4 -4
- package/src/codegen/docs.ts +3 -0
- package/src/generated/index.d.ts +259 -17
- package/src/generated/index.ts +22 -4
- package/src/generated/lexicon-aws.json +277 -15
- package/src/plugin.ts +27 -196
- /package/{dist → src}/skills/chant-eks.md +0 -0
|
@@ -7878,9 +7878,6 @@
|
|
|
7878
7878
|
"State": "State"
|
|
7879
7879
|
},
|
|
7880
7880
|
"propertyConstraints": {
|
|
7881
|
-
"KmsKeyIdentifier": {
|
|
7882
|
-
"pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$"
|
|
7883
|
-
},
|
|
7884
7881
|
"State": {
|
|
7885
7882
|
"enum": [
|
|
7886
7883
|
"BAKING",
|
|
@@ -12720,6 +12717,71 @@
|
|
|
12720
12717
|
"kind": "property",
|
|
12721
12718
|
"lexicon": "aws"
|
|
12722
12719
|
},
|
|
12720
|
+
"BedrockAgentCorePolicy": {
|
|
12721
|
+
"resourceType": "AWS::BedrockAgentCore::Policy",
|
|
12722
|
+
"kind": "resource",
|
|
12723
|
+
"lexicon": "aws",
|
|
12724
|
+
"attrs": {
|
|
12725
|
+
"PolicyId": "PolicyId",
|
|
12726
|
+
"PolicyArn": "PolicyArn",
|
|
12727
|
+
"CreatedAt": "CreatedAt",
|
|
12728
|
+
"UpdatedAt": "UpdatedAt",
|
|
12729
|
+
"Status": "Status",
|
|
12730
|
+
"StatusReasons": "StatusReasons"
|
|
12731
|
+
},
|
|
12732
|
+
"propertyConstraints": {
|
|
12733
|
+
"PolicyEngineId": {
|
|
12734
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_]*-[a-z0-9_]{10}$",
|
|
12735
|
+
"minLength": 12,
|
|
12736
|
+
"maxLength": 59
|
|
12737
|
+
},
|
|
12738
|
+
"Name": {
|
|
12739
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_]*$",
|
|
12740
|
+
"minLength": 1,
|
|
12741
|
+
"maxLength": 48
|
|
12742
|
+
},
|
|
12743
|
+
"Description": {
|
|
12744
|
+
"minLength": 1,
|
|
12745
|
+
"maxLength": 4096
|
|
12746
|
+
},
|
|
12747
|
+
"PolicyId": {
|
|
12748
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_]*-[a-z0-9_]{10}$",
|
|
12749
|
+
"minLength": 12,
|
|
12750
|
+
"maxLength": 59
|
|
12751
|
+
},
|
|
12752
|
+
"PolicyArn": {
|
|
12753
|
+
"pattern": "^arn:aws[-a-z]{0,7}:bedrock-agentcore:[a-z0-9-]{9,15}:[0-9]{12}:policy-engine/[a-zA-Z][a-zA-Z0-9-_]{0,47}-[a-zA-Z0-9_]{10}/policy/[a-zA-Z][a-zA-Z0-9-_]{0,47}-[a-zA-Z0-9_]{10}$",
|
|
12754
|
+
"minLength": 96,
|
|
12755
|
+
"maxLength": 203
|
|
12756
|
+
},
|
|
12757
|
+
"CreatedAt": {
|
|
12758
|
+
"format": "date-time"
|
|
12759
|
+
},
|
|
12760
|
+
"UpdatedAt": {
|
|
12761
|
+
"format": "date-time"
|
|
12762
|
+
}
|
|
12763
|
+
},
|
|
12764
|
+
"createOnly": [
|
|
12765
|
+
"PolicyEngineId",
|
|
12766
|
+
"Name"
|
|
12767
|
+
],
|
|
12768
|
+
"writeOnly": [
|
|
12769
|
+
"ValidationMode"
|
|
12770
|
+
],
|
|
12771
|
+
"primaryIdentifier": [
|
|
12772
|
+
"PolicyArn"
|
|
12773
|
+
]
|
|
12774
|
+
},
|
|
12775
|
+
"BedrockAgentCorePolicy_CedarPolicy": {
|
|
12776
|
+
"resourceType": "AWS::BedrockAgentCore::Policy.CedarPolicy",
|
|
12777
|
+
"kind": "property",
|
|
12778
|
+
"lexicon": "aws"
|
|
12779
|
+
},
|
|
12780
|
+
"BedrockAgentCorePolicy_PolicyDefinition": {
|
|
12781
|
+
"resourceType": "AWS::BedrockAgentCore::Policy.PolicyDefinition",
|
|
12782
|
+
"kind": "property",
|
|
12783
|
+
"lexicon": "aws"
|
|
12784
|
+
},
|
|
12723
12785
|
"BedrockAgentIntentConfiguration": {
|
|
12724
12786
|
"resourceType": "AWS::Lex::Bot.BedrockAgentIntentConfiguration",
|
|
12725
12787
|
"kind": "property",
|
|
@@ -17169,6 +17231,11 @@
|
|
|
17169
17231
|
"kind": "property",
|
|
17170
17232
|
"lexicon": "aws"
|
|
17171
17233
|
},
|
|
17234
|
+
"CedarPolicy": {
|
|
17235
|
+
"resourceType": "AWS::BedrockAgentCore::Policy.CedarPolicy",
|
|
17236
|
+
"kind": "property",
|
|
17237
|
+
"lexicon": "aws"
|
|
17238
|
+
},
|
|
17172
17239
|
"Cell": {
|
|
17173
17240
|
"resourceType": "AWS::Route53RecoveryReadiness::Cell",
|
|
17174
17241
|
"kind": "resource",
|
|
@@ -22024,9 +22091,6 @@
|
|
|
22024
22091
|
"Type": {
|
|
22025
22092
|
"pattern": "^[a-zA-Z\\.]+"
|
|
22026
22093
|
},
|
|
22027
|
-
"KmsKeyIdentifier": {
|
|
22028
|
-
"pattern": "^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:((eusc-)?[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1})?:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$"
|
|
22029
|
-
},
|
|
22030
22094
|
"Description": {
|
|
22031
22095
|
"minLength": 0,
|
|
22032
22096
|
"maxLength": 1024
|
|
@@ -24484,6 +24548,86 @@
|
|
|
24484
24548
|
"tagUpdatable": true
|
|
24485
24549
|
}
|
|
24486
24550
|
},
|
|
24551
|
+
"ContactFlowModuleAlias": {
|
|
24552
|
+
"resourceType": "AWS::Connect::ContactFlowModuleAlias",
|
|
24553
|
+
"kind": "resource",
|
|
24554
|
+
"lexicon": "aws",
|
|
24555
|
+
"attrs": {
|
|
24556
|
+
"ContactFlowModuleAliasARN": "ContactFlowModuleAliasARN",
|
|
24557
|
+
"AliasId": "AliasId"
|
|
24558
|
+
},
|
|
24559
|
+
"propertyConstraints": {
|
|
24560
|
+
"ContactFlowModuleAliasARN": {
|
|
24561
|
+
"pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]+:[0-9]{12}:instance/[-a-zA-Z0-9]+/flow-module/[-a-zA-Z0-9]+:[-a-zA-Z0-9]+$",
|
|
24562
|
+
"minLength": 1,
|
|
24563
|
+
"maxLength": 500
|
|
24564
|
+
},
|
|
24565
|
+
"AliasId": {
|
|
24566
|
+
"minLength": 1,
|
|
24567
|
+
"maxLength": 500
|
|
24568
|
+
},
|
|
24569
|
+
"ContactFlowModuleId": {
|
|
24570
|
+
"pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]+:[0-9]{12}:instance/[-a-zA-Z0-9]+/flow-module/[-a-zA-Z0-9]+$",
|
|
24571
|
+
"minLength": 1,
|
|
24572
|
+
"maxLength": 500
|
|
24573
|
+
},
|
|
24574
|
+
"ContactFlowModuleVersion": {
|
|
24575
|
+
"minimum": 1
|
|
24576
|
+
},
|
|
24577
|
+
"Name": {
|
|
24578
|
+
"pattern": "^([$0-9a-zA-Z][_-]?)+$",
|
|
24579
|
+
"minLength": 1,
|
|
24580
|
+
"maxLength": 127
|
|
24581
|
+
},
|
|
24582
|
+
"Description": {
|
|
24583
|
+
"minLength": 0,
|
|
24584
|
+
"maxLength": 500
|
|
24585
|
+
}
|
|
24586
|
+
},
|
|
24587
|
+
"createOnly": [
|
|
24588
|
+
"ContactFlowModuleId"
|
|
24589
|
+
],
|
|
24590
|
+
"primaryIdentifier": [
|
|
24591
|
+
"ContactFlowModuleAliasARN"
|
|
24592
|
+
]
|
|
24593
|
+
},
|
|
24594
|
+
"ContactFlowModuleVersion": {
|
|
24595
|
+
"resourceType": "AWS::Connect::ContactFlowModuleVersion",
|
|
24596
|
+
"kind": "resource",
|
|
24597
|
+
"lexicon": "aws",
|
|
24598
|
+
"attrs": {
|
|
24599
|
+
"ContactFlowModuleVersionARN": "ContactFlowModuleVersionARN",
|
|
24600
|
+
"Version": "Version",
|
|
24601
|
+
"FlowModuleContentSha256": "FlowModuleContentSha256"
|
|
24602
|
+
},
|
|
24603
|
+
"propertyConstraints": {
|
|
24604
|
+
"ContactFlowModuleVersionARN": {
|
|
24605
|
+
"pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]+:[0-9]{12}:instance/[-a-zA-Z0-9]+/flow-module/[-a-zA-Z0-9]+:[0-9]+$",
|
|
24606
|
+
"minLength": 1,
|
|
24607
|
+
"maxLength": 500
|
|
24608
|
+
},
|
|
24609
|
+
"ContactFlowModuleId": {
|
|
24610
|
+
"pattern": "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]+:[0-9]{12}:instance/[-a-zA-Z0-9]+/flow-module/[-a-zA-Z0-9]+$",
|
|
24611
|
+
"minLength": 1,
|
|
24612
|
+
"maxLength": 500
|
|
24613
|
+
},
|
|
24614
|
+
"Description": {
|
|
24615
|
+
"maxLength": 500
|
|
24616
|
+
},
|
|
24617
|
+
"FlowModuleContentSha256": {
|
|
24618
|
+
"pattern": "^[a-zA-Z0-9]{64}$",
|
|
24619
|
+
"minLength": 1,
|
|
24620
|
+
"maxLength": 64
|
|
24621
|
+
}
|
|
24622
|
+
},
|
|
24623
|
+
"createOnly": [
|
|
24624
|
+
"ContactFlowModuleId",
|
|
24625
|
+
"Description"
|
|
24626
|
+
],
|
|
24627
|
+
"primaryIdentifier": [
|
|
24628
|
+
"ContactFlowModuleVersionARN"
|
|
24629
|
+
]
|
|
24630
|
+
},
|
|
24487
24631
|
"ContactFlowModule_Tag": {
|
|
24488
24632
|
"resourceType": "AWS::Connect::ContactFlowModule.Tag",
|
|
24489
24633
|
"kind": "property",
|
|
@@ -62847,7 +62991,9 @@
|
|
|
62847
62991
|
"attrs": {
|
|
62848
62992
|
"LocationArn": "LocationArn",
|
|
62849
62993
|
"LocationUri": "LocationUri",
|
|
62850
|
-
"FsxFilesystemArn": "FsxFilesystemArn"
|
|
62994
|
+
"FsxFilesystemArn": "FsxFilesystemArn",
|
|
62995
|
+
"Protocol_SMB_ManagedSecretConfig": "Protocol.SMB.ManagedSecretConfig",
|
|
62996
|
+
"Protocol_SMB_CmkSecretConfig_SecretArn": "Protocol.SMB.CmkSecretConfig.SecretArn"
|
|
62851
62997
|
},
|
|
62852
62998
|
"propertyConstraints": {
|
|
62853
62999
|
"StorageVirtualMachineArn": {
|
|
@@ -62888,6 +63034,21 @@
|
|
|
62888
63034
|
"tagUpdatable": true
|
|
62889
63035
|
}
|
|
62890
63036
|
},
|
|
63037
|
+
"LocationFSxONTAP_CmkSecretConfig": {
|
|
63038
|
+
"resourceType": "AWS::DataSync::LocationFSxONTAP.CmkSecretConfig",
|
|
63039
|
+
"kind": "property",
|
|
63040
|
+
"lexicon": "aws"
|
|
63041
|
+
},
|
|
63042
|
+
"LocationFSxONTAP_CustomSecretConfig": {
|
|
63043
|
+
"resourceType": "AWS::DataSync::LocationFSxONTAP.CustomSecretConfig",
|
|
63044
|
+
"kind": "property",
|
|
63045
|
+
"lexicon": "aws"
|
|
63046
|
+
},
|
|
63047
|
+
"LocationFSxONTAP_ManagedSecretConfig": {
|
|
63048
|
+
"resourceType": "AWS::DataSync::LocationFSxONTAP.ManagedSecretConfig",
|
|
63049
|
+
"kind": "property",
|
|
63050
|
+
"lexicon": "aws"
|
|
63051
|
+
},
|
|
62891
63052
|
"LocationFSxONTAP_NFS": {
|
|
62892
63053
|
"resourceType": "AWS::DataSync::LocationFSxONTAP.NFS",
|
|
62893
63054
|
"kind": "property",
|
|
@@ -62987,7 +63148,9 @@
|
|
|
62987
63148
|
"lexicon": "aws",
|
|
62988
63149
|
"attrs": {
|
|
62989
63150
|
"LocationArn": "LocationArn",
|
|
62990
|
-
"LocationUri": "LocationUri"
|
|
63151
|
+
"LocationUri": "LocationUri",
|
|
63152
|
+
"ManagedSecretConfig": "ManagedSecretConfig",
|
|
63153
|
+
"CmkSecretConfig_SecretArn": "CmkSecretConfig.SecretArn"
|
|
62991
63154
|
},
|
|
62992
63155
|
"propertyConstraints": {
|
|
62993
63156
|
"Domain": {
|
|
@@ -63037,6 +63200,21 @@
|
|
|
63037
63200
|
"tagUpdatable": true
|
|
63038
63201
|
}
|
|
63039
63202
|
},
|
|
63203
|
+
"LocationFSxWindows_CmkSecretConfig": {
|
|
63204
|
+
"resourceType": "AWS::DataSync::LocationFSxWindows.CmkSecretConfig",
|
|
63205
|
+
"kind": "property",
|
|
63206
|
+
"lexicon": "aws"
|
|
63207
|
+
},
|
|
63208
|
+
"LocationFSxWindows_CustomSecretConfig": {
|
|
63209
|
+
"resourceType": "AWS::DataSync::LocationFSxWindows.CustomSecretConfig",
|
|
63210
|
+
"kind": "property",
|
|
63211
|
+
"lexicon": "aws"
|
|
63212
|
+
},
|
|
63213
|
+
"LocationFSxWindows_ManagedSecretConfig": {
|
|
63214
|
+
"resourceType": "AWS::DataSync::LocationFSxWindows.ManagedSecretConfig",
|
|
63215
|
+
"kind": "property",
|
|
63216
|
+
"lexicon": "aws"
|
|
63217
|
+
},
|
|
63040
63218
|
"LocationFSxWindows_Tag": {
|
|
63041
63219
|
"resourceType": "AWS::DataSync::LocationFSxWindows.Tag",
|
|
63042
63220
|
"kind": "property",
|
|
@@ -63048,7 +63226,9 @@
|
|
|
63048
63226
|
"lexicon": "aws",
|
|
63049
63227
|
"attrs": {
|
|
63050
63228
|
"LocationArn": "LocationArn",
|
|
63051
|
-
"LocationUri": "LocationUri"
|
|
63229
|
+
"LocationUri": "LocationUri",
|
|
63230
|
+
"ManagedSecretConfig": "ManagedSecretConfig",
|
|
63231
|
+
"CmkSecretConfig_SecretArn": "CmkSecretConfig.SecretArn"
|
|
63052
63232
|
},
|
|
63053
63233
|
"propertyConstraints": {
|
|
63054
63234
|
"BlockSize": {
|
|
@@ -63116,6 +63296,21 @@
|
|
|
63116
63296
|
"tagUpdatable": true
|
|
63117
63297
|
}
|
|
63118
63298
|
},
|
|
63299
|
+
"LocationHDFS_CmkSecretConfig": {
|
|
63300
|
+
"resourceType": "AWS::DataSync::LocationHDFS.CmkSecretConfig",
|
|
63301
|
+
"kind": "property",
|
|
63302
|
+
"lexicon": "aws"
|
|
63303
|
+
},
|
|
63304
|
+
"LocationHDFS_CustomSecretConfig": {
|
|
63305
|
+
"resourceType": "AWS::DataSync::LocationHDFS.CustomSecretConfig",
|
|
63306
|
+
"kind": "property",
|
|
63307
|
+
"lexicon": "aws"
|
|
63308
|
+
},
|
|
63309
|
+
"LocationHDFS_ManagedSecretConfig": {
|
|
63310
|
+
"resourceType": "AWS::DataSync::LocationHDFS.ManagedSecretConfig",
|
|
63311
|
+
"kind": "property",
|
|
63312
|
+
"lexicon": "aws"
|
|
63313
|
+
},
|
|
63119
63314
|
"LocationHDFS_NameNode": {
|
|
63120
63315
|
"resourceType": "AWS::DataSync::LocationHDFS.NameNode",
|
|
63121
63316
|
"kind": "property",
|
|
@@ -63638,6 +63833,11 @@
|
|
|
63638
63833
|
"tagUpdatable": true
|
|
63639
63834
|
}
|
|
63640
63835
|
},
|
|
63836
|
+
"LogGroupNameConfiguration": {
|
|
63837
|
+
"resourceType": "AWS::ObservabilityAdmin::OrganizationCentralizationRule.LogGroupNameConfiguration",
|
|
63838
|
+
"kind": "property",
|
|
63839
|
+
"lexicon": "aws"
|
|
63840
|
+
},
|
|
63641
63841
|
"LogGroup_Tag": {
|
|
63642
63842
|
"resourceType": "AWS::Logs::LogGroup.Tag",
|
|
63643
63843
|
"kind": "property",
|
|
@@ -75337,6 +75537,11 @@
|
|
|
75337
75537
|
"kind": "property",
|
|
75338
75538
|
"lexicon": "aws"
|
|
75339
75539
|
},
|
|
75540
|
+
"OrganizationCentralizationRule_LogGroupNameConfiguration": {
|
|
75541
|
+
"resourceType": "AWS::ObservabilityAdmin::OrganizationCentralizationRule.LogGroupNameConfiguration",
|
|
75542
|
+
"kind": "property",
|
|
75543
|
+
"lexicon": "aws"
|
|
75544
|
+
},
|
|
75340
75545
|
"OrganizationCentralizationRule_LogsBackupConfiguration": {
|
|
75341
75546
|
"resourceType": "AWS::ObservabilityAdmin::OrganizationCentralizationRule.LogsBackupConfiguration",
|
|
75342
75547
|
"kind": "property",
|
|
@@ -79670,11 +79875,6 @@
|
|
|
79670
79875
|
"AssociationIdentifier"
|
|
79671
79876
|
]
|
|
79672
79877
|
},
|
|
79673
|
-
"PolicyDefinition": {
|
|
79674
|
-
"resourceType": "AWS::Bedrock::AutomatedReasoningPolicy.PolicyDefinition",
|
|
79675
|
-
"kind": "property",
|
|
79676
|
-
"lexicon": "aws"
|
|
79677
|
-
},
|
|
79678
79878
|
"PolicyDefinitionRule": {
|
|
79679
79879
|
"resourceType": "AWS::Bedrock::AutomatedReasoningPolicy.PolicyDefinitionRule",
|
|
79680
79880
|
"kind": "property",
|
|
@@ -79705,6 +79905,68 @@
|
|
|
79705
79905
|
"kind": "property",
|
|
79706
79906
|
"lexicon": "aws"
|
|
79707
79907
|
},
|
|
79908
|
+
"PolicyEngine": {
|
|
79909
|
+
"resourceType": "AWS::BedrockAgentCore::PolicyEngine",
|
|
79910
|
+
"kind": "resource",
|
|
79911
|
+
"lexicon": "aws",
|
|
79912
|
+
"attrs": {
|
|
79913
|
+
"PolicyEngineId": "PolicyEngineId",
|
|
79914
|
+
"CreatedAt": "CreatedAt",
|
|
79915
|
+
"UpdatedAt": "UpdatedAt",
|
|
79916
|
+
"PolicyEngineArn": "PolicyEngineArn",
|
|
79917
|
+
"Status": "Status",
|
|
79918
|
+
"StatusReasons": "StatusReasons"
|
|
79919
|
+
},
|
|
79920
|
+
"propertyConstraints": {
|
|
79921
|
+
"PolicyEngineId": {
|
|
79922
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_]*-[a-z0-9_]{10}$",
|
|
79923
|
+
"minLength": 12,
|
|
79924
|
+
"maxLength": 59
|
|
79925
|
+
},
|
|
79926
|
+
"Name": {
|
|
79927
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_]*$",
|
|
79928
|
+
"minLength": 1,
|
|
79929
|
+
"maxLength": 48
|
|
79930
|
+
},
|
|
79931
|
+
"Description": {
|
|
79932
|
+
"minLength": 1,
|
|
79933
|
+
"maxLength": 4096
|
|
79934
|
+
},
|
|
79935
|
+
"EncryptionKeyArn": {
|
|
79936
|
+
"pattern": "^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$",
|
|
79937
|
+
"minLength": 1,
|
|
79938
|
+
"maxLength": 2048
|
|
79939
|
+
},
|
|
79940
|
+
"CreatedAt": {
|
|
79941
|
+
"format": "date-time"
|
|
79942
|
+
},
|
|
79943
|
+
"UpdatedAt": {
|
|
79944
|
+
"format": "date-time"
|
|
79945
|
+
},
|
|
79946
|
+
"PolicyEngineArn": {
|
|
79947
|
+
"pattern": "^arn:aws[-a-z]{0,7}:bedrock-agentcore:[a-z0-9-]{9,15}:[0-9]{12}:policy-engine/[a-zA-Z][a-zA-Z0-9-_]{0,47}-[a-zA-Z0-9_]{10}$",
|
|
79948
|
+
"minLength": 76,
|
|
79949
|
+
"maxLength": 136
|
|
79950
|
+
}
|
|
79951
|
+
},
|
|
79952
|
+
"createOnly": [
|
|
79953
|
+
"Name",
|
|
79954
|
+
"EncryptionKeyArn"
|
|
79955
|
+
],
|
|
79956
|
+
"primaryIdentifier": [
|
|
79957
|
+
"PolicyEngineArn"
|
|
79958
|
+
],
|
|
79959
|
+
"tagging": {
|
|
79960
|
+
"taggable": true,
|
|
79961
|
+
"tagOnCreate": true,
|
|
79962
|
+
"tagUpdatable": true
|
|
79963
|
+
}
|
|
79964
|
+
},
|
|
79965
|
+
"PolicyEngine_Tag": {
|
|
79966
|
+
"resourceType": "AWS::BedrockAgentCore::PolicyEngine.Tag",
|
|
79967
|
+
"kind": "property",
|
|
79968
|
+
"lexicon": "aws"
|
|
79969
|
+
},
|
|
79708
79970
|
"PolicyGrant": {
|
|
79709
79971
|
"resourceType": "AWS::DataZone::PolicyGrant",
|
|
79710
79972
|
"kind": "resource",
|
|
@@ -92772,7 +93034,7 @@
|
|
|
92772
93034
|
},
|
|
92773
93035
|
"propertyConstraints": {
|
|
92774
93036
|
"Prefix": {
|
|
92775
|
-
"pattern": "^(
|
|
93037
|
+
"pattern": "^([a-z0-9]+((\\.|_|__|-+)[a-z0-9]+)*(\\/[a-z0-9]+((\\.|_|__|-+)[a-z0-9]+)*)*\\/?|ROOT)$",
|
|
92776
93038
|
"minLength": 1,
|
|
92777
93039
|
"maxLength": 256
|
|
92778
93040
|
},
|
package/src/plugin.ts
CHANGED
|
@@ -899,219 +899,50 @@ aws cloudformation wait stack-update-complete --stack-name my-app-prod`,
|
|
|
899
899
|
},
|
|
900
900
|
],
|
|
901
901
|
},
|
|
902
|
+
];
|
|
903
|
+
|
|
904
|
+
// Load file-based skills from src/skills/
|
|
905
|
+
const { readFileSync } = require("fs");
|
|
906
|
+
const { join, dirname } = require("path");
|
|
907
|
+
const { fileURLToPath } = require("url");
|
|
908
|
+
const dir = dirname(fileURLToPath(import.meta.url));
|
|
909
|
+
|
|
910
|
+
const skillFiles = [
|
|
902
911
|
{
|
|
912
|
+
file: "chant-eks.md",
|
|
903
913
|
name: "chant-eks",
|
|
904
914
|
description: "EKS end-to-end workflow — provision cluster, configure kubectl, deploy K8s workloads",
|
|
905
|
-
content: `---
|
|
906
|
-
skill: chant-eks
|
|
907
|
-
description: End-to-end EKS workflow bridging AWS infrastructure and Kubernetes workloads
|
|
908
|
-
user-invocable: true
|
|
909
|
-
---
|
|
910
|
-
|
|
911
|
-
# EKS End-to-End Workflow
|
|
912
|
-
|
|
913
|
-
## Overview
|
|
914
|
-
|
|
915
|
-
This skill bridges two lexicons:
|
|
916
|
-
- **\`@intentius/chant-lexicon-aws\`** — EKS cluster, node groups, IAM roles, OIDC provider (CloudFormation)
|
|
917
|
-
- **\`@intentius/chant-lexicon-k8s\`** — Kubernetes workloads, IRSA, ALB Ingress, storage, observability (K8s YAML)
|
|
918
|
-
|
|
919
|
-
## Architecture
|
|
920
|
-
|
|
921
|
-
\`\`\`
|
|
922
|
-
AWS Lexicon (CloudFormation) K8s Lexicon (kubectl apply)
|
|
923
|
-
┌────────────────────────┐ ┌────────────────────────────┐
|
|
924
|
-
│ VPC + Subnets │ │ NamespaceEnv (quotas) │
|
|
925
|
-
│ EKS Cluster │ │ AutoscaledService (app) │
|
|
926
|
-
│ Managed Node Group │──ARNs──→ │ IrsaServiceAccount (IRSA) │
|
|
927
|
-
│ OIDC Provider │ │ AlbIngress (ALB) │
|
|
928
|
-
│ IAM Roles (IRSA) │ │ EbsStorageClass (gp3) │
|
|
929
|
-
│ EKS Add-ons │ │ FluentBitAgent (logs) │
|
|
930
|
-
└────────────────────────┘ │ ExternalDnsAgent (DNS) │
|
|
931
|
-
└────────────────────────────┘
|
|
932
|
-
\`\`\`
|
|
933
|
-
|
|
934
|
-
## Step 1: Provision AWS Infrastructure
|
|
935
|
-
|
|
936
|
-
\`\`\`bash
|
|
937
|
-
# Build CloudFormation template
|
|
938
|
-
chant build src/infra/ --output infra.json
|
|
939
|
-
|
|
940
|
-
# Deploy
|
|
941
|
-
aws cloudformation deploy \\
|
|
942
|
-
--template-file infra.json \\
|
|
943
|
-
--stack-name my-eks-cluster \\
|
|
944
|
-
--capabilities CAPABILITY_NAMED_IAM
|
|
945
|
-
\`\`\`
|
|
946
|
-
|
|
947
|
-
Key AWS resources:
|
|
948
|
-
- **EKS Cluster** — control plane
|
|
949
|
-
- **Managed Node Group** — EC2 worker nodes
|
|
950
|
-
- **OIDC Provider** — enables IRSA (IAM Roles for Service Accounts)
|
|
951
|
-
- **IAM Roles** — node role, app IRSA roles, ALB controller role
|
|
952
|
-
|
|
953
|
-
## Step 2: Configure kubectl
|
|
954
|
-
|
|
955
|
-
\`\`\`bash
|
|
956
|
-
aws eks update-kubeconfig --name my-cluster --region us-east-1
|
|
957
|
-
kubectl get nodes # verify connectivity
|
|
958
|
-
\`\`\`
|
|
959
|
-
|
|
960
|
-
## Step 3: Deploy K8s Workloads
|
|
961
|
-
|
|
962
|
-
\`\`\`bash
|
|
963
|
-
# Build K8s manifests
|
|
964
|
-
chant build src/k8s/ --output manifests.yaml
|
|
965
|
-
|
|
966
|
-
# Apply
|
|
967
|
-
kubectl apply -f manifests.yaml
|
|
968
|
-
\`\`\`
|
|
969
|
-
|
|
970
|
-
### Key K8s composites for EKS
|
|
971
|
-
|
|
972
|
-
\`\`\`typescript
|
|
973
|
-
import {
|
|
974
|
-
NamespaceEnv,
|
|
975
|
-
AutoscaledService,
|
|
976
|
-
IrsaServiceAccount,
|
|
977
|
-
AlbIngress,
|
|
978
|
-
EbsStorageClass,
|
|
979
|
-
FluentBitAgent,
|
|
980
|
-
ExternalDnsAgent,
|
|
981
|
-
} from "@intentius/chant-lexicon-k8s";
|
|
982
|
-
|
|
983
|
-
// 1. Namespace with quotas and network isolation
|
|
984
|
-
const ns = NamespaceEnv({
|
|
985
|
-
name: "prod",
|
|
986
|
-
cpuQuota: "16",
|
|
987
|
-
memoryQuota: "32Gi",
|
|
988
|
-
defaultCpuRequest: "100m",
|
|
989
|
-
defaultMemoryRequest: "128Mi",
|
|
990
|
-
defaultDenyIngress: true,
|
|
991
|
-
});
|
|
992
|
-
|
|
993
|
-
// 2. IRSA ServiceAccount (use IAM Role ARN from CloudFormation outputs)
|
|
994
|
-
const irsa = IrsaServiceAccount({
|
|
995
|
-
name: "app-sa",
|
|
996
|
-
iamRoleArn: "arn:aws:iam::123456789012:role/app-role", // from CF output
|
|
997
|
-
namespace: "prod",
|
|
998
|
-
});
|
|
999
|
-
|
|
1000
|
-
// 3. Application with autoscaling
|
|
1001
|
-
const app = AutoscaledService({
|
|
1002
|
-
name: "api",
|
|
1003
|
-
image: "api:1.0",
|
|
1004
|
-
port: 8080,
|
|
1005
|
-
maxReplicas: 10,
|
|
1006
|
-
cpuRequest: "200m",
|
|
1007
|
-
memoryRequest: "256Mi",
|
|
1008
|
-
namespace: "prod",
|
|
1009
|
-
});
|
|
1010
|
-
|
|
1011
|
-
// 4. ALB Ingress (use ACM cert ARN from CloudFormation outputs)
|
|
1012
|
-
const ingress = AlbIngress({
|
|
1013
|
-
name: "api-ingress",
|
|
1014
|
-
hosts: [{ hostname: "api.example.com", paths: [{ path: "/", serviceName: "api", servicePort: 80 }] }],
|
|
1015
|
-
certificateArn: "arn:aws:acm:us-east-1:123456789012:certificate/abc", // from CF output
|
|
1016
|
-
namespace: "prod",
|
|
1017
|
-
});
|
|
1018
|
-
|
|
1019
|
-
// 5. Storage
|
|
1020
|
-
const storage = EbsStorageClass({ name: "gp3-encrypted", type: "gp3", encrypted: true });
|
|
1021
|
-
|
|
1022
|
-
// 6. Observability
|
|
1023
|
-
const logging = FluentBitAgent({
|
|
1024
|
-
logGroup: "/aws/eks/my-cluster/containers",
|
|
1025
|
-
region: "us-east-1",
|
|
1026
|
-
clusterName: "my-cluster",
|
|
1027
|
-
});
|
|
1028
|
-
|
|
1029
|
-
// 7. DNS
|
|
1030
|
-
const dns = ExternalDnsAgent({
|
|
1031
|
-
iamRoleArn: "arn:aws:iam::123456789012:role/external-dns-role",
|
|
1032
|
-
domainFilters: ["example.com"],
|
|
1033
|
-
});
|
|
1034
|
-
\`\`\`
|
|
1035
|
-
|
|
1036
|
-
## Step 4: Verify
|
|
1037
|
-
|
|
1038
|
-
\`\`\`bash
|
|
1039
|
-
kubectl get pods -n prod
|
|
1040
|
-
kubectl get ingress -n prod
|
|
1041
|
-
kubectl logs -n amazon-cloudwatch -l app.kubernetes.io/name=fluent-bit
|
|
1042
|
-
\`\`\`
|
|
1043
|
-
|
|
1044
|
-
## Cleanup
|
|
1045
|
-
|
|
1046
|
-
\`\`\`bash
|
|
1047
|
-
# Delete K8s workloads first
|
|
1048
|
-
kubectl delete -f manifests.yaml
|
|
1049
|
-
|
|
1050
|
-
# Then delete AWS infrastructure
|
|
1051
|
-
aws cloudformation delete-stack --stack-name my-eks-cluster
|
|
1052
|
-
aws cloudformation wait stack-delete-complete --stack-name my-eks-cluster
|
|
1053
|
-
\`\`\`
|
|
1054
|
-
|
|
1055
|
-
## Cross-Lexicon Value Flow
|
|
1056
|
-
|
|
1057
|
-
CloudFormation outputs flow into K8s composite props:
|
|
1058
|
-
|
|
1059
|
-
| CloudFormation Output | K8s Composite Prop |
|
|
1060
|
-
|----------------------|-------------------|
|
|
1061
|
-
| App IAM Role ARN | \`IrsaServiceAccount.iamRoleArn\` |
|
|
1062
|
-
| ALB Controller Role ARN | \`IrsaServiceAccount.iamRoleArn\` (for ALB controller SA) |
|
|
1063
|
-
| ACM Certificate ARN | \`AlbIngress.certificateArn\` |
|
|
1064
|
-
| ExternalDNS Role ARN | \`ExternalDnsAgent.iamRoleArn\` |
|
|
1065
|
-
| EKS Cluster Name | \`FluentBitAgent.clusterName\`, \`AdotCollector.clusterName\` |
|
|
1066
|
-
| EFS Filesystem ID | \`EfsStorageClass.fileSystemId\` |
|
|
1067
|
-
|
|
1068
|
-
## EKS Init Template
|
|
1069
|
-
|
|
1070
|
-
Scaffold a dual-lexicon EKS project:
|
|
1071
|
-
|
|
1072
|
-
\`\`\`bash
|
|
1073
|
-
chant init --lexicon aws --template eks
|
|
1074
|
-
\`\`\`
|
|
1075
|
-
|
|
1076
|
-
This creates:
|
|
1077
|
-
- \`src/infra/\` — EKS cluster, node group, IAM (AWS lexicon)
|
|
1078
|
-
- \`src/k8s/\` — namespace, app, ingress, storage (K8s lexicon)
|
|
1079
|
-
- \`package.json\` with both \`@intentius/chant-lexicon-aws\` and \`@intentius/chant-lexicon-k8s\`
|
|
1080
|
-
`,
|
|
1081
915
|
triggers: [
|
|
1082
916
|
{ type: "context", value: "eks" },
|
|
1083
917
|
{ type: "context", value: "kubernetes" },
|
|
1084
918
|
{ type: "context", value: "k8s-workloads" },
|
|
1085
919
|
],
|
|
1086
|
-
preConditions: [
|
|
1087
|
-
"AWS CLI is installed and configured",
|
|
1088
|
-
"chant CLI is installed",
|
|
1089
|
-
"kubectl is installed",
|
|
1090
|
-
],
|
|
1091
|
-
postConditions: [
|
|
1092
|
-
"EKS cluster is running",
|
|
1093
|
-
"K8s workloads are deployed",
|
|
1094
|
-
],
|
|
1095
920
|
parameters: [],
|
|
1096
921
|
examples: [
|
|
1097
922
|
{
|
|
1098
923
|
title: "Full EKS deployment",
|
|
1099
|
-
description: "Deploy infrastructure and workloads end-to-end",
|
|
1100
924
|
input: "Set up a complete EKS environment with my API",
|
|
1101
|
-
output:
|
|
1102
|
-
chant build src/infra/ --output infra.json
|
|
1103
|
-
aws cloudformation deploy --template-file infra.json --stack-name my-eks --capabilities CAPABILITY_NAMED_IAM
|
|
1104
|
-
|
|
1105
|
-
# 2. Configure kubectl
|
|
1106
|
-
aws eks update-kubeconfig --name my-cluster
|
|
1107
|
-
|
|
1108
|
-
# 3. Build and deploy workloads
|
|
1109
|
-
chant build src/k8s/ --output manifests.yaml
|
|
1110
|
-
kubectl apply -f manifests.yaml`,
|
|
925
|
+
output: "chant build src/infra/ --output infra.json && aws cloudformation deploy --template-file infra.json --stack-name my-eks --capabilities CAPABILITY_NAMED_IAM",
|
|
1111
926
|
},
|
|
1112
927
|
],
|
|
1113
928
|
},
|
|
1114
929
|
];
|
|
930
|
+
|
|
931
|
+
for (const skill of skillFiles) {
|
|
932
|
+
try {
|
|
933
|
+
const content = readFileSync(join(dir, "skills", skill.file), "utf-8");
|
|
934
|
+
skills.push({
|
|
935
|
+
name: skill.name,
|
|
936
|
+
description: skill.description,
|
|
937
|
+
content,
|
|
938
|
+
triggers: skill.triggers,
|
|
939
|
+
parameters: skill.parameters,
|
|
940
|
+
examples: skill.examples,
|
|
941
|
+
});
|
|
942
|
+
} catch { /* skip missing skills */ }
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
return skills;
|
|
1115
946
|
},
|
|
1116
947
|
|
|
1117
948
|
completionProvider(ctx: CompletionContext): CompletionItem[] {
|
|
File without changes
|